# 1 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp" # 1 "" # 1 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 1 "" 2 # 1 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp" # 11 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp" # 1 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h" 1 # 14 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h" # 1 "../../third_party/angle/include/GLES/gl.h" 1 extern "C" { # 37 "../../third_party/angle/include/GLES/gl.h" # 1 "../../third_party/angle/include/GLES/glplatform.h" 1 # 28 "../../third_party/angle/include/GLES/glplatform.h" # 1 "../../third_party/angle/include/KHR/khrplatform.h" 1 # 141 "../../third_party/angle/include/KHR/khrplatform.h" # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stdint.h" 1 3 4 # 9 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stdint.h" 3 4 # 1 "/usr/include/stdint.h" 1 3 4 # 26 "/usr/include/stdint.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 33 "/usr/include/bits/libc-header-start.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 465 "/usr/include/features.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 452 "/usr/include/sys/cdefs.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 453 "/usr/include/sys/cdefs.h" 2 3 4 # 1 "/usr/include/bits/long-double.h" 1 3 4 # 454 "/usr/include/sys/cdefs.h" 2 3 4 # 466 "/usr/include/features.h" 2 3 4 # 489 "/usr/include/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 10 "/usr/include/gnu/stubs.h" 3 4 # 1 "/usr/include/gnu/stubs-64.h" 1 3 4 # 11 "/usr/include/gnu/stubs.h" 2 3 4 # 490 "/usr/include/features.h" 2 3 4 # 34 "/usr/include/bits/libc-header-start.h" 2 3 4 # 27 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 27 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 28 "/usr/include/bits/types.h" 2 3 4 # 1 "/usr/include/bits/timesize.h" 1 3 4 # 29 "/usr/include/bits/types.h" 2 3 4 # 31 "/usr/include/bits/types.h" 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; typedef signed long int __int64_t; typedef unsigned long int __uint64_t; typedef __int8_t __int_least8_t; typedef __uint8_t __uint_least8_t; typedef __int16_t __int_least16_t; typedef __uint16_t __uint_least16_t; typedef __int32_t __int_least32_t; typedef __uint32_t __uint_least32_t; typedef __int64_t __int_least64_t; typedef __uint64_t __uint_least64_t; typedef long int __quad_t; typedef unsigned long int __u_quad_t; typedef long int __intmax_t; typedef unsigned long int __uintmax_t; # 141 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 142 "/usr/include/bits/types.h" 2 3 4 # 1 "/usr/include/bits/time64.h" 1 3 4 # 143 "/usr/include/bits/types.h" 2 3 4 typedef unsigned long int __dev_t; typedef unsigned int __uid_t; typedef unsigned int __gid_t; typedef unsigned long int __ino_t; typedef unsigned long int __ino64_t; typedef unsigned int __mode_t; typedef unsigned long int __nlink_t; typedef long int __off_t; typedef long int __off64_t; typedef int __pid_t; typedef struct { int __val[2]; } __fsid_t; typedef long int __clock_t; typedef unsigned long int __rlim_t; typedef unsigned long int __rlim64_t; typedef unsigned int __id_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef int __daddr_t; typedef int __key_t; typedef int __clockid_t; typedef void * __timer_t; typedef long int __blksize_t; typedef long int __blkcnt_t; typedef long int __blkcnt64_t; typedef unsigned long int __fsblkcnt_t; typedef unsigned long int __fsblkcnt64_t; typedef unsigned long int __fsfilcnt_t; typedef unsigned long int __fsfilcnt64_t; typedef long int __fsword_t; typedef long int __ssize_t; typedef long int __syscall_slong_t; typedef unsigned long int __syscall_ulong_t; typedef __off64_t __loff_t; typedef char *__caddr_t; typedef long int __intptr_t; typedef unsigned int __socklen_t; typedef int __sig_atomic_t; # 28 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 29 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 30 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/bits/stdint-intn.h" 1 3 4 # 24 "/usr/include/bits/stdint-intn.h" 3 4 typedef __int8_t int8_t; typedef __int16_t int16_t; typedef __int32_t int32_t; typedef __int64_t int64_t; # 35 "/usr/include/stdint.h" 2 3 4 # 1 "/usr/include/bits/stdint-uintn.h" 1 3 4 # 24 "/usr/include/bits/stdint-uintn.h" 3 4 typedef __uint8_t uint8_t; typedef __uint16_t uint16_t; typedef __uint32_t uint32_t; typedef __uint64_t uint64_t; # 38 "/usr/include/stdint.h" 2 3 4 typedef __int_least8_t int_least8_t; typedef __int_least16_t int_least16_t; typedef __int_least32_t int_least32_t; typedef __int_least64_t int_least64_t; typedef __uint_least8_t uint_least8_t; typedef __uint_least16_t uint_least16_t; typedef __uint_least32_t uint_least32_t; typedef __uint_least64_t uint_least64_t; typedef signed char int_fast8_t; typedef long int int_fast16_t; typedef long int int_fast32_t; typedef long int int_fast64_t; # 71 "/usr/include/stdint.h" 3 4 typedef unsigned char uint_fast8_t; typedef unsigned long int uint_fast16_t; typedef unsigned long int uint_fast32_t; typedef unsigned long int uint_fast64_t; # 87 "/usr/include/stdint.h" 3 4 typedef long int intptr_t; typedef unsigned long int uintptr_t; # 101 "/usr/include/stdint.h" 3 4 typedef __intmax_t intmax_t; typedef __uintmax_t uintmax_t; # 10 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stdint.h" 2 3 4 # 142 "../../third_party/angle/include/KHR/khrplatform.h" 2 # 142 "../../third_party/angle/include/KHR/khrplatform.h" typedef int32_t khronos_int32_t; typedef uint32_t khronos_uint32_t; typedef int64_t khronos_int64_t; typedef uint64_t khronos_uint64_t; # 220 "../../third_party/angle/include/KHR/khrplatform.h" typedef signed char khronos_int8_t; typedef unsigned char khronos_uint8_t; typedef signed short int khronos_int16_t; typedef unsigned short int khronos_uint16_t; # 236 "../../third_party/angle/include/KHR/khrplatform.h" typedef signed long int khronos_intptr_t; typedef unsigned long int khronos_uintptr_t; typedef signed long int khronos_ssize_t; typedef unsigned long int khronos_usize_t; typedef float khronos_float_t; # 259 "../../third_party/angle/include/KHR/khrplatform.h" typedef khronos_uint64_t khronos_utime_nanoseconds_t; typedef khronos_int64_t khronos_stime_nanoseconds_t; # 276 "../../third_party/angle/include/KHR/khrplatform.h" typedef enum { KHRONOS_FALSE = 0, KHRONOS_TRUE = 1, KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = 0x7FFFFFFF } khronos_boolean_enum_t; # 29 "../../third_party/angle/include/GLES/glplatform.h" 2 # 38 "../../third_party/angle/include/GLES/gl.h" 2 # 58 "../../third_party/angle/include/GLES/gl.h" typedef khronos_int8_t GLbyte; typedef khronos_float_t GLclampf; typedef khronos_int16_t GLshort; typedef khronos_uint16_t GLushort; typedef void GLvoid; typedef unsigned int GLenum; typedef khronos_float_t GLfloat; typedef khronos_int32_t GLfixed; typedef unsigned int GLuint; typedef khronos_ssize_t GLsizeiptr; typedef khronos_intptr_t GLintptr; typedef unsigned int GLbitfield; typedef int GLint; typedef khronos_uint8_t GLubyte; typedef unsigned char GLboolean; typedef int GLsizei; typedef khronos_int32_t GLclampx; # 408 "../../third_party/angle/include/GLES/gl.h" typedef void (* PFNGLALPHAFUNCPROC) (GLenum func, GLfloat ref); typedef void (* PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); typedef void (* PFNGLCLEARDEPTHFPROC) (GLfloat d); typedef void (* PFNGLCLIPPLANEFPROC) (GLenum p, const GLfloat *eqn); typedef void (* PFNGLCOLOR4FPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); typedef void (* PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f); typedef void (* PFNGLFOGFPROC) (GLenum pname, GLfloat param); typedef void (* PFNGLFOGFVPROC) (GLenum pname, const GLfloat *params); typedef void (* PFNGLFRUSTUMFPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); typedef void (* PFNGLGETCLIPPLANEFPROC) (GLenum plane, GLfloat *equation); typedef void (* PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data); typedef void (* PFNGLGETLIGHTFVPROC) (GLenum light, GLenum pname, GLfloat *params); typedef void (* PFNGLGETMATERIALFVPROC) (GLenum face, GLenum pname, GLfloat *params); typedef void (* PFNGLGETTEXENVFVPROC) (GLenum target, GLenum pname, GLfloat *params); typedef void (* PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); typedef void (* PFNGLLIGHTMODELFPROC) (GLenum pname, GLfloat param); typedef void (* PFNGLLIGHTMODELFVPROC) (GLenum pname, const GLfloat *params); typedef void (* PFNGLLIGHTFPROC) (GLenum light, GLenum pname, GLfloat param); typedef void (* PFNGLLIGHTFVPROC) (GLenum light, GLenum pname, const GLfloat *params); typedef void (* PFNGLLINEWIDTHPROC) (GLfloat width); typedef void (* PFNGLLOADMATRIXFPROC) (const GLfloat *m); typedef void (* PFNGLMATERIALFPROC) (GLenum face, GLenum pname, GLfloat param); typedef void (* PFNGLMATERIALFVPROC) (GLenum face, GLenum pname, const GLfloat *params); typedef void (* PFNGLMULTMATRIXFPROC) (const GLfloat *m); typedef void (* PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); typedef void (* PFNGLNORMAL3FPROC) (GLfloat nx, GLfloat ny, GLfloat nz); typedef void (* PFNGLORTHOFPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); typedef void (* PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param); typedef void (* PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params); typedef void (* PFNGLPOINTSIZEPROC) (GLfloat size); typedef void (* PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units); typedef void (* PFNGLROTATEFPROC) (GLfloat angle, GLfloat x, GLfloat y, GLfloat z); typedef void (* PFNGLSCALEFPROC) (GLfloat x, GLfloat y, GLfloat z); typedef void (* PFNGLTEXENVFPROC) (GLenum target, GLenum pname, GLfloat param); typedef void (* PFNGLTEXENVFVPROC) (GLenum target, GLenum pname, const GLfloat *params); typedef void (* PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param); typedef void (* PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); typedef void (* PFNGLTRANSLATEFPROC) (GLfloat x, GLfloat y, GLfloat z); typedef void (* PFNGLACTIVETEXTUREPROC) (GLenum texture); typedef void (* PFNGLALPHAFUNCXPROC) (GLenum func, GLfixed ref); typedef void (* PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); typedef void (* PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture); typedef void (* PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor); typedef void (* PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage); typedef void (* PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data); typedef void (* PFNGLCLEARPROC) (GLbitfield mask); typedef void (* PFNGLCLEARCOLORXPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); typedef void (* PFNGLCLEARDEPTHXPROC) (GLfixed depth); typedef void (* PFNGLCLEARSTENCILPROC) (GLint s); typedef void (* PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture); typedef void (* PFNGLCLIPPLANEXPROC) (GLenum plane, const GLfixed *equation); typedef void (* PFNGLCOLOR4UBPROC) (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); typedef void (* PFNGLCOLOR4XPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); typedef void (* PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); typedef void (* PFNGLCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer); typedef void (* PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); typedef void (* PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); typedef void (* PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); typedef void (* PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (* PFNGLCULLFACEPROC) (GLenum mode); typedef void (* PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers); typedef void (* PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures); typedef void (* PFNGLDEPTHFUNCPROC) (GLenum func); typedef void (* PFNGLDEPTHMASKPROC) (GLboolean flag); typedef void (* PFNGLDEPTHRANGEXPROC) (GLfixed n, GLfixed f); typedef void (* PFNGLDISABLEPROC) (GLenum cap); typedef void (* PFNGLDISABLECLIENTSTATEPROC) (GLenum array); typedef void (* PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count); typedef void (* PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices); typedef void (* PFNGLENABLEPROC) (GLenum cap); typedef void (* PFNGLENABLECLIENTSTATEPROC) (GLenum array); typedef void (* PFNGLFINISHPROC) (void); typedef void (* PFNGLFLUSHPROC) (void); typedef void (* PFNGLFOGXPROC) (GLenum pname, GLfixed param); typedef void (* PFNGLFOGXVPROC) (GLenum pname, const GLfixed *param); typedef void (* PFNGLFRONTFACEPROC) (GLenum mode); typedef void (* PFNGLFRUSTUMXPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); typedef void (* PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data); typedef void (* PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETCLIPPLANEXPROC) (GLenum plane, GLfixed *equation); typedef void (* PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers); typedef void (* PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures); typedef GLenum (* PFNGLGETERRORPROC) (void); typedef void (* PFNGLGETFIXEDVPROC) (GLenum pname, GLfixed *params); typedef void (* PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data); typedef void (* PFNGLGETLIGHTXVPROC) (GLenum light, GLenum pname, GLfixed *params); typedef void (* PFNGLGETMATERIALXVPROC) (GLenum face, GLenum pname, GLfixed *params); typedef void (* PFNGLGETPOINTERVPROC) (GLenum pname, void **params); typedef const GLubyte *(* PFNGLGETSTRINGPROC) (GLenum name); typedef void (* PFNGLGETTEXENVIVPROC) (GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETTEXENVXVPROC) (GLenum target, GLenum pname, GLfixed *params); typedef void (* PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETTEXPARAMETERXVPROC) (GLenum target, GLenum pname, GLfixed *params); typedef void (* PFNGLHINTPROC) (GLenum target, GLenum mode); typedef GLboolean (* PFNGLISBUFFERPROC) (GLuint buffer); typedef GLboolean (* PFNGLISENABLEDPROC) (GLenum cap); typedef GLboolean (* PFNGLISTEXTUREPROC) (GLuint texture); typedef void (* PFNGLLIGHTMODELXPROC) (GLenum pname, GLfixed param); typedef void (* PFNGLLIGHTMODELXVPROC) (GLenum pname, const GLfixed *param); typedef void (* PFNGLLIGHTXPROC) (GLenum light, GLenum pname, GLfixed param); typedef void (* PFNGLLIGHTXVPROC) (GLenum light, GLenum pname, const GLfixed *params); typedef void (* PFNGLLINEWIDTHXPROC) (GLfixed width); typedef void (* PFNGLLOADIDENTITYPROC) (void); typedef void (* PFNGLLOADMATRIXXPROC) (const GLfixed *m); typedef void (* PFNGLLOGICOPPROC) (GLenum opcode); typedef void (* PFNGLMATERIALXPROC) (GLenum face, GLenum pname, GLfixed param); typedef void (* PFNGLMATERIALXVPROC) (GLenum face, GLenum pname, const GLfixed *param); typedef void (* PFNGLMATRIXMODEPROC) (GLenum mode); typedef void (* PFNGLMULTMATRIXXPROC) (const GLfixed *m); typedef void (* PFNGLMULTITEXCOORD4XPROC) (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q); typedef void (* PFNGLNORMAL3XPROC) (GLfixed nx, GLfixed ny, GLfixed nz); typedef void (* PFNGLNORMALPOINTERPROC) (GLenum type, GLsizei stride, const void *pointer); typedef void (* PFNGLORTHOXPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); typedef void (* PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param); typedef void (* PFNGLPOINTPARAMETERXPROC) (GLenum pname, GLfixed param); typedef void (* PFNGLPOINTPARAMETERXVPROC) (GLenum pname, const GLfixed *params); typedef void (* PFNGLPOINTSIZEXPROC) (GLfixed size); typedef void (* PFNGLPOLYGONOFFSETXPROC) (GLfixed factor, GLfixed units); typedef void (* PFNGLPOPMATRIXPROC) (void); typedef void (* PFNGLPUSHMATRIXPROC) (void); typedef void (* PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); typedef void (* PFNGLROTATEXPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); typedef void (* PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert); typedef void (* PFNGLSAMPLECOVERAGEXPROC) (GLclampx value, GLboolean invert); typedef void (* PFNGLSCALEXPROC) (GLfixed x, GLfixed y, GLfixed z); typedef void (* PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height); typedef void (* PFNGLSHADEMODELPROC) (GLenum mode); typedef void (* PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask); typedef void (* PFNGLSTENCILMASKPROC) (GLuint mask); typedef void (* PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass); typedef void (* PFNGLTEXCOORDPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer); typedef void (* PFNGLTEXENVIPROC) (GLenum target, GLenum pname, GLint param); typedef void (* PFNGLTEXENVXPROC) (GLenum target, GLenum pname, GLfixed param); typedef void (* PFNGLTEXENVIVPROC) (GLenum target, GLenum pname, const GLint *params); typedef void (* PFNGLTEXENVXVPROC) (GLenum target, GLenum pname, const GLfixed *params); typedef void (* PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); typedef void (* PFNGLTEXPARAMETERXPROC) (GLenum target, GLenum pname, GLfixed param); typedef void (* PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); typedef void (* PFNGLTEXPARAMETERXVPROC) (GLenum target, GLenum pname, const GLfixed *params); typedef void (* PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLTRANSLATEXPROC) (GLfixed x, GLfixed y, GLfixed z); typedef void (* PFNGLVERTEXPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer); typedef void (* PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glAlphaFunc (GLenum func, GLfloat ref); __attribute__((visibility("default"))) void glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); __attribute__((visibility("default"))) void glClearDepthf (GLfloat d); __attribute__((visibility("default"))) void glClipPlanef (GLenum p, const GLfloat *eqn); __attribute__((visibility("default"))) void glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); __attribute__((visibility("default"))) void glDepthRangef (GLfloat n, GLfloat f); __attribute__((visibility("default"))) void glFogf (GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glFogfv (GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glFrustumf (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); __attribute__((visibility("default"))) void glGetClipPlanef (GLenum plane, GLfloat *equation); __attribute__((visibility("default"))) void glGetFloatv (GLenum pname, GLfloat *data); __attribute__((visibility("default"))) void glGetLightfv (GLenum light, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glLightModelf (GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glLightModelfv (GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glLightf (GLenum light, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glLightfv (GLenum light, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glLineWidth (GLfloat width); __attribute__((visibility("default"))) void glLoadMatrixf (const GLfloat *m); __attribute__((visibility("default"))) void glMaterialf (GLenum face, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glMaterialfv (GLenum face, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glMultMatrixf (const GLfloat *m); __attribute__((visibility("default"))) void glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); __attribute__((visibility("default"))) void glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz); __attribute__((visibility("default"))) void glOrthof (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); __attribute__((visibility("default"))) void glPointParameterf (GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glPointParameterfv (GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glPointSize (GLfloat size); __attribute__((visibility("default"))) void glPolygonOffset (GLfloat factor, GLfloat units); __attribute__((visibility("default"))) void glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void glScalef (GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void glTexEnvf (GLenum target, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glTexParameterf (GLenum target, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glTranslatef (GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void glActiveTexture (GLenum texture); __attribute__((visibility("default"))) void glAlphaFuncx (GLenum func, GLfixed ref); __attribute__((visibility("default"))) void glBindBuffer (GLenum target, GLuint buffer); __attribute__((visibility("default"))) void glBindTexture (GLenum target, GLuint texture); __attribute__((visibility("default"))) void glBlendFunc (GLenum sfactor, GLenum dfactor); __attribute__((visibility("default"))) void glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage); __attribute__((visibility("default"))) void glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data); __attribute__((visibility("default"))) void glClear (GLbitfield mask); __attribute__((visibility("default"))) void glClearColorx (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); __attribute__((visibility("default"))) void glClearDepthx (GLfixed depth); __attribute__((visibility("default"))) void glClearStencil (GLint s); __attribute__((visibility("default"))) void glClientActiveTexture (GLenum texture); __attribute__((visibility("default"))) void glClipPlanex (GLenum plane, const GLfixed *equation); __attribute__((visibility("default"))) void glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); __attribute__((visibility("default"))) void glColor4x (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); __attribute__((visibility("default"))) void glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); __attribute__((visibility("default"))) void glColorPointer (GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); __attribute__((visibility("default"))) void glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glCullFace (GLenum mode); __attribute__((visibility("default"))) void glDeleteBuffers (GLsizei n, const GLuint *buffers); __attribute__((visibility("default"))) void glDeleteTextures (GLsizei n, const GLuint *textures); __attribute__((visibility("default"))) void glDepthFunc (GLenum func); __attribute__((visibility("default"))) void glDepthMask (GLboolean flag); __attribute__((visibility("default"))) void glDepthRangex (GLfixed n, GLfixed f); __attribute__((visibility("default"))) void glDisable (GLenum cap); __attribute__((visibility("default"))) void glDisableClientState (GLenum array); __attribute__((visibility("default"))) void glDrawArrays (GLenum mode, GLint first, GLsizei count); __attribute__((visibility("default"))) void glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices); __attribute__((visibility("default"))) void glEnable (GLenum cap); __attribute__((visibility("default"))) void glEnableClientState (GLenum array); __attribute__((visibility("default"))) void glFinish (void); __attribute__((visibility("default"))) void glFlush (void); __attribute__((visibility("default"))) void glFogx (GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glFogxv (GLenum pname, const GLfixed *param); __attribute__((visibility("default"))) void glFrontFace (GLenum mode); __attribute__((visibility("default"))) void glFrustumx (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); __attribute__((visibility("default"))) void glGetBooleanv (GLenum pname, GLboolean *data); __attribute__((visibility("default"))) void glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetClipPlanex (GLenum plane, GLfixed *equation); __attribute__((visibility("default"))) void glGenBuffers (GLsizei n, GLuint *buffers); __attribute__((visibility("default"))) void glGenTextures (GLsizei n, GLuint *textures); __attribute__((visibility("default"))) GLenum glGetError (void); __attribute__((visibility("default"))) void glGetFixedv (GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glGetIntegerv (GLenum pname, GLint *data); __attribute__((visibility("default"))) void glGetLightxv (GLenum light, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glGetMaterialxv (GLenum face, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glGetPointerv (GLenum pname, void **params); __attribute__((visibility("default"))) const GLubyte * glGetString (GLenum name); __attribute__((visibility("default"))) void glGetTexEnviv (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetTexEnvxv (GLenum target, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glGetTexParameteriv (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetTexParameterxv (GLenum target, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glHint (GLenum target, GLenum mode); __attribute__((visibility("default"))) GLboolean glIsBuffer (GLuint buffer); __attribute__((visibility("default"))) GLboolean glIsEnabled (GLenum cap); __attribute__((visibility("default"))) GLboolean glIsTexture (GLuint texture); __attribute__((visibility("default"))) void glLightModelx (GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glLightModelxv (GLenum pname, const GLfixed *param); __attribute__((visibility("default"))) void glLightx (GLenum light, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glLightxv (GLenum light, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glLineWidthx (GLfixed width); __attribute__((visibility("default"))) void glLoadIdentity (void); __attribute__((visibility("default"))) void glLoadMatrixx (const GLfixed *m); __attribute__((visibility("default"))) void glLogicOp (GLenum opcode); __attribute__((visibility("default"))) void glMaterialx (GLenum face, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glMaterialxv (GLenum face, GLenum pname, const GLfixed *param); __attribute__((visibility("default"))) void glMatrixMode (GLenum mode); __attribute__((visibility("default"))) void glMultMatrixx (const GLfixed *m); __attribute__((visibility("default"))) void glMultiTexCoord4x (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q); __attribute__((visibility("default"))) void glNormal3x (GLfixed nx, GLfixed ny, GLfixed nz); __attribute__((visibility("default"))) void glNormalPointer (GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glOrthox (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); __attribute__((visibility("default"))) void glPixelStorei (GLenum pname, GLint param); __attribute__((visibility("default"))) void glPointParameterx (GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glPointParameterxv (GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glPointSizex (GLfixed size); __attribute__((visibility("default"))) void glPolygonOffsetx (GLfixed factor, GLfixed units); __attribute__((visibility("default"))) void glPopMatrix (void); __attribute__((visibility("default"))) void glPushMatrix (void); __attribute__((visibility("default"))) void glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); __attribute__((visibility("default"))) void glRotatex (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); __attribute__((visibility("default"))) void glSampleCoverage (GLfloat value, GLboolean invert); __attribute__((visibility("default"))) void glSampleCoveragex (GLclampx value, GLboolean invert); __attribute__((visibility("default"))) void glScalex (GLfixed x, GLfixed y, GLfixed z); __attribute__((visibility("default"))) void glScissor (GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glShadeModel (GLenum mode); __attribute__((visibility("default"))) void glStencilFunc (GLenum func, GLint ref, GLuint mask); __attribute__((visibility("default"))) void glStencilMask (GLuint mask); __attribute__((visibility("default"))) void glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); __attribute__((visibility("default"))) void glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glTexEnvi (GLenum target, GLenum pname, GLint param); __attribute__((visibility("default"))) void glTexEnvx (GLenum target, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glTexEnviv (GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glTexEnvxv (GLenum target, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glTexParameteri (GLenum target, GLenum pname, GLint param); __attribute__((visibility("default"))) void glTexParameterx (GLenum target, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glTexParameteriv (GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glTexParameterxv (GLenum target, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glTranslatex (GLfixed x, GLfixed y, GLfixed z); __attribute__((visibility("default"))) void glVertexPointer (GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glViewport (GLint x, GLint y, GLsizei width, GLsizei height); # 721 "../../third_party/angle/include/GLES/gl.h" typedef void (* PFNGLPOINTSIZEPOINTEROESPROC) (GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glPointSizePointerOES (GLenum type, GLsizei stride, const void *pointer); # 740 "../../third_party/angle/include/GLES/gl.h" } # 15 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h" 2 # 1 "../../third_party/angle/include/GLES/glext.h" 1 extern "C" { # 55 "../../third_party/angle/include/GLES/glext.h" typedef void *GLeglImageOES; typedef void (* PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); typedef void (* PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); __attribute__((visibility("default"))) void glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); __attribute__((visibility("default"))) void glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); typedef void (* PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha); __attribute__((visibility("default"))) void glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha); # 80 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); __attribute__((visibility("default"))) void glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); # 92 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLBLENDEQUATIONOESPROC) (GLenum mode); __attribute__((visibility("default"))) void glBlendEquationOES (GLenum mode); # 124 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); typedef void (* PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height); typedef void (* PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); typedef void (* PFNGLDRAWTEXSVOESPROC) (const GLshort *coords); typedef void (* PFNGLDRAWTEXIVOESPROC) (const GLint *coords); typedef void (* PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords); typedef void (* PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); typedef void (* PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords); __attribute__((visibility("default"))) void glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); __attribute__((visibility("default"))) void glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height); __attribute__((visibility("default"))) void glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); __attribute__((visibility("default"))) void glDrawTexsvOES (const GLshort *coords); __attribute__((visibility("default"))) void glDrawTexivOES (const GLint *coords); __attribute__((visibility("default"))) void glDrawTexxvOES (const GLfixed *coords); __attribute__((visibility("default"))) void glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); __attribute__((visibility("default"))) void glDrawTexfvOES (const GLfloat *coords); # 160 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLALPHAFUNCXOESPROC) (GLenum func, GLfixed ref); typedef void (* PFNGLCLEARCOLORXOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); typedef void (* PFNGLCLEARDEPTHXOESPROC) (GLfixed depth); typedef void (* PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation); typedef void (* PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); typedef void (* PFNGLDEPTHRANGEXOESPROC) (GLfixed n, GLfixed f); typedef void (* PFNGLFOGXOESPROC) (GLenum pname, GLfixed param); typedef void (* PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *param); typedef void (* PFNGLFRUSTUMXOESPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); typedef void (* PFNGLGETCLIPPLANEXOESPROC) (GLenum plane, GLfixed *equation); typedef void (* PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params); typedef void (* PFNGLGETTEXENVXVOESPROC) (GLenum target, GLenum pname, GLfixed *params); typedef void (* PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params); typedef void (* PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param); typedef void (* PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *param); typedef void (* PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param); typedef void (* PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params); typedef void (* PFNGLLINEWIDTHXOESPROC) (GLfixed width); typedef void (* PFNGLLOADMATRIXXOESPROC) (const GLfixed *m); typedef void (* PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param); typedef void (* PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *param); typedef void (* PFNGLMULTMATRIXXOESPROC) (const GLfixed *m); typedef void (* PFNGLMULTITEXCOORD4XOESPROC) (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q); typedef void (* PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz); typedef void (* PFNGLORTHOXOESPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); typedef void (* PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params); typedef void (* PFNGLPOINTSIZEXOESPROC) (GLfixed size); typedef void (* PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units); typedef void (* PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); typedef void (* PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); typedef void (* PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param); typedef void (* PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params); typedef void (* PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param); typedef void (* PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params); typedef void (* PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); typedef void (* PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params); typedef void (* PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params); typedef void (* PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param); typedef void (* PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert); typedef void (* PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params); typedef void (* PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param); typedef void (* PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glAlphaFuncxOES (GLenum func, GLfixed ref); __attribute__((visibility("default"))) void glClearColorxOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); __attribute__((visibility("default"))) void glClearDepthxOES (GLfixed depth); __attribute__((visibility("default"))) void glClipPlanexOES (GLenum plane, const GLfixed *equation); __attribute__((visibility("default"))) void glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); __attribute__((visibility("default"))) void glDepthRangexOES (GLfixed n, GLfixed f); __attribute__((visibility("default"))) void glFogxOES (GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glFogxvOES (GLenum pname, const GLfixed *param); __attribute__((visibility("default"))) void glFrustumxOES (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); __attribute__((visibility("default"))) void glGetClipPlanexOES (GLenum plane, GLfixed *equation); __attribute__((visibility("default"))) void glGetFixedvOES (GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glGetTexEnvxvOES (GLenum target, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glLightModelxOES (GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glLightModelxvOES (GLenum pname, const GLfixed *param); __attribute__((visibility("default"))) void glLightxOES (GLenum light, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glLightxvOES (GLenum light, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glLineWidthxOES (GLfixed width); __attribute__((visibility("default"))) void glLoadMatrixxOES (const GLfixed *m); __attribute__((visibility("default"))) void glMaterialxOES (GLenum face, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *param); __attribute__((visibility("default"))) void glMultMatrixxOES (const GLfixed *m); __attribute__((visibility("default"))) void glMultiTexCoord4xOES (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q); __attribute__((visibility("default"))) void glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz); __attribute__((visibility("default"))) void glOrthoxOES (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); __attribute__((visibility("default"))) void glPointParameterxvOES (GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glPointSizexOES (GLfixed size); __attribute__((visibility("default"))) void glPolygonOffsetxOES (GLfixed factor, GLfixed units); __attribute__((visibility("default"))) void glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); __attribute__((visibility("default"))) void glScalexOES (GLfixed x, GLfixed y, GLfixed z); __attribute__((visibility("default"))) void glTexEnvxOES (GLenum target, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glTexParameterxOES (GLenum target, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glTranslatexOES (GLfixed x, GLfixed y, GLfixed z); __attribute__((visibility("default"))) void glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glPointParameterxOES (GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glSampleCoveragexOES (GLclampx value, GLboolean invert); __attribute__((visibility("default"))) void glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glTexGenxOES (GLenum coord, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params); # 283 "../../third_party/angle/include/GLES/glext.h" typedef GLboolean (* PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer); typedef void (* PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer); typedef void (* PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint *renderbuffers); typedef void (* PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint *renderbuffers); typedef void (* PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint *params); typedef GLboolean (* PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer); typedef void (* PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer); typedef void (* PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint *framebuffers); typedef void (* PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint *framebuffers); typedef GLenum (* PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target); typedef void (* PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); typedef void (* PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); typedef void (* PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params); typedef void (* PFNGLGENERATEMIPMAPOESPROC) (GLenum target); __attribute__((visibility("default"))) GLboolean glIsRenderbufferOES (GLuint renderbuffer); __attribute__((visibility("default"))) void glBindRenderbufferOES (GLenum target, GLuint renderbuffer); __attribute__((visibility("default"))) void glDeleteRenderbuffersOES (GLsizei n, const GLuint *renderbuffers); __attribute__((visibility("default"))) void glGenRenderbuffersOES (GLsizei n, GLuint *renderbuffers); __attribute__((visibility("default"))) void glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLboolean glIsFramebufferOES (GLuint framebuffer); __attribute__((visibility("default"))) void glBindFramebufferOES (GLenum target, GLuint framebuffer); __attribute__((visibility("default"))) void glDeleteFramebuffersOES (GLsizei n, const GLuint *framebuffers); __attribute__((visibility("default"))) void glGenFramebuffersOES (GLsizei n, GLuint *framebuffers); __attribute__((visibility("default"))) GLenum glCheckFramebufferStatusOES (GLenum target); __attribute__((visibility("default"))) void glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); __attribute__((visibility("default"))) void glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); __attribute__((visibility("default"))) void glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGenerateMipmapOES (GLenum target); # 323 "../../third_party/angle/include/GLES/glext.h" typedef void *(* PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); typedef GLboolean (* PFNGLUNMAPBUFFEROESPROC) (GLenum target); typedef void (* PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void **params); __attribute__((visibility("default"))) void * glMapBufferOES (GLenum target, GLenum access); __attribute__((visibility("default"))) GLboolean glUnmapBufferOES (GLenum target); __attribute__((visibility("default"))) void glGetBufferPointervOES (GLenum target, GLenum pname, void **params); # 358 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex); typedef void (* PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void); typedef void (* PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer); typedef void (* PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glCurrentPaletteMatrixOES (GLuint matrixpaletteindex); __attribute__((visibility("default"))) void glLoadPaletteFromModelViewMatrixOES (void); __attribute__((visibility("default"))) void glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const void *pointer); # 379 "../../third_party/angle/include/GLES/glext.h" typedef GLbitfield (* PFNGLQUERYMATRIXXOESPROC) (GLfixed *mantissa, GLint *exponent); __attribute__((visibility("default"))) GLbitfield glQueryMatrixxOES (GLfixed *mantissa, GLint *exponent); # 403 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLCLEARDEPTHFOESPROC) (GLclampf depth); typedef void (* PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation); typedef void (* PFNGLDEPTHRANGEFOESPROC) (GLclampf n, GLclampf f); typedef void (* PFNGLFRUSTUMFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); typedef void (* PFNGLGETCLIPPLANEFOESPROC) (GLenum plane, GLfloat *equation); typedef void (* PFNGLORTHOFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); __attribute__((visibility("default"))) void glClearDepthfOES (GLclampf depth); __attribute__((visibility("default"))) void glClipPlanefOES (GLenum plane, const GLfloat *equation); __attribute__((visibility("default"))) void glDepthRangefOES (GLclampf n, GLclampf f); __attribute__((visibility("default"))) void glFrustumfOES (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); __attribute__((visibility("default"))) void glGetClipPlanefOES (GLenum plane, GLfloat *equation); __attribute__((visibility("default"))) void glOrthofOES (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); # 460 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param); typedef void (* PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params); typedef void (* PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param); typedef void (* PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params); typedef void (* PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params); typedef void (* PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glTexGenfOES (GLenum coord, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glTexGeniOES (GLenum coord, GLenum pname, GLint param); __attribute__((visibility("default"))) void glTexGenivOES (GLenum coord, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params); # 492 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); typedef void (* PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); typedef void (* PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); typedef GLboolean (* PFNGLISVERTEXARRAYOESPROC) (GLuint array); __attribute__((visibility("default"))) void glBindVertexArrayOES (GLuint array); __attribute__((visibility("default"))) void glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); __attribute__((visibility("default"))) void glGenVertexArraysOES (GLsizei n, GLuint *arrays); __attribute__((visibility("default"))) GLboolean glIsVertexArrayOES (GLuint array); # 519 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); __attribute__((visibility("default"))) void glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); # 534 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); __attribute__((visibility("default"))) void glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glResolveMultisampleFramebufferAPPLE (void); typedef struct __GLsync *GLsync; typedef khronos_uint64_t GLuint64; typedef khronos_int64_t GLint64; # 563 "../../third_party/angle/include/GLES/glext.h" typedef GLsync (* PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags); typedef GLboolean (* PFNGLISSYNCAPPLEPROC) (GLsync sync); typedef void (* PFNGLDELETESYNCAPPLEPROC) (GLsync sync); typedef GLenum (* PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); typedef void (* PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); typedef void (* PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params); typedef void (* PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); __attribute__((visibility("default"))) GLsync glFenceSyncAPPLE (GLenum condition, GLbitfield flags); __attribute__((visibility("default"))) GLboolean glIsSyncAPPLE (GLsync sync); __attribute__((visibility("default"))) void glDeleteSyncAPPLE (GLsync sync); __attribute__((visibility("default"))) GLenum glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); __attribute__((visibility("default"))) void glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); __attribute__((visibility("default"))) void glGetInteger64vAPPLE (GLenum pname, GLint64 *params); __attribute__((visibility("default"))) void glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); # 608 "../../third_party/angle/include/GLES/glext.h" typedef char GLchar; typedef void (* PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); typedef void (* PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); typedef void (* PFNGLPOPGROUPMARKEREXTPROC) (void); __attribute__((visibility("default"))) void glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); __attribute__((visibility("default"))) void glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); __attribute__((visibility("default"))) void glPopGroupMarkerEXT (void); # 624 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); __attribute__((visibility("default"))) void glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); # 638 "../../third_party/angle/include/GLES/glext.h" typedef void *(* PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); typedef void (* PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length); __attribute__((visibility("default"))) void * glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); __attribute__((visibility("default"))) void glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length); typedef void (* PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); typedef void (* PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount); __attribute__((visibility("default"))) void glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); __attribute__((visibility("default"))) void glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount); # 662 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); __attribute__((visibility("default"))) void glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); # 685 "../../third_party/angle/include/GLES/glext.h" typedef GLenum (* PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); typedef void (* PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); typedef void (* PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); typedef void (* PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); __attribute__((visibility("default"))) GLenum glGetGraphicsResetStatusEXT (void); __attribute__((visibility("default"))) void glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); __attribute__((visibility("default"))) void glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); __attribute__((visibility("default"))) void glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params); # 750 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); typedef void (* PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); typedef void (* PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); typedef void (* PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); __attribute__((visibility("default"))) void glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); __attribute__((visibility("default"))) void glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); __attribute__((visibility("default"))) void glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); __attribute__((visibility("default"))) void glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); # 772 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); __attribute__((visibility("default"))) void glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); # 814 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLCLIPPLANEFIMGPROC) (GLenum p, const GLfloat *eqn); typedef void (* PFNGLCLIPPLANEXIMGPROC) (GLenum p, const GLfixed *eqn); __attribute__((visibility("default"))) void glClipPlanefIMG (GLenum p, const GLfloat *eqn); __attribute__((visibility("default"))) void glClipPlanexIMG (GLenum p, const GLfixed *eqn); # 827 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); typedef void (* PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); typedef GLboolean (* PFNGLISFENCENVPROC) (GLuint fence); typedef GLboolean (* PFNGLTESTFENCENVPROC) (GLuint fence); typedef void (* PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); typedef void (* PFNGLFINISHFENCENVPROC) (GLuint fence); typedef void (* PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); __attribute__((visibility("default"))) void glDeleteFencesNV (GLsizei n, const GLuint *fences); __attribute__((visibility("default"))) void glGenFencesNV (GLsizei n, GLuint *fences); __attribute__((visibility("default"))) GLboolean glIsFenceNV (GLuint fence); __attribute__((visibility("default"))) GLboolean glTestFenceNV (GLuint fence); __attribute__((visibility("default"))) void glGetFenceivNV (GLuint fence, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glFinishFenceNV (GLuint fence); __attribute__((visibility("default"))) void glSetFenceNV (GLuint fence, GLenum condition); typedef void (* PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); typedef void (* PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); typedef void (* PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); typedef void (* PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); __attribute__((visibility("default"))) void glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); __attribute__((visibility("default"))) void glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); __attribute__((visibility("default"))) void glEnableDriverControlQCOM (GLuint driverControl); __attribute__((visibility("default"))) void glDisableDriverControlQCOM (GLuint driverControl); # 872 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); typedef void (* PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); typedef void (* PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); typedef void (* PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); typedef void (* PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); typedef void (* PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); typedef void (* PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels); typedef void (* PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, void **params); __attribute__((visibility("default"))) void glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); __attribute__((visibility("default"))) void glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); __attribute__((visibility("default"))) void glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); __attribute__((visibility("default"))) void glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); __attribute__((visibility("default"))) void glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); __attribute__((visibility("default"))) void glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels); __attribute__((visibility("default"))) void glExtGetBufferPointervQCOM (GLenum target, void **params); typedef void (* PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); typedef void (* PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); typedef GLboolean (* PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); typedef void (* PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); __attribute__((visibility("default"))) void glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); __attribute__((visibility("default"))) void glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); __attribute__((visibility("default"))) GLboolean glExtIsProgramBinaryQCOM (GLuint program); __attribute__((visibility("default"))) void glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); # 945 "../../third_party/angle/include/GLES/glext.h" typedef void (* PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); typedef void (* PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); __attribute__((visibility("default"))) void glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); __attribute__((visibility("default"))) void glEndTilingQCOM (GLbitfield preserveMask); # 959 "../../third_party/angle/include/GLES/glext.h" # 1 "../../third_party/angle/include/GLES/glext_angle.h" 1 # 17 "../../third_party/angle/include/GLES/glext_angle.h" typedef void *GLeglContext; # 1 "../../third_party/angle/include/GLES/glext_explicit_context_autogen.inc" 1 # 11 "../../third_party/angle/include/GLES/glext_explicit_context_autogen.inc" typedef void (* PFNGLALPHAFUNCCONTEXTANGLEPROC)(GLeglContext ctx, GLenum func, GLfloat ref); typedef void (* PFNGLALPHAFUNCXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum func, GLfixed ref); typedef void (* PFNGLCLEARCOLORXCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); typedef void (* PFNGLCLEARDEPTHXCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed depth); typedef void (* PFNGLCLIENTACTIVETEXTURECONTEXTANGLEPROC)(GLeglContext ctx, GLenum texture); typedef void (* PFNGLCLIPPLANEFCONTEXTANGLEPROC)(GLeglContext ctx, GLenum p, const GLfloat *eqn); typedef void (* PFNGLCLIPPLANEXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum plane, const GLfixed *equation); typedef void (* PFNGLCOLOR4FCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); typedef void (* PFNGLCOLOR4UBCONTEXTANGLEPROC)(GLeglContext ctx, GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); typedef void (* PFNGLCOLOR4XCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); typedef void (* PFNGLCOLORPOINTERCONTEXTANGLEPROC)(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); typedef void (* PFNGLDEPTHRANGEXCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed n, GLfixed f); typedef void (* PFNGLDISABLECLIENTSTATECONTEXTANGLEPROC)(GLeglContext ctx, GLenum array); typedef void (* PFNGLENABLECLIENTSTATECONTEXTANGLEPROC)(GLeglContext ctx, GLenum array); typedef void (* PFNGLFOGFCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLfloat param); typedef void (* PFNGLFOGFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, const GLfloat *params); typedef void (* PFNGLFOGXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLfixed param); typedef void (* PFNGLFOGXVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, const GLfixed *param); typedef void (* PFNGLFRUSTUMFCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); typedef void (* PFNGLFRUSTUMXCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); typedef void (* PFNGLGETCLIPPLANEFCONTEXTANGLEPROC)(GLeglContext ctx, GLenum plane, GLfloat *equation); typedef void (* PFNGLGETCLIPPLANEXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum plane, GLfixed *equation); typedef void (* PFNGLGETFIXEDVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLfixed *params); typedef void (* PFNGLGETLIGHTFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum light, GLenum pname, GLfloat *params); typedef void (* PFNGLGETLIGHTXVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum light, GLenum pname, GLfixed *params); typedef void (* PFNGLGETMATERIALFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum face, GLenum pname, GLfloat *params); typedef void (* PFNGLGETMATERIALXVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum face, GLenum pname, GLfixed *params); typedef void (* PFNGLGETTEXENVFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLfloat *params); typedef void (* PFNGLGETTEXENVIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETTEXENVXVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLfixed *params); typedef void (* PFNGLGETTEXPARAMETERXVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLfixed *params); typedef void (* PFNGLLIGHTMODELFCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLfloat param); typedef void (* PFNGLLIGHTMODELFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, const GLfloat *params); typedef void (* PFNGLLIGHTMODELXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLfixed param); typedef void (* PFNGLLIGHTMODELXVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, const GLfixed *param); typedef void (* PFNGLLIGHTFCONTEXTANGLEPROC)(GLeglContext ctx, GLenum light, GLenum pname, GLfloat param); typedef void (* PFNGLLIGHTFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum light, GLenum pname, const GLfloat *params); typedef void (* PFNGLLIGHTXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum light, GLenum pname, GLfixed param); typedef void (* PFNGLLIGHTXVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum light, GLenum pname, const GLfixed *params); typedef void (* PFNGLLINEWIDTHXCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed width); typedef void (* PFNGLLOADIDENTITYCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLLOADMATRIXFCONTEXTANGLEPROC)(GLeglContext ctx, const GLfloat *m); typedef void (* PFNGLLOADMATRIXXCONTEXTANGLEPROC)(GLeglContext ctx, const GLfixed *m); typedef void (* PFNGLLOGICOPCONTEXTANGLEPROC)(GLeglContext ctx, GLenum opcode); typedef void (* PFNGLMATERIALFCONTEXTANGLEPROC)(GLeglContext ctx, GLenum face, GLenum pname, GLfloat param); typedef void (* PFNGLMATERIALFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum face, GLenum pname, const GLfloat *params); typedef void (* PFNGLMATERIALXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum face, GLenum pname, GLfixed param); typedef void (* PFNGLMATERIALXVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum face, GLenum pname, const GLfixed *param); typedef void (* PFNGLMATRIXMODECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode); typedef void (* PFNGLMULTMATRIXFCONTEXTANGLEPROC)(GLeglContext ctx, const GLfloat *m); typedef void (* PFNGLMULTMATRIXXCONTEXTANGLEPROC)(GLeglContext ctx, const GLfixed *m); typedef void (* PFNGLMULTITEXCOORD4FCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); typedef void (* PFNGLMULTITEXCOORD4XCONTEXTANGLEPROC)(GLeglContext ctx, GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q); typedef void (* PFNGLNORMAL3FCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat nx, GLfloat ny, GLfloat nz); typedef void (* PFNGLNORMAL3XCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed nx, GLfixed ny, GLfixed nz); typedef void (* PFNGLNORMALPOINTERCONTEXTANGLEPROC)(GLeglContext ctx, GLenum type, GLsizei stride, const void *pointer); typedef void (* PFNGLORTHOFCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); typedef void (* PFNGLORTHOXCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); typedef void (* PFNGLPOINTPARAMETERFCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLfloat param); typedef void (* PFNGLPOINTPARAMETERFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, const GLfloat *params); typedef void (* PFNGLPOINTPARAMETERXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLfixed param); typedef void (* PFNGLPOINTPARAMETERXVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, const GLfixed *params); typedef void (* PFNGLPOINTSIZECONTEXTANGLEPROC)(GLeglContext ctx, GLfloat size); typedef void (* PFNGLPOINTSIZEXCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed size); typedef void (* PFNGLPOLYGONOFFSETXCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed factor, GLfixed units); typedef void (* PFNGLPOPMATRIXCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLPUSHMATRIXCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLROTATEFCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); typedef void (* PFNGLROTATEXCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed angle, GLfixed x, GLfixed y, GLfixed z); typedef void (* PFNGLSAMPLECOVERAGEXCONTEXTANGLEPROC)(GLeglContext ctx, GLclampx value, GLboolean invert); typedef void (* PFNGLSCALEFCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat x, GLfloat y, GLfloat z); typedef void (* PFNGLSCALEXCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed x, GLfixed y, GLfixed z); typedef void (* PFNGLSHADEMODELCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode); typedef void (* PFNGLTEXCOORDPOINTERCONTEXTANGLEPROC)(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); typedef void (* PFNGLTEXENVFCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLfloat param); typedef void (* PFNGLTEXENVFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, const GLfloat *params); typedef void (* PFNGLTEXENVICONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint param); typedef void (* PFNGLTEXENVIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, const GLint *params); typedef void (* PFNGLTEXENVXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLfixed param); typedef void (* PFNGLTEXENVXVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, const GLfixed *params); typedef void (* PFNGLTEXPARAMETERXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLfixed param); typedef void (* PFNGLTEXPARAMETERXVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, const GLfixed *params); typedef void (* PFNGLTRANSLATEFCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat x, GLfloat y, GLfloat z); typedef void (* PFNGLTRANSLATEXCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed x, GLfixed y, GLfixed z); typedef void (* PFNGLVERTEXPOINTERCONTEXTANGLEPROC)(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); typedef void (* PFNGLBINDFRAMEBUFFEROESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint framebuffer); typedef void (* PFNGLBINDRENDERBUFFEROESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint renderbuffer); typedef GLenum (* PFNGLCHECKFRAMEBUFFERSTATUSOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target); typedef void (* PFNGLCURRENTPALETTEMATRIXOESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint matrixpaletteindex); typedef void (* PFNGLDELETEFRAMEBUFFERSOESCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *framebuffers); typedef void (* PFNGLDELETERENDERBUFFERSOESCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *renderbuffers); typedef void (* PFNGLDRAWTEXFOESCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); typedef void (* PFNGLDRAWTEXFVOESCONTEXTANGLEPROC)(GLeglContext ctx, const GLfloat *coords); typedef void (* PFNGLDRAWTEXIOESCONTEXTANGLEPROC)(GLeglContext ctx, GLint x, GLint y, GLint z, GLint width, GLint height); typedef void (* PFNGLDRAWTEXIVOESCONTEXTANGLEPROC)(GLeglContext ctx, const GLint *coords); typedef void (* PFNGLDRAWTEXSOESCONTEXTANGLEPROC)(GLeglContext ctx, GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); typedef void (* PFNGLDRAWTEXSVOESCONTEXTANGLEPROC)(GLeglContext ctx, const GLshort *coords); typedef void (* PFNGLDRAWTEXXOESCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); typedef void (* PFNGLDRAWTEXXVOESCONTEXTANGLEPROC)(GLeglContext ctx, const GLfixed *coords); typedef void (* PFNGLFRAMEBUFFERRENDERBUFFEROESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); typedef void (* PFNGLFRAMEBUFFERTEXTURE2DOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); typedef void (* PFNGLGENFRAMEBUFFERSOESCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *framebuffers); typedef void (* PFNGLGENRENDERBUFFERSOESCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *renderbuffers); typedef void (* PFNGLGENERATEMIPMAPOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target); typedef void (* PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLenum pname, GLint *params); typedef void (* PFNGLGETRENDERBUFFERPARAMETERIVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETTEXGENFVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum coord, GLenum pname, GLfloat *params); typedef void (* PFNGLGETTEXGENIVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum coord, GLenum pname, GLint *params); typedef void (* PFNGLGETTEXGENXVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum coord, GLenum pname, GLfixed *params); typedef GLboolean (* PFNGLISFRAMEBUFFEROESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint framebuffer); typedef GLboolean (* PFNGLISRENDERBUFFEROESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint renderbuffer); typedef void (* PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLMATRIXINDEXPOINTEROESCONTEXTANGLEPROC)(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); typedef void (* PFNGLPOINTSIZEPOINTEROESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum type, GLsizei stride, const void *pointer); typedef GLbitfield (* PFNGLQUERYMATRIXXOESCONTEXTANGLEPROC)(GLeglContext ctx, GLfixed *mantissa, GLint *exponent); typedef void (* PFNGLRENDERBUFFERSTORAGEOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLTEXGENFOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum coord, GLenum pname, GLfloat param); typedef void (* PFNGLTEXGENFVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum coord, GLenum pname, const GLfloat *params); typedef void (* PFNGLTEXGENIOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum coord, GLenum pname, GLint param); typedef void (* PFNGLTEXGENIVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum coord, GLenum pname, const GLint *params); typedef void (* PFNGLTEXGENXOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum coord, GLenum pname, GLfixed param); typedef void (* PFNGLTEXGENXVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum coord, GLenum pname, const GLfixed *params); typedef void (* PFNGLWEIGHTPOINTEROESCONTEXTANGLEPROC)(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glAlphaFuncContextANGLE(GLeglContext ctx, GLenum func, GLfloat ref); __attribute__((visibility("default"))) void glAlphaFuncxContextANGLE(GLeglContext ctx, GLenum func, GLfixed ref); __attribute__((visibility("default"))) void glClearColorxContextANGLE(GLeglContext ctx, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); __attribute__((visibility("default"))) void glClearDepthxContextANGLE(GLeglContext ctx, GLfixed depth); __attribute__((visibility("default"))) void glClientActiveTextureContextANGLE(GLeglContext ctx, GLenum texture); __attribute__((visibility("default"))) void glClipPlanefContextANGLE(GLeglContext ctx, GLenum p, const GLfloat *eqn); __attribute__((visibility("default"))) void glClipPlanexContextANGLE(GLeglContext ctx, GLenum plane, const GLfixed *equation); __attribute__((visibility("default"))) void glColor4fContextANGLE(GLeglContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); __attribute__((visibility("default"))) void glColor4ubContextANGLE(GLeglContext ctx, GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); __attribute__((visibility("default"))) void glColor4xContextANGLE(GLeglContext ctx, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); __attribute__((visibility("default"))) void glColorPointerContextANGLE(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glDepthRangexContextANGLE(GLeglContext ctx, GLfixed n, GLfixed f); __attribute__((visibility("default"))) void glDisableClientStateContextANGLE(GLeglContext ctx, GLenum array); __attribute__((visibility("default"))) void glEnableClientStateContextANGLE(GLeglContext ctx, GLenum array); __attribute__((visibility("default"))) void glFogfContextANGLE(GLeglContext ctx, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glFogfvContextANGLE(GLeglContext ctx, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glFogxContextANGLE(GLeglContext ctx, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glFogxvContextANGLE(GLeglContext ctx, GLenum pname, const GLfixed *param); __attribute__((visibility("default"))) void glFrustumfContextANGLE(GLeglContext ctx, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); __attribute__((visibility("default"))) void glFrustumxContextANGLE(GLeglContext ctx, GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); __attribute__((visibility("default"))) void glGetClipPlanefContextANGLE(GLeglContext ctx, GLenum plane, GLfloat *equation); __attribute__((visibility("default"))) void glGetClipPlanexContextANGLE(GLeglContext ctx, GLenum plane, GLfixed *equation); __attribute__((visibility("default"))) void glGetFixedvContextANGLE(GLeglContext ctx, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glGetLightfvContextANGLE(GLeglContext ctx, GLenum light, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetLightxvContextANGLE(GLeglContext ctx, GLenum light, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glGetMaterialfvContextANGLE(GLeglContext ctx, GLenum face, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetMaterialxvContextANGLE(GLeglContext ctx, GLenum face, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glGetTexEnvfvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetTexEnvivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetTexEnvxvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glGetTexParameterxvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void glLightModelfContextANGLE(GLeglContext ctx, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glLightModelfvContextANGLE(GLeglContext ctx, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glLightModelxContextANGLE(GLeglContext ctx, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glLightModelxvContextANGLE(GLeglContext ctx, GLenum pname, const GLfixed *param); __attribute__((visibility("default"))) void glLightfContextANGLE(GLeglContext ctx, GLenum light, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glLightfvContextANGLE(GLeglContext ctx, GLenum light, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glLightxContextANGLE(GLeglContext ctx, GLenum light, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glLightxvContextANGLE(GLeglContext ctx, GLenum light, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glLineWidthxContextANGLE(GLeglContext ctx, GLfixed width); __attribute__((visibility("default"))) void glLoadIdentityContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glLoadMatrixfContextANGLE(GLeglContext ctx, const GLfloat *m); __attribute__((visibility("default"))) void glLoadMatrixxContextANGLE(GLeglContext ctx, const GLfixed *m); __attribute__((visibility("default"))) void glLogicOpContextANGLE(GLeglContext ctx, GLenum opcode); __attribute__((visibility("default"))) void glMaterialfContextANGLE(GLeglContext ctx, GLenum face, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glMaterialfvContextANGLE(GLeglContext ctx, GLenum face, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glMaterialxContextANGLE(GLeglContext ctx, GLenum face, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glMaterialxvContextANGLE(GLeglContext ctx, GLenum face, GLenum pname, const GLfixed *param); __attribute__((visibility("default"))) void glMatrixModeContextANGLE(GLeglContext ctx, GLenum mode); __attribute__((visibility("default"))) void glMultMatrixfContextANGLE(GLeglContext ctx, const GLfloat *m); __attribute__((visibility("default"))) void glMultMatrixxContextANGLE(GLeglContext ctx, const GLfixed *m); __attribute__((visibility("default"))) void glMultiTexCoord4fContextANGLE(GLeglContext ctx, GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); __attribute__((visibility("default"))) void glMultiTexCoord4xContextANGLE(GLeglContext ctx, GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q); __attribute__((visibility("default"))) void glNormal3fContextANGLE(GLeglContext ctx, GLfloat nx, GLfloat ny, GLfloat nz); __attribute__((visibility("default"))) void glNormal3xContextANGLE(GLeglContext ctx, GLfixed nx, GLfixed ny, GLfixed nz); __attribute__((visibility("default"))) void glNormalPointerContextANGLE(GLeglContext ctx, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glOrthofContextANGLE(GLeglContext ctx, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); __attribute__((visibility("default"))) void glOrthoxContextANGLE(GLeglContext ctx, GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); __attribute__((visibility("default"))) void glPointParameterfContextANGLE(GLeglContext ctx, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glPointParameterfvContextANGLE(GLeglContext ctx, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glPointParameterxContextANGLE(GLeglContext ctx, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glPointParameterxvContextANGLE(GLeglContext ctx, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glPointSizeContextANGLE(GLeglContext ctx, GLfloat size); __attribute__((visibility("default"))) void glPointSizexContextANGLE(GLeglContext ctx, GLfixed size); __attribute__((visibility("default"))) void glPolygonOffsetxContextANGLE(GLeglContext ctx, GLfixed factor, GLfixed units); __attribute__((visibility("default"))) void glPopMatrixContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glPushMatrixContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glRotatefContextANGLE(GLeglContext ctx, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void glRotatexContextANGLE(GLeglContext ctx, GLfixed angle, GLfixed x, GLfixed y, GLfixed z); __attribute__((visibility("default"))) void glSampleCoveragexContextANGLE(GLeglContext ctx, GLclampx value, GLboolean invert); __attribute__((visibility("default"))) void glScalefContextANGLE(GLeglContext ctx, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void glScalexContextANGLE(GLeglContext ctx, GLfixed x, GLfixed y, GLfixed z); __attribute__((visibility("default"))) void glShadeModelContextANGLE(GLeglContext ctx, GLenum mode); __attribute__((visibility("default"))) void glTexCoordPointerContextANGLE(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glTexEnvfContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glTexEnvfvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glTexEnviContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint param); __attribute__((visibility("default"))) void glTexEnvivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glTexEnvxContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glTexEnvxvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glTexParameterxContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glTexParameterxvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glTranslatefContextANGLE(GLeglContext ctx, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void glTranslatexContextANGLE(GLeglContext ctx, GLfixed x, GLfixed y, GLfixed z); __attribute__((visibility("default"))) void glVertexPointerContextANGLE(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glBindFramebufferOESContextANGLE(GLeglContext ctx, GLenum target, GLuint framebuffer); __attribute__((visibility("default"))) void glBindRenderbufferOESContextANGLE(GLeglContext ctx, GLenum target, GLuint renderbuffer); __attribute__((visibility("default"))) GLenum glCheckFramebufferStatusOESContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void glCurrentPaletteMatrixOESContextANGLE(GLeglContext ctx, GLuint matrixpaletteindex); __attribute__((visibility("default"))) void glDeleteFramebuffersOESContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *framebuffers); __attribute__((visibility("default"))) void glDeleteRenderbuffersOESContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *renderbuffers); __attribute__((visibility("default"))) void glDrawTexfOESContextANGLE(GLeglContext ctx, GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); __attribute__((visibility("default"))) void glDrawTexfvOESContextANGLE(GLeglContext ctx, const GLfloat *coords); __attribute__((visibility("default"))) void glDrawTexiOESContextANGLE(GLeglContext ctx, GLint x, GLint y, GLint z, GLint width, GLint height); __attribute__((visibility("default"))) void glDrawTexivOESContextANGLE(GLeglContext ctx, const GLint *coords); __attribute__((visibility("default"))) void glDrawTexsOESContextANGLE(GLeglContext ctx, GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); __attribute__((visibility("default"))) void glDrawTexsvOESContextANGLE(GLeglContext ctx, const GLshort *coords); __attribute__((visibility("default"))) void glDrawTexxOESContextANGLE(GLeglContext ctx, GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); __attribute__((visibility("default"))) void glDrawTexxvOESContextANGLE(GLeglContext ctx, const GLfixed *coords); __attribute__((visibility("default"))) void glFramebufferRenderbufferOESContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); __attribute__((visibility("default"))) void glFramebufferTexture2DOESContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); __attribute__((visibility("default"))) void glGenFramebuffersOESContextANGLE(GLeglContext ctx, GLsizei n, GLuint *framebuffers); __attribute__((visibility("default"))) void glGenRenderbuffersOESContextANGLE(GLeglContext ctx, GLsizei n, GLuint *renderbuffers); __attribute__((visibility("default"))) void glGenerateMipmapOESContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void glGetFramebufferAttachmentParameterivOESContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetRenderbufferParameterivOESContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetTexGenfvOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetTexGenivOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetTexGenxvOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) GLboolean glIsFramebufferOESContextANGLE(GLeglContext ctx, GLuint framebuffer); __attribute__((visibility("default"))) GLboolean glIsRenderbufferOESContextANGLE(GLeglContext ctx, GLuint renderbuffer); __attribute__((visibility("default"))) void glLoadPaletteFromModelViewMatrixOESContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glMatrixIndexPointerOESContextANGLE(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glPointSizePointerOESContextANGLE(GLeglContext ctx, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) GLbitfield glQueryMatrixxOESContextANGLE(GLeglContext ctx, GLfixed *mantissa, GLint *exponent); __attribute__((visibility("default"))) void glRenderbufferStorageOESContextANGLE(GLeglContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glTexGenfOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glTexGenfvOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glTexGeniOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, GLint param); __attribute__((visibility("default"))) void glTexGenivOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glTexGenxOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void glTexGenxvOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void glWeightPointerOESContextANGLE(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); # 19 "../../third_party/angle/include/GLES/glext_angle.h" 2 # 960 "../../third_party/angle/include/GLES/glext.h" 2 } # 16 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h" 2 # 1 "../../third_party/angle/include/GLES2/gl2.h" 1 extern "C" { # 37 "../../third_party/angle/include/GLES2/gl2.h" # 1 "../../third_party/angle/include/GLES2/gl2platform.h" 1 # 38 "../../third_party/angle/include/GLES2/gl2.h" 2 # 62 "../../third_party/angle/include/GLES2/gl2.h" typedef khronos_int8_t GLbyte; typedef khronos_float_t GLclampf; typedef khronos_int32_t GLfixed; typedef short GLshort; typedef unsigned short GLushort; typedef void GLvoid; typedef struct __GLsync *GLsync; typedef khronos_int64_t GLint64; typedef khronos_uint64_t GLuint64; typedef unsigned int GLenum; typedef unsigned int GLuint; typedef char GLchar; typedef khronos_float_t GLfloat; typedef khronos_ssize_t GLsizeiptr; typedef khronos_intptr_t GLintptr; typedef unsigned int GLbitfield; typedef int GLint; typedef unsigned char GLboolean; typedef int GLsizei; typedef khronos_uint8_t GLubyte; # 383 "../../third_party/angle/include/GLES2/gl2.h" typedef void (* PFNGLACTIVETEXTUREPROC) (GLenum texture); typedef void (* PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); typedef void (* PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name); typedef void (* PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); typedef void (* PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer); typedef void (* PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer); typedef void (* PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture); typedef void (* PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); typedef void (* PFNGLBLENDEQUATIONPROC) (GLenum mode); typedef void (* PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha); typedef void (* PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor); typedef void (* PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); typedef void (* PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage); typedef void (* PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data); typedef GLenum (* PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target); typedef void (* PFNGLCLEARPROC) (GLbitfield mask); typedef void (* PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); typedef void (* PFNGLCLEARDEPTHFPROC) (GLfloat d); typedef void (* PFNGLCLEARSTENCILPROC) (GLint s); typedef void (* PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); typedef void (* PFNGLCOMPILESHADERPROC) (GLuint shader); typedef void (* PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); typedef void (* PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); typedef void (* PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); typedef void (* PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef GLuint (* PFNGLCREATEPROGRAMPROC) (void); typedef GLuint (* PFNGLCREATESHADERPROC) (GLenum type); typedef void (* PFNGLCULLFACEPROC) (GLenum mode); typedef void (* PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers); typedef void (* PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers); typedef void (* PFNGLDELETEPROGRAMPROC) (GLuint program); typedef void (* PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers); typedef void (* PFNGLDELETESHADERPROC) (GLuint shader); typedef void (* PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures); typedef void (* PFNGLDEPTHFUNCPROC) (GLenum func); typedef void (* PFNGLDEPTHMASKPROC) (GLboolean flag); typedef void (* PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f); typedef void (* PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); typedef void (* PFNGLDISABLEPROC) (GLenum cap); typedef void (* PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index); typedef void (* PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count); typedef void (* PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices); typedef void (* PFNGLENABLEPROC) (GLenum cap); typedef void (* PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index); typedef void (* PFNGLFINISHPROC) (void); typedef void (* PFNGLFLUSHPROC) (void); typedef void (* PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); typedef void (* PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); typedef void (* PFNGLFRONTFACEPROC) (GLenum mode); typedef void (* PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers); typedef void (* PFNGLGENERATEMIPMAPPROC) (GLenum target); typedef void (* PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers); typedef void (* PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers); typedef void (* PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures); typedef void (* PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); typedef void (* PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); typedef void (* PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); typedef GLint (* PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name); typedef void (* PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data); typedef void (* PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); typedef GLenum (* PFNGLGETERRORPROC) (void); typedef void (* PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data); typedef void (* PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params); typedef void (* PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data); typedef void (* PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params); typedef void (* PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); typedef void (* PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params); typedef void (* PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); typedef void (* PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); typedef void (* PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); typedef const GLubyte *(* PFNGLGETSTRINGPROC) (GLenum name); typedef void (* PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); typedef void (* PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params); typedef void (* PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params); typedef GLint (* PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name); typedef void (* PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params); typedef void (* PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params); typedef void (* PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer); typedef void (* PFNGLHINTPROC) (GLenum target, GLenum mode); typedef GLboolean (* PFNGLISBUFFERPROC) (GLuint buffer); typedef GLboolean (* PFNGLISENABLEDPROC) (GLenum cap); typedef GLboolean (* PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer); typedef GLboolean (* PFNGLISPROGRAMPROC) (GLuint program); typedef GLboolean (* PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer); typedef GLboolean (* PFNGLISSHADERPROC) (GLuint shader); typedef GLboolean (* PFNGLISTEXTUREPROC) (GLuint texture); typedef void (* PFNGLLINEWIDTHPROC) (GLfloat width); typedef void (* PFNGLLINKPROGRAMPROC) (GLuint program); typedef void (* PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param); typedef void (* PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units); typedef void (* PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); typedef void (* PFNGLRELEASESHADERCOMPILERPROC) (void); typedef void (* PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert); typedef void (* PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height); typedef void (* PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length); typedef void (* PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); typedef void (* PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask); typedef void (* PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask); typedef void (* PFNGLSTENCILMASKPROC) (GLuint mask); typedef void (* PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask); typedef void (* PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass); typedef void (* PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); typedef void (* PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param); typedef void (* PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); typedef void (* PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); typedef void (* PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); typedef void (* PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); typedef void (* PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLUNIFORM1IPROC) (GLint location, GLint v0); typedef void (* PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); typedef void (* PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); typedef void (* PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); typedef void (* PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); typedef void (* PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); typedef void (* PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); typedef void (* PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUSEPROGRAMPROC) (GLuint program); typedef void (* PFNGLVALIDATEPROGRAMPROC) (GLuint program); typedef void (* PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); typedef void (* PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v); typedef void (* PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); typedef void (* PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v); typedef void (* PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); typedef void (* PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v); typedef void (* PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (* PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v); typedef void (* PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); typedef void (* PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glActiveTexture (GLenum texture); __attribute__((visibility("default"))) void glAttachShader (GLuint program, GLuint shader); __attribute__((visibility("default"))) void glBindAttribLocation (GLuint program, GLuint index, const GLchar *name); __attribute__((visibility("default"))) void glBindBuffer (GLenum target, GLuint buffer); __attribute__((visibility("default"))) void glBindFramebuffer (GLenum target, GLuint framebuffer); __attribute__((visibility("default"))) void glBindRenderbuffer (GLenum target, GLuint renderbuffer); __attribute__((visibility("default"))) void glBindTexture (GLenum target, GLuint texture); __attribute__((visibility("default"))) void glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); __attribute__((visibility("default"))) void glBlendEquation (GLenum mode); __attribute__((visibility("default"))) void glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); __attribute__((visibility("default"))) void glBlendFunc (GLenum sfactor, GLenum dfactor); __attribute__((visibility("default"))) void glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); __attribute__((visibility("default"))) void glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage); __attribute__((visibility("default"))) void glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data); __attribute__((visibility("default"))) GLenum glCheckFramebufferStatus (GLenum target); __attribute__((visibility("default"))) void glClear (GLbitfield mask); __attribute__((visibility("default"))) void glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); __attribute__((visibility("default"))) void glClearDepthf (GLfloat d); __attribute__((visibility("default"))) void glClearStencil (GLint s); __attribute__((visibility("default"))) void glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); __attribute__((visibility("default"))) void glCompileShader (GLuint shader); __attribute__((visibility("default"))) void glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); __attribute__((visibility("default"))) void glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) GLuint glCreateProgram (void); __attribute__((visibility("default"))) GLuint glCreateShader (GLenum type); __attribute__((visibility("default"))) void glCullFace (GLenum mode); __attribute__((visibility("default"))) void glDeleteBuffers (GLsizei n, const GLuint *buffers); __attribute__((visibility("default"))) void glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers); __attribute__((visibility("default"))) void glDeleteProgram (GLuint program); __attribute__((visibility("default"))) void glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers); __attribute__((visibility("default"))) void glDeleteShader (GLuint shader); __attribute__((visibility("default"))) void glDeleteTextures (GLsizei n, const GLuint *textures); __attribute__((visibility("default"))) void glDepthFunc (GLenum func); __attribute__((visibility("default"))) void glDepthMask (GLboolean flag); __attribute__((visibility("default"))) void glDepthRangef (GLfloat n, GLfloat f); __attribute__((visibility("default"))) void glDetachShader (GLuint program, GLuint shader); __attribute__((visibility("default"))) void glDisable (GLenum cap); __attribute__((visibility("default"))) void glDisableVertexAttribArray (GLuint index); __attribute__((visibility("default"))) void glDrawArrays (GLenum mode, GLint first, GLsizei count); __attribute__((visibility("default"))) void glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices); __attribute__((visibility("default"))) void glEnable (GLenum cap); __attribute__((visibility("default"))) void glEnableVertexAttribArray (GLuint index); __attribute__((visibility("default"))) void glFinish (void); __attribute__((visibility("default"))) void glFlush (void); __attribute__((visibility("default"))) void glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); __attribute__((visibility("default"))) void glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); __attribute__((visibility("default"))) void glFrontFace (GLenum mode); __attribute__((visibility("default"))) void glGenBuffers (GLsizei n, GLuint *buffers); __attribute__((visibility("default"))) void glGenerateMipmap (GLenum target); __attribute__((visibility("default"))) void glGenFramebuffers (GLsizei n, GLuint *framebuffers); __attribute__((visibility("default"))) void glGenRenderbuffers (GLsizei n, GLuint *renderbuffers); __attribute__((visibility("default"))) void glGenTextures (GLsizei n, GLuint *textures); __attribute__((visibility("default"))) void glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); __attribute__((visibility("default"))) void glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); __attribute__((visibility("default"))) void glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); __attribute__((visibility("default"))) GLint glGetAttribLocation (GLuint program, const GLchar *name); __attribute__((visibility("default"))) void glGetBooleanv (GLenum pname, GLboolean *data); __attribute__((visibility("default"))) void glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLenum glGetError (void); __attribute__((visibility("default"))) void glGetFloatv (GLenum pname, GLfloat *data); __attribute__((visibility("default"))) void glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetIntegerv (GLenum pname, GLint *data); __attribute__((visibility("default"))) void glGetProgramiv (GLuint program, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); __attribute__((visibility("default"))) void glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetShaderiv (GLuint shader, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); __attribute__((visibility("default"))) void glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); __attribute__((visibility("default"))) void glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); __attribute__((visibility("default"))) const GLubyte * glGetString (GLenum name); __attribute__((visibility("default"))) void glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetTexParameteriv (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetUniformfv (GLuint program, GLint location, GLfloat *params); __attribute__((visibility("default"))) void glGetUniformiv (GLuint program, GLint location, GLint *params); __attribute__((visibility("default"))) GLint glGetUniformLocation (GLuint program, const GLchar *name); __attribute__((visibility("default"))) void glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer); __attribute__((visibility("default"))) void glHint (GLenum target, GLenum mode); __attribute__((visibility("default"))) GLboolean glIsBuffer (GLuint buffer); __attribute__((visibility("default"))) GLboolean glIsEnabled (GLenum cap); __attribute__((visibility("default"))) GLboolean glIsFramebuffer (GLuint framebuffer); __attribute__((visibility("default"))) GLboolean glIsProgram (GLuint program); __attribute__((visibility("default"))) GLboolean glIsRenderbuffer (GLuint renderbuffer); __attribute__((visibility("default"))) GLboolean glIsShader (GLuint shader); __attribute__((visibility("default"))) GLboolean glIsTexture (GLuint texture); __attribute__((visibility("default"))) void glLineWidth (GLfloat width); __attribute__((visibility("default"))) void glLinkProgram (GLuint program); __attribute__((visibility("default"))) void glPixelStorei (GLenum pname, GLint param); __attribute__((visibility("default"))) void glPolygonOffset (GLfloat factor, GLfloat units); __attribute__((visibility("default"))) void glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); __attribute__((visibility("default"))) void glReleaseShaderCompiler (void); __attribute__((visibility("default"))) void glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glSampleCoverage (GLfloat value, GLboolean invert); __attribute__((visibility("default"))) void glScissor (GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length); __attribute__((visibility("default"))) void glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); __attribute__((visibility("default"))) void glStencilFunc (GLenum func, GLint ref, GLuint mask); __attribute__((visibility("default"))) void glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); __attribute__((visibility("default"))) void glStencilMask (GLuint mask); __attribute__((visibility("default"))) void glStencilMaskSeparate (GLenum face, GLuint mask); __attribute__((visibility("default"))) void glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); __attribute__((visibility("default"))) void glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); __attribute__((visibility("default"))) void glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glTexParameterf (GLenum target, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glTexParameteri (GLenum target, GLenum pname, GLint param); __attribute__((visibility("default"))) void glTexParameteriv (GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glUniform1f (GLint location, GLfloat v0); __attribute__((visibility("default"))) void glUniform1fv (GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glUniform1i (GLint location, GLint v0); __attribute__((visibility("default"))) void glUniform1iv (GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glUniform2f (GLint location, GLfloat v0, GLfloat v1); __attribute__((visibility("default"))) void glUniform2fv (GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glUniform2i (GLint location, GLint v0, GLint v1); __attribute__((visibility("default"))) void glUniform2iv (GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); __attribute__((visibility("default"))) void glUniform3fv (GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glUniform3i (GLint location, GLint v0, GLint v1, GLint v2); __attribute__((visibility("default"))) void glUniform3iv (GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); __attribute__((visibility("default"))) void glUniform4fv (GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); __attribute__((visibility("default"))) void glUniform4iv (GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUseProgram (GLuint program); __attribute__((visibility("default"))) void glValidateProgram (GLuint program); __attribute__((visibility("default"))) void glVertexAttrib1f (GLuint index, GLfloat x); __attribute__((visibility("default"))) void glVertexAttrib1fv (GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y); __attribute__((visibility("default"))) void glVertexAttrib2fv (GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void glVertexAttrib3fv (GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); __attribute__((visibility("default"))) void glVertexAttrib4fv (GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glViewport (GLint x, GLint y, GLsizei width, GLsizei height); } # 17 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h" 2 # 1 "../../third_party/angle/include/GLES2/gl2ext.h" 1 extern "C" { # 70 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLBLENDBARRIERKHRPROC) (void); __attribute__((visibility("default"))) void glBlendBarrierKHR (void); # 89 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void ( *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); # 131 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); typedef void (* PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); typedef void (* PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam); typedef GLuint (* PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); typedef void (* PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message); typedef void (* PFNGLPOPDEBUGGROUPKHRPROC) (void); typedef void (* PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); typedef void (* PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); typedef void (* PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label); typedef void (* PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); typedef void (* PFNGLGETPOINTERVKHRPROC) (GLenum pname, void **params); __attribute__((visibility("default"))) void glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); __attribute__((visibility("default"))) void glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); __attribute__((visibility("default"))) void glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam); __attribute__((visibility("default"))) GLuint glGetDebugMessageLogKHR (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); __attribute__((visibility("default"))) void glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message); __attribute__((visibility("default"))) void glPopDebugGroupKHR (void); __attribute__((visibility("default"))) void glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void glGetPointervKHR (GLenum pname, void **params); # 166 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLMAXSHADERCOMPILERTHREADSKHRPROC) (GLuint count); __attribute__((visibility("default"))) void glMaxShaderCompilerThreadsKHR (GLuint count); # 186 "../../third_party/angle/include/GLES2/gl2ext.h" typedef GLenum (* PFNGLGETGRAPHICSRESETSTATUSKHRPROC) (void); typedef void (* PFNGLREADNPIXELSKHRPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); typedef void (* PFNGLGETNUNIFORMFVKHRPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); typedef void (* PFNGLGETNUNIFORMIVKHRPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); typedef void (* PFNGLGETNUNIFORMUIVKHRPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params); __attribute__((visibility("default"))) GLenum glGetGraphicsResetStatusKHR (void); __attribute__((visibility("default"))) void glReadnPixelsKHR (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); __attribute__((visibility("default"))) void glGetnUniformfvKHR (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); __attribute__((visibility("default"))) void glGetnUniformivKHR (GLuint program, GLint location, GLsizei bufSize, GLint *params); __attribute__((visibility("default"))) void glGetnUniformuivKHR (GLuint program, GLint location, GLsizei bufSize, GLuint *params); # 288 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLCOPYIMAGESUBDATAOESPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); __attribute__((visibility("default"))) void glCopyImageSubDataOES (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); # 312 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLENABLEIOESPROC) (GLenum target, GLuint index); typedef void (* PFNGLDISABLEIOESPROC) (GLenum target, GLuint index); typedef void (* PFNGLBLENDEQUATIONIOESPROC) (GLuint buf, GLenum mode); typedef void (* PFNGLBLENDEQUATIONSEPARATEIOESPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); typedef void (* PFNGLBLENDFUNCIOESPROC) (GLuint buf, GLenum src, GLenum dst); typedef void (* PFNGLBLENDFUNCSEPARATEIOESPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); typedef void (* PFNGLCOLORMASKIOESPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); typedef GLboolean (* PFNGLISENABLEDIOESPROC) (GLenum target, GLuint index); __attribute__((visibility("default"))) void glEnableiOES (GLenum target, GLuint index); __attribute__((visibility("default"))) void glDisableiOES (GLenum target, GLuint index); __attribute__((visibility("default"))) void glBlendEquationiOES (GLuint buf, GLenum mode); __attribute__((visibility("default"))) void glBlendEquationSeparateiOES (GLuint buf, GLenum modeRGB, GLenum modeAlpha); __attribute__((visibility("default"))) void glBlendFunciOES (GLuint buf, GLenum src, GLenum dst); __attribute__((visibility("default"))) void glBlendFuncSeparateiOES (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); __attribute__((visibility("default"))) void glColorMaskiOES (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); __attribute__((visibility("default"))) GLboolean glIsEnablediOES (GLenum target, GLuint index); typedef void (* PFNGLDRAWELEMENTSBASEVERTEXOESPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); typedef void (* PFNGLDRAWRANGEELEMENTSBASEVERTEXOESPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); typedef void (* PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXOESPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); typedef void (* PFNGLMULTIDRAWELEMENTSBASEVERTEXEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount, const GLint *basevertex); __attribute__((visibility("default"))) void glDrawElementsBaseVertexOES (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void glDrawRangeElementsBaseVertexOES (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void glDrawElementsInstancedBaseVertexOES (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); __attribute__((visibility("default"))) void glMultiDrawElementsBaseVertexEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount, const GLint *basevertex); # 397 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLFRAMEBUFFERTEXTUREOESPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); __attribute__((visibility("default"))) void glFramebufferTextureOES (GLenum target, GLenum attachment, GLuint texture, GLint level); # 408 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); typedef void (* PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLint length); __attribute__((visibility("default"))) void glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); __attribute__((visibility("default"))) void glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length); # 446 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLPRIMITIVEBOUNDINGBOXOESPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); __attribute__((visibility("default"))) void glPrimitiveBoundingBoxOES (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); # 476 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLMINSAMPLESHADINGOESPROC) (GLfloat value); __attribute__((visibility("default"))) void glMinSampleShadingOES (GLfloat value); # 570 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLPATCHPARAMETERIOESPROC) (GLenum pname, GLint value); __attribute__((visibility("default"))) void glPatchParameteriOES (GLenum pname, GLint value); # 584 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (* PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); typedef void (* PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); typedef void (* PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); __attribute__((visibility("default"))) void glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); typedef void (* PFNGLTEXPARAMETERIIVOESPROC) (GLenum target, GLenum pname, const GLint *params); typedef void (* PFNGLTEXPARAMETERIUIVOESPROC) (GLenum target, GLenum pname, const GLuint *params); typedef void (* PFNGLGETTEXPARAMETERIIVOESPROC) (GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETTEXPARAMETERIUIVOESPROC) (GLenum target, GLenum pname, GLuint *params); typedef void (* PFNGLSAMPLERPARAMETERIIVOESPROC) (GLuint sampler, GLenum pname, const GLint *param); typedef void (* PFNGLSAMPLERPARAMETERIUIVOESPROC) (GLuint sampler, GLenum pname, const GLuint *param); typedef void (* PFNGLGETSAMPLERPARAMETERIIVOESPROC) (GLuint sampler, GLenum pname, GLint *params); typedef void (* PFNGLGETSAMPLERPARAMETERIUIVOESPROC) (GLuint sampler, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glTexParameterIivOES (GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glTexParameterIuivOES (GLenum target, GLenum pname, const GLuint *params); __attribute__((visibility("default"))) void glGetTexParameterIivOES (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetTexParameterIuivOES (GLenum target, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glSamplerParameterIivOES (GLuint sampler, GLenum pname, const GLint *param); __attribute__((visibility("default"))) void glSamplerParameterIuivOES (GLuint sampler, GLenum pname, const GLuint *param); __attribute__((visibility("default"))) void glGetSamplerParameterIivOES (GLuint sampler, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetSamplerParameterIuivOES (GLuint sampler, GLenum pname, GLuint *params); # 640 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLTEXBUFFEROESPROC) (GLenum target, GLenum internalformat, GLuint buffer); typedef void (* PFNGLTEXBUFFERRANGEOESPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); __attribute__((visibility("default"))) void glTexBufferOES (GLenum target, GLenum internalformat, GLuint buffer); __attribute__((visibility("default"))) void glTexBufferRangeOES (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); # 719 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLTEXSTORAGE3DMULTISAMPLEOESPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void glTexStorage3DMultisampleOES (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); # 732 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLTEXTUREVIEWOESPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); __attribute__((visibility("default"))) void glTextureViewOES (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); # 769 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLVIEWPORTARRAYVOESPROC) (GLuint first, GLsizei count, const GLfloat *v); typedef void (* PFNGLVIEWPORTINDEXEDFOESPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); typedef void (* PFNGLVIEWPORTINDEXEDFVOESPROC) (GLuint index, const GLfloat *v); typedef void (* PFNGLSCISSORARRAYVOESPROC) (GLuint first, GLsizei count, const GLint *v); typedef void (* PFNGLSCISSORINDEXEDOESPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); typedef void (* PFNGLSCISSORINDEXEDVOESPROC) (GLuint index, const GLint *v); typedef void (* PFNGLDEPTHRANGEARRAYFVOESPROC) (GLuint first, GLsizei count, const GLfloat *v); typedef void (* PFNGLDEPTHRANGEINDEXEDFOESPROC) (GLuint index, GLfloat n, GLfloat f); typedef void (* PFNGLGETFLOATI_VOESPROC) (GLenum target, GLuint index, GLfloat *data); __attribute__((visibility("default"))) void glViewportArrayvOES (GLuint first, GLsizei count, const GLfloat *v); __attribute__((visibility("default"))) void glViewportIndexedfOES (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); __attribute__((visibility("default"))) void glViewportIndexedfvOES (GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void glScissorArrayvOES (GLuint first, GLsizei count, const GLint *v); __attribute__((visibility("default"))) void glScissorIndexedOES (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glScissorIndexedvOES (GLuint index, const GLint *v); __attribute__((visibility("default"))) void glDepthRangeArrayfvOES (GLuint first, GLsizei count, const GLfloat *v); __attribute__((visibility("default"))) void glDepthRangeIndexedfOES (GLuint index, GLfloat n, GLfloat f); __attribute__((visibility("default"))) void glGetFloati_vOES (GLenum target, GLuint index, GLfloat *data); # 813 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); typedef void (* PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); typedef void (* PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); typedef void (* PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); typedef void (* PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data); typedef void (* PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); typedef void (* PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); typedef void (* PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList); typedef void (* PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); typedef void (* PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); typedef void (* PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); __attribute__((visibility("default"))) void glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); __attribute__((visibility("default"))) void glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); __attribute__((visibility("default"))) void glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); __attribute__((visibility("default"))) void glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); __attribute__((visibility("default"))) void glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data); __attribute__((visibility("default"))) void glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); __attribute__((visibility("default"))) void glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); __attribute__((visibility("default"))) void glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList); __attribute__((visibility("default"))) void glBeginPerfMonitorAMD (GLuint monitor); __attribute__((visibility("default"))) void glEndPerfMonitorAMD (GLuint monitor); __attribute__((visibility("default"))) void glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); # 858 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); __attribute__((visibility("default"))) void glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); # 869 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); typedef void (* PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); typedef void (* PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); __attribute__((visibility("default"))) void glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount); __attribute__((visibility("default"))) void glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); __attribute__((visibility("default"))) void glVertexAttribDivisorANGLE (GLuint index, GLuint divisor); # 917 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); __attribute__((visibility("default"))) void glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); # 1070 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC) (GLenum target, GLeglImageOES image, const GLint* attrib_list); typedef void (* PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC) (GLuint texture, GLeglImageOES image, const GLint* attrib_list); __attribute__((visibility("default"))) void glEGLImageTargetTexStorageEXT (GLenum target, GLeglImageOES image, const GLint* attrib_list); __attribute__((visibility("default"))) void glEGLImageTargetTextureStorageEXT (GLuint texture, GLeglImageOES image, const GLint* attrib_list); # 1085 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXTPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); typedef void (* PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); typedef void (* PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); __attribute__((visibility("default"))) void glDrawArraysInstancedBaseInstanceEXT (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); __attribute__((visibility("default"))) void glDrawElementsInstancedBaseInstanceEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); __attribute__((visibility("default"))) void glDrawElementsInstancedBaseVertexBaseInstanceEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); # 1104 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); typedef void (* PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name); typedef GLint (* PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC) (GLuint program, GLenum programInterface, const GLchar *name); typedef GLint (* PFNGLGETFRAGDATAINDEXEXTPROC) (GLuint program, const GLchar *name); __attribute__((visibility("default"))) void glBindFragDataLocationIndexedEXT (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); __attribute__((visibility("default"))) void glBindFragDataLocationEXT (GLuint program, GLuint color, const GLchar *name); __attribute__((visibility("default"))) GLint glGetProgramResourceLocationIndexEXT (GLuint program, GLenum programInterface, const GLchar *name); __attribute__((visibility("default"))) GLint glGetFragDataIndexEXT (GLuint program, const GLchar *name); # 1133 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLBUFFERSTORAGEEXTPROC) (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); __attribute__((visibility("default"))) void glBufferStorageEXT (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); typedef void (* PFNGLCLEARTEXIMAGEEXTPROC) (GLuint texture, GLint level, GLenum format, GLenum type, const void *data); typedef void (* PFNGLCLEARTEXSUBIMAGEEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); __attribute__((visibility("default"))) void glClearTexImageEXT (GLuint texture, GLint level, GLenum format, GLenum type, const void *data); __attribute__((visibility("default"))) void glClearTexSubImageEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); # 1157 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLCLIPCONTROLEXTPROC) (GLenum origin, GLenum depth); __attribute__((visibility("default"))) void glClipControlEXT (GLenum origin, GLenum depth); # 1198 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLCOPYIMAGESUBDATAEXTPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); __attribute__((visibility("default"))) void glCopyImageSubDataEXT (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); # 1213 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); typedef void (* PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); # 1253 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids); typedef void (* PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids); typedef GLboolean (* PFNGLISQUERYEXTPROC) (GLuint id); typedef void (* PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id); typedef void (* PFNGLENDQUERYEXTPROC) (GLenum target); typedef void (* PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target); typedef void (* PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params); typedef void (* PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params); typedef void (* PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params); typedef void (* PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params); __attribute__((visibility("default"))) void glGenQueriesEXT (GLsizei n, GLuint *ids); __attribute__((visibility("default"))) void glDeleteQueriesEXT (GLsizei n, const GLuint *ids); __attribute__((visibility("default"))) GLboolean glIsQueryEXT (GLuint id); __attribute__((visibility("default"))) void glBeginQueryEXT (GLenum target, GLuint id); __attribute__((visibility("default"))) void glEndQueryEXT (GLenum target); __attribute__((visibility("default"))) void glQueryCounterEXT (GLuint id, GLenum target); __attribute__((visibility("default"))) void glGetQueryivEXT (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params); __attribute__((visibility("default"))) void glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params); # 1315 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs); __attribute__((visibility("default"))) void glDrawBuffersEXT (GLsizei n, const GLenum *bufs); typedef void (* PFNGLENABLEIEXTPROC) (GLenum target, GLuint index); typedef void (* PFNGLDISABLEIEXTPROC) (GLenum target, GLuint index); typedef void (* PFNGLBLENDEQUATIONIEXTPROC) (GLuint buf, GLenum mode); typedef void (* PFNGLBLENDEQUATIONSEPARATEIEXTPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); typedef void (* PFNGLBLENDFUNCIEXTPROC) (GLuint buf, GLenum src, GLenum dst); typedef void (* PFNGLBLENDFUNCSEPARATEIEXTPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); typedef void (* PFNGLCOLORMASKIEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); typedef GLboolean (* PFNGLISENABLEDIEXTPROC) (GLenum target, GLuint index); __attribute__((visibility("default"))) void glEnableiEXT (GLenum target, GLuint index); __attribute__((visibility("default"))) void glDisableiEXT (GLenum target, GLuint index); __attribute__((visibility("default"))) void glBlendEquationiEXT (GLuint buf, GLenum mode); __attribute__((visibility("default"))) void glBlendEquationSeparateiEXT (GLuint buf, GLenum modeRGB, GLenum modeAlpha); __attribute__((visibility("default"))) void glBlendFunciEXT (GLuint buf, GLenum src, GLenum dst); __attribute__((visibility("default"))) void glBlendFuncSeparateiEXT (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); __attribute__((visibility("default"))) void glColorMaskiEXT (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); __attribute__((visibility("default"))) GLboolean glIsEnablediEXT (GLenum target, GLuint index); typedef void (* PFNGLDRAWELEMENTSBASEVERTEXEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); typedef void (* PFNGLDRAWRANGEELEMENTSBASEVERTEXEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); typedef void (* PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); __attribute__((visibility("default"))) void glDrawElementsBaseVertexEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void glDrawRangeElementsBaseVertexEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void glDrawElementsInstancedBaseVertexEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); typedef void (* PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount); typedef void (* PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); __attribute__((visibility("default"))) void glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount); __attribute__((visibility("default"))) void glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); typedef void (* PFNGLDRAWTRANSFORMFEEDBACKEXTPROC) (GLenum mode, GLuint id); typedef void (* PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDEXTPROC) (GLenum mode, GLuint id, GLsizei instancecount); __attribute__((visibility("default"))) void glDrawTransformFeedbackEXT (GLenum mode, GLuint id); __attribute__((visibility("default"))) void glDrawTransformFeedbackInstancedEXT (GLenum mode, GLuint id, GLsizei instancecount); typedef void *GLeglClientBufferEXT; typedef void (* PFNGLBUFFERSTORAGEEXTERNALEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); typedef void (* PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); __attribute__((visibility("default"))) void glBufferStorageExternalEXT (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); __attribute__((visibility("default"))) void glNamedBufferStorageExternalEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); # 1429 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); __attribute__((visibility("default"))) void glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level); # 1442 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLVERTEXATTRIBDIVISOREXTPROC) (GLuint index, GLuint divisor); __attribute__((visibility("default"))) void glVertexAttribDivisorEXT (GLuint index, GLuint divisor); # 1477 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLGETUNSIGNEDBYTEVEXTPROC) (GLenum pname, GLubyte *data); typedef void (* PFNGLGETUNSIGNEDBYTEI_VEXTPROC) (GLenum target, GLuint index, GLubyte *data); typedef void (* PFNGLDELETEMEMORYOBJECTSEXTPROC) (GLsizei n, const GLuint *memoryObjects); typedef GLboolean (* PFNGLISMEMORYOBJECTEXTPROC) (GLuint memoryObject); typedef void (* PFNGLCREATEMEMORYOBJECTSEXTPROC) (GLsizei n, GLuint *memoryObjects); typedef void (* PFNGLMEMORYOBJECTPARAMETERIVEXTPROC) (GLuint memoryObject, GLenum pname, const GLint *params); typedef void (* PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC) (GLuint memoryObject, GLenum pname, GLint *params); typedef void (* PFNGLTEXSTORAGEMEM2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); typedef void (* PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); typedef void (* PFNGLTEXSTORAGEMEM3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); typedef void (* PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); typedef void (* PFNGLBUFFERSTORAGEMEMEXTPROC) (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset); typedef void (* PFNGLTEXTURESTORAGEMEM2DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); typedef void (* PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); typedef void (* PFNGLTEXTURESTORAGEMEM3DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); typedef void (* PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); typedef void (* PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC) (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glGetUnsignedBytevEXT (GLenum pname, GLubyte *data); __attribute__((visibility("default"))) void glGetUnsignedBytei_vEXT (GLenum target, GLuint index, GLubyte *data); __attribute__((visibility("default"))) void glDeleteMemoryObjectsEXT (GLsizei n, const GLuint *memoryObjects); __attribute__((visibility("default"))) GLboolean glIsMemoryObjectEXT (GLuint memoryObject); __attribute__((visibility("default"))) void glCreateMemoryObjectsEXT (GLsizei n, GLuint *memoryObjects); __attribute__((visibility("default"))) void glMemoryObjectParameterivEXT (GLuint memoryObject, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glGetMemoryObjectParameterivEXT (GLuint memoryObject, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glTexStorageMem2DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glTexStorageMem2DMultisampleEXT (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glTexStorageMem3DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glTexStorageMem3DMultisampleEXT (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glBufferStorageMemEXT (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glTextureStorageMem2DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glTextureStorageMem2DMultisampleEXT (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glTextureStorageMem3DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glTextureStorageMem3DMultisampleEXT (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glNamedBufferStorageMemEXT (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset); typedef void (* PFNGLIMPORTMEMORYFDEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, GLint fd); __attribute__((visibility("default"))) void glImportMemoryFdEXT (GLuint memory, GLuint64 size, GLenum handleType, GLint fd); # 1535 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, void *handle); typedef void (* PFNGLIMPORTMEMORYWIN32NAMEEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, const void *name); __attribute__((visibility("default"))) void glImportMemoryWin32HandleEXT (GLuint memory, GLuint64 size, GLenum handleType, void *handle); __attribute__((visibility("default"))) void glImportMemoryWin32NameEXT (GLuint memory, GLuint64 size, GLenum handleType, const void *name); # 1555 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLMULTIDRAWARRAYSINDIRECTEXTPROC) (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride); typedef void (* PFNGLMULTIDRAWELEMENTSINDIRECTEXTPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride); __attribute__((visibility("default"))) void glMultiDrawArraysIndirectEXT (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride); __attribute__((visibility("default"))) void glMultiDrawElementsIndirectEXT (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride); # 1590 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index); typedef void (* PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices); typedef void (* PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data); __attribute__((visibility("default"))) void glReadBufferIndexedEXT (GLenum src, GLint index); __attribute__((visibility("default"))) void glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices); __attribute__((visibility("default"))) void glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data); # 1609 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLPOLYGONOFFSETCLAMPEXTPROC) (GLfloat factor, GLfloat units, GLfloat clamp); __attribute__((visibility("default"))) void glPolygonOffsetClampEXT (GLfloat factor, GLfloat units, GLfloat clamp); # 1622 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLPRIMITIVEBOUNDINGBOXEXTPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); __attribute__((visibility("default"))) void glPrimitiveBoundingBoxEXT (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); # 1652 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLRASTERSAMPLESEXTPROC) (GLuint samples, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void glRasterSamplesEXT (GLuint samples, GLboolean fixedsamplelocations); # 1719 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLGENSEMAPHORESEXTPROC) (GLsizei n, GLuint *semaphores); typedef void (* PFNGLDELETESEMAPHORESEXTPROC) (GLsizei n, const GLuint *semaphores); typedef GLboolean (* PFNGLISSEMAPHOREEXTPROC) (GLuint semaphore); typedef void (* PFNGLSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint semaphore, GLenum pname, const GLuint64 *params); typedef void (* PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint semaphore, GLenum pname, GLuint64 *params); typedef void (* PFNGLWAITSEMAPHOREEXTPROC) (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts); typedef void (* PFNGLSIGNALSEMAPHOREEXTPROC) (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts); __attribute__((visibility("default"))) void glGenSemaphoresEXT (GLsizei n, GLuint *semaphores); __attribute__((visibility("default"))) void glDeleteSemaphoresEXT (GLsizei n, const GLuint *semaphores); __attribute__((visibility("default"))) GLboolean glIsSemaphoreEXT (GLuint semaphore); __attribute__((visibility("default"))) void glSemaphoreParameterui64vEXT (GLuint semaphore, GLenum pname, const GLuint64 *params); __attribute__((visibility("default"))) void glGetSemaphoreParameterui64vEXT (GLuint semaphore, GLenum pname, GLuint64 *params); __attribute__((visibility("default"))) void glWaitSemaphoreEXT (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts); __attribute__((visibility("default"))) void glSignalSemaphoreEXT (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts); typedef void (* PFNGLIMPORTSEMAPHOREFDEXTPROC) (GLuint semaphore, GLenum handleType, GLint fd); __attribute__((visibility("default"))) void glImportSemaphoreFdEXT (GLuint semaphore, GLenum handleType, GLint fd); typedef void (* PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC) (GLuint semaphore, GLenum handleType, void *handle); typedef void (* PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC) (GLuint semaphore, GLenum handleType, const void *name); __attribute__((visibility("default"))) void glImportSemaphoreWin32HandleEXT (GLuint semaphore, GLenum handleType, void *handle); __attribute__((visibility("default"))) void glImportSemaphoreWin32NameEXT (GLuint semaphore, GLenum handleType, const void *name); # 1765 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); typedef void (* PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); typedef GLuint (* PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); typedef void (* PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); typedef void (* PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); typedef void (* PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); typedef void (* PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); typedef GLboolean (* PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); typedef void (* PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); typedef void (* PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0); typedef void (* PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0); typedef void (* PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); typedef void (* PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1); typedef void (* PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); typedef void (* PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); typedef void (* PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); typedef void (* PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); typedef void (* PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); typedef void (* PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); typedef void (* PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0); typedef void (* PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); typedef void (* PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); typedef void (* PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); typedef void (* PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glActiveShaderProgramEXT (GLuint pipeline, GLuint program); __attribute__((visibility("default"))) void glBindProgramPipelineEXT (GLuint pipeline); __attribute__((visibility("default"))) GLuint glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); __attribute__((visibility("default"))) void glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines); __attribute__((visibility("default"))) void glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines); __attribute__((visibility("default"))) void glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); __attribute__((visibility("default"))) void glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLboolean glIsProgramPipelineEXT (GLuint pipeline); __attribute__((visibility("default"))) void glProgramParameteriEXT (GLuint program, GLenum pname, GLint value); __attribute__((visibility("default"))) void glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0); __attribute__((visibility("default"))) void glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniform1iEXT (GLuint program, GLint location, GLint v0); __attribute__((visibility("default"))) void glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1); __attribute__((visibility("default"))) void glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1); __attribute__((visibility("default"))) void glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); __attribute__((visibility("default"))) void glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); __attribute__((visibility("default"))) void glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); __attribute__((visibility("default"))) void glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); __attribute__((visibility("default"))) void glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program); __attribute__((visibility("default"))) void glValidateProgramPipelineEXT (GLuint pipeline); __attribute__((visibility("default"))) void glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0); __attribute__((visibility("default"))) void glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1); __attribute__((visibility("default"))) void glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); __attribute__((visibility("default"))) void glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); __attribute__((visibility("default"))) void glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); # 1864 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC) (void); __attribute__((visibility("default"))) void glFramebufferFetchBarrierEXT (void); # 1902 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC) (GLuint target, GLsizei size); typedef GLsizei (* PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC) (GLuint target); typedef void (* PFNGLCLEARPIXELLOCALSTORAGEUIEXTPROC) (GLsizei offset, GLsizei n, const GLuint *values); __attribute__((visibility("default"))) void glFramebufferPixelLocalStorageSizeEXT (GLuint target, GLsizei size); __attribute__((visibility("default"))) GLsizei glGetFramebufferPixelLocalStorageSizeEXT (GLuint target); __attribute__((visibility("default"))) void glClearPixelLocalStorageuiEXT (GLsizei offset, GLsizei n, const GLuint *values); # 1939 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLTEXPAGECOMMITMENTEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); __attribute__((visibility("default"))) void glTexPageCommitmentEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); # 1998 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLPATCHPARAMETERIEXTPROC) (GLenum pname, GLint value); __attribute__((visibility("default"))) void glPatchParameteriEXT (GLenum pname, GLint value); typedef void (* PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params); typedef void (* PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params); typedef void (* PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params); typedef void (* PFNGLSAMPLERPARAMETERIIVEXTPROC) (GLuint sampler, GLenum pname, const GLint *param); typedef void (* PFNGLSAMPLERPARAMETERIUIVEXTPROC) (GLuint sampler, GLenum pname, const GLuint *param); typedef void (* PFNGLGETSAMPLERPARAMETERIIVEXTPROC) (GLuint sampler, GLenum pname, GLint *params); typedef void (* PFNGLGETSAMPLERPARAMETERIUIVEXTPROC) (GLuint sampler, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glTexParameterIivEXT (GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glTexParameterIuivEXT (GLenum target, GLenum pname, const GLuint *params); __attribute__((visibility("default"))) void glGetTexParameterIivEXT (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetTexParameterIuivEXT (GLenum target, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glSamplerParameterIivEXT (GLuint sampler, GLenum pname, const GLint *param); __attribute__((visibility("default"))) void glSamplerParameterIuivEXT (GLuint sampler, GLenum pname, const GLuint *param); __attribute__((visibility("default"))) void glGetSamplerParameterIivEXT (GLuint sampler, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetSamplerParameterIuivEXT (GLuint sampler, GLenum pname, GLuint *params); # 2044 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer); typedef void (* PFNGLTEXBUFFERRANGEEXTPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); __attribute__((visibility("default"))) void glTexBufferEXT (GLenum target, GLenum internalformat, GLuint buffer); __attribute__((visibility("default"))) void glTexBufferRangeEXT (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); # 2209 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLTEXTUREVIEWEXTPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); __attribute__((visibility("default"))) void glTextureViewEXT (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); # 2224 "../../third_party/angle/include/GLES2/gl2ext.h" typedef GLboolean (* PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC) (GLuint memory, GLuint64 key, GLuint timeout); typedef GLboolean (* PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC) (GLuint memory, GLuint64 key); __attribute__((visibility("default"))) GLboolean glAcquireKeyedMutexWin32EXT (GLuint memory, GLuint64 key, GLuint timeout); __attribute__((visibility("default"))) GLboolean glReleaseKeyedMutexWin32EXT (GLuint memory, GLuint64 key); # 2240 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLWINDOWRECTANGLESEXTPROC) (GLenum mode, GLsizei count, const GLint *box); __attribute__((visibility("default"))) void glWindowRectanglesEXT (GLenum mode, GLsizei count, const GLint *box); # 2253 "../../third_party/angle/include/GLES2/gl2ext.h" typedef GLuint64 (* PFNGLGETTEXTUREHANDLEIMGPROC) (GLuint texture); typedef GLuint64 (* PFNGLGETTEXTURESAMPLERHANDLEIMGPROC) (GLuint texture, GLuint sampler); typedef void (* PFNGLUNIFORMHANDLEUI64IMGPROC) (GLint location, GLuint64 value); typedef void (* PFNGLUNIFORMHANDLEUI64VIMGPROC) (GLint location, GLsizei count, const GLuint64 *value); typedef void (* PFNGLPROGRAMUNIFORMHANDLEUI64IMGPROC) (GLuint program, GLint location, GLuint64 value); typedef void (* PFNGLPROGRAMUNIFORMHANDLEUI64VIMGPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values); __attribute__((visibility("default"))) GLuint64 glGetTextureHandleIMG (GLuint texture); __attribute__((visibility("default"))) GLuint64 glGetTextureSamplerHandleIMG (GLuint texture, GLuint sampler); __attribute__((visibility("default"))) void glUniformHandleui64IMG (GLint location, GLuint64 value); __attribute__((visibility("default"))) void glUniformHandleui64vIMG (GLint location, GLsizei count, const GLuint64 *value); __attribute__((visibility("default"))) void glProgramUniformHandleui64IMG (GLuint program, GLint location, GLuint64 value); __attribute__((visibility("default"))) void glProgramUniformHandleui64vIMG (GLuint program, GLint location, GLsizei count, const GLuint64 *values); # 2275 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLFRAMEBUFFERTEXTURE2DDOWNSAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint xscale, GLint yscale); typedef void (* PFNGLFRAMEBUFFERTEXTURELAYERDOWNSAMPLEIMGPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer, GLint xscale, GLint yscale); __attribute__((visibility("default"))) void glFramebufferTexture2DDownsampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint xscale, GLint yscale); __attribute__((visibility("default"))) void glFramebufferTextureLayerDownsampleIMG (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer, GLint xscale, GLint yscale); # 2346 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC) (void); __attribute__((visibility("default"))) void glApplyFramebufferAttachmentCMAAINTEL (void); # 2374 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle); typedef void (* PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint *queryHandle); typedef void (* PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle); typedef void (* PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle); typedef void (* PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId); typedef void (* PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint *nextQueryId); typedef void (* PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); typedef void (* PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten); typedef void (* PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar *queryName, GLuint *queryId); typedef void (* PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); __attribute__((visibility("default"))) void glBeginPerfQueryINTEL (GLuint queryHandle); __attribute__((visibility("default"))) void glCreatePerfQueryINTEL (GLuint queryId, GLuint *queryHandle); __attribute__((visibility("default"))) void glDeletePerfQueryINTEL (GLuint queryHandle); __attribute__((visibility("default"))) void glEndPerfQueryINTEL (GLuint queryHandle); __attribute__((visibility("default"))) void glGetFirstPerfQueryIdINTEL (GLuint *queryId); __attribute__((visibility("default"))) void glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint *nextQueryId); __attribute__((visibility("default"))) void glGetPerfCounterInfoINTEL (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); __attribute__((visibility("default"))) void glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten); __attribute__((visibility("default"))) void glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint *queryId); __attribute__((visibility("default"))) void glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); # 2413 "../../third_party/angle/include/GLES2/gl2ext.h" typedef GLuint64 (* PFNGLGETTEXTUREHANDLENVPROC) (GLuint texture); typedef GLuint64 (* PFNGLGETTEXTURESAMPLERHANDLENVPROC) (GLuint texture, GLuint sampler); typedef void (* PFNGLMAKETEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); typedef void (* PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) (GLuint64 handle); typedef GLuint64 (* PFNGLGETIMAGEHANDLENVPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); typedef void (* PFNGLMAKEIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle, GLenum access); typedef void (* PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) (GLuint64 handle); typedef void (* PFNGLUNIFORMHANDLEUI64NVPROC) (GLint location, GLuint64 value); typedef void (* PFNGLUNIFORMHANDLEUI64VNVPROC) (GLint location, GLsizei count, const GLuint64 *value); typedef void (* PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) (GLuint program, GLint location, GLuint64 value); typedef void (* PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values); typedef GLboolean (* PFNGLISTEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); typedef GLboolean (* PFNGLISIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle); __attribute__((visibility("default"))) GLuint64 glGetTextureHandleNV (GLuint texture); __attribute__((visibility("default"))) GLuint64 glGetTextureSamplerHandleNV (GLuint texture, GLuint sampler); __attribute__((visibility("default"))) void glMakeTextureHandleResidentNV (GLuint64 handle); __attribute__((visibility("default"))) void glMakeTextureHandleNonResidentNV (GLuint64 handle); __attribute__((visibility("default"))) GLuint64 glGetImageHandleNV (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); __attribute__((visibility("default"))) void glMakeImageHandleResidentNV (GLuint64 handle, GLenum access); __attribute__((visibility("default"))) void glMakeImageHandleNonResidentNV (GLuint64 handle); __attribute__((visibility("default"))) void glUniformHandleui64NV (GLint location, GLuint64 value); __attribute__((visibility("default"))) void glUniformHandleui64vNV (GLint location, GLsizei count, const GLuint64 *value); __attribute__((visibility("default"))) void glProgramUniformHandleui64NV (GLuint program, GLint location, GLuint64 value); __attribute__((visibility("default"))) void glProgramUniformHandleui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64 *values); __attribute__((visibility("default"))) GLboolean glIsTextureHandleResidentNV (GLuint64 handle); __attribute__((visibility("default"))) GLboolean glIsImageHandleResidentNV (GLuint64 handle); # 2494 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value); typedef void (* PFNGLBLENDBARRIERNVPROC) (void); __attribute__((visibility("default"))) void glBlendParameteriNV (GLenum pname, GLint value); __attribute__((visibility("default"))) void glBlendBarrierNV (void); # 2518 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLVIEWPORTPOSITIONWSCALENVPROC) (GLuint index, GLfloat xcoeff, GLfloat ycoeff); __attribute__((visibility("default"))) void glViewportPositionWScaleNV (GLuint index, GLfloat xcoeff, GLfloat ycoeff); # 2530 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode); typedef void (* PFNGLENDCONDITIONALRENDERNVPROC) (void); __attribute__((visibility("default"))) void glBeginConditionalRenderNV (GLuint id, GLenum mode); __attribute__((visibility("default"))) void glEndConditionalRenderNV (void); # 2544 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLSUBPIXELPRECISIONBIASNVPROC) (GLuint xbits, GLuint ybits); __attribute__((visibility("default"))) void glSubpixelPrecisionBiasNV (GLuint xbits, GLuint ybits); # 2560 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLCONSERVATIVERASTERPARAMETERINVPROC) (GLenum pname, GLint param); __attribute__((visibility("default"))) void glConservativeRasterParameteriNV (GLenum pname, GLint param); typedef void (* PFNGLCOPYBUFFERSUBDATANVPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); __attribute__((visibility("default"))) void glCopyBufferSubDataNV (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); # 2587 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); typedef void (* PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); __attribute__((visibility("default"))) void glCoverageMaskNV (GLboolean mask); __attribute__((visibility("default"))) void glCoverageOperationNV (GLenum operation); # 2635 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); __attribute__((visibility("default"))) void glDrawBuffersNV (GLsizei n, const GLenum *bufs); typedef void (* PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); typedef void (* PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); __attribute__((visibility("default"))) void glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount); __attribute__((visibility("default"))) void glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); typedef void ( *GLVULKANPROCNV)(void); typedef void (* PFNGLDRAWVKIMAGENVPROC) (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); typedef GLVULKANPROCNV (* PFNGLGETVKPROCADDRNVPROC) (const GLchar *name); typedef void (* PFNGLWAITVKSEMAPHORENVPROC) (GLuint64 vkSemaphore); typedef void (* PFNGLSIGNALVKSEMAPHORENVPROC) (GLuint64 vkSemaphore); typedef void (* PFNGLSIGNALVKFENCENVPROC) (GLuint64 vkFence); __attribute__((visibility("default"))) void glDrawVkImageNV (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); __attribute__((visibility("default"))) GLVULKANPROCNV glGetVkProcAddrNV (const GLchar *name); __attribute__((visibility("default"))) void glWaitVkSemaphoreNV (GLuint64 vkSemaphore); __attribute__((visibility("default"))) void glSignalVkSemaphoreNV (GLuint64 vkSemaphore); __attribute__((visibility("default"))) void glSignalVkFenceNV (GLuint64 vkFence); # 2709 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLFRAGMENTCOVERAGECOLORNVPROC) (GLuint color); __attribute__((visibility("default"))) void glFragmentCoverageColorNV (GLuint color); # 2725 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); __attribute__((visibility("default"))) void glBlitFramebufferNV (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); # 2741 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLCOVERAGEMODULATIONTABLENVPROC) (GLsizei n, const GLfloat *v); typedef void (* PFNGLGETCOVERAGEMODULATIONTABLENVPROC) (GLsizei bufsize, GLfloat *v); typedef void (* PFNGLCOVERAGEMODULATIONNVPROC) (GLenum components); __attribute__((visibility("default"))) void glCoverageModulationTableNV (GLsizei n, const GLfloat *v); __attribute__((visibility("default"))) void glGetCoverageModulationTableNV (GLsizei bufsize, GLfloat *v); __attribute__((visibility("default"))) void glCoverageModulationNV (GLenum components); # 2756 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glRenderbufferStorageMultisampleNV (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); # 2772 "../../third_party/angle/include/GLES2/gl2ext.h" typedef khronos_int64_t GLint64EXT; typedef khronos_uint64_t GLuint64EXT; # 2803 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x); typedef void (* PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y); typedef void (* PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); typedef void (* PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); typedef void (* PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); typedef void (* PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); typedef void (* PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); typedef void (* PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); typedef void (* PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x); typedef void (* PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y); typedef void (* PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); typedef void (* PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); typedef void (* PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); typedef void (* PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); typedef void (* PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); typedef void (* PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); typedef void (* PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params); typedef void (* PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x); typedef void (* PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); typedef void (* PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); typedef void (* PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); typedef void (* PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); typedef void (* PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); typedef void (* PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); typedef void (* PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); typedef void (* PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x); typedef void (* PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); typedef void (* PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); typedef void (* PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); typedef void (* PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); typedef void (* PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); typedef void (* PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); typedef void (* PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); __attribute__((visibility("default"))) void glUniform1i64NV (GLint location, GLint64EXT x); __attribute__((visibility("default"))) void glUniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y); __attribute__((visibility("default"))) void glUniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); __attribute__((visibility("default"))) void glUniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); __attribute__((visibility("default"))) void glUniform1i64vNV (GLint location, GLsizei count, const GLint64EXT *value); __attribute__((visibility("default"))) void glUniform2i64vNV (GLint location, GLsizei count, const GLint64EXT *value); __attribute__((visibility("default"))) void glUniform3i64vNV (GLint location, GLsizei count, const GLint64EXT *value); __attribute__((visibility("default"))) void glUniform4i64vNV (GLint location, GLsizei count, const GLint64EXT *value); __attribute__((visibility("default"))) void glUniform1ui64NV (GLint location, GLuint64EXT x); __attribute__((visibility("default"))) void glUniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y); __attribute__((visibility("default"))) void glUniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); __attribute__((visibility("default"))) void glUniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); __attribute__((visibility("default"))) void glUniform1ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); __attribute__((visibility("default"))) void glUniform2ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); __attribute__((visibility("default"))) void glUniform3ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); __attribute__((visibility("default"))) void glUniform4ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); __attribute__((visibility("default"))) void glGetUniformi64vNV (GLuint program, GLint location, GLint64EXT *params); __attribute__((visibility("default"))) void glProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x); __attribute__((visibility("default"))) void glProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); __attribute__((visibility("default"))) void glProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); __attribute__((visibility("default"))) void glProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); __attribute__((visibility("default"))) void glProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); __attribute__((visibility("default"))) void glProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); __attribute__((visibility("default"))) void glProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); __attribute__((visibility("default"))) void glProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); __attribute__((visibility("default"))) void glProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x); __attribute__((visibility("default"))) void glProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); __attribute__((visibility("default"))) void glProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); __attribute__((visibility("default"))) void glProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); __attribute__((visibility("default"))) void glProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); __attribute__((visibility("default"))) void glProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); __attribute__((visibility("default"))) void glProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); __attribute__((visibility("default"))) void glProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); # 2880 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor); __attribute__((visibility("default"))) void glVertexAttribDivisorNV (GLuint index, GLuint divisor); # 2894 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLGETINTERNALFORMATSAMPLEIVNVPROC) (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint *params); __attribute__((visibility("default"))) void glGetInternalformatSampleivNV (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint *params); # 2908 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLUNIFORMMATRIX2X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX3X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX2X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX4X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX3X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX4X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix2x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix3x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix2x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix4x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix3x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix4x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef double GLdouble; # 3080 "../../third_party/angle/include/GLES2/gl2ext.h" typedef GLuint (* PFNGLGENPATHSNVPROC) (GLsizei range); typedef void (* PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range); typedef GLboolean (* PFNGLISPATHNVPROC) (GLuint path); typedef void (* PFNGLPATHCOMMANDSNVPROC) (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); typedef void (* PFNGLPATHCOORDSNVPROC) (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords); typedef void (* PFNGLPATHSUBCOMMANDSNVPROC) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); typedef void (* PFNGLPATHSUBCOORDSNVPROC) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords); typedef void (* PFNGLPATHSTRINGNVPROC) (GLuint path, GLenum format, GLsizei length, const void *pathString); typedef void (* PFNGLPATHGLYPHSNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); typedef void (* PFNGLPATHGLYPHRANGENVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); typedef void (* PFNGLWEIGHTPATHSNVPROC) (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights); typedef void (* PFNGLCOPYPATHNVPROC) (GLuint resultPath, GLuint srcPath); typedef void (* PFNGLINTERPOLATEPATHSNVPROC) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight); typedef void (* PFNGLTRANSFORMPATHNVPROC) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues); typedef void (* PFNGLPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, const GLint *value); typedef void (* PFNGLPATHPARAMETERINVPROC) (GLuint path, GLenum pname, GLint value); typedef void (* PFNGLPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, const GLfloat *value); typedef void (* PFNGLPATHPARAMETERFNVPROC) (GLuint path, GLenum pname, GLfloat value); typedef void (* PFNGLPATHDASHARRAYNVPROC) (GLuint path, GLsizei dashCount, const GLfloat *dashArray); typedef void (* PFNGLPATHSTENCILFUNCNVPROC) (GLenum func, GLint ref, GLuint mask); typedef void (* PFNGLPATHSTENCILDEPTHOFFSETNVPROC) (GLfloat factor, GLfloat units); typedef void (* PFNGLSTENCILFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask); typedef void (* PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask); typedef void (* PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); typedef void (* PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); typedef void (* PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum func); typedef void (* PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode); typedef void (* PFNGLCOVERSTROKEPATHNVPROC) (GLuint path, GLenum coverMode); typedef void (* PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); typedef void (* PFNGLCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); typedef void (* PFNGLGETPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, GLint *value); typedef void (* PFNGLGETPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, GLfloat *value); typedef void (* PFNGLGETPATHCOMMANDSNVPROC) (GLuint path, GLubyte *commands); typedef void (* PFNGLGETPATHCOORDSNVPROC) (GLuint path, GLfloat *coords); typedef void (* PFNGLGETPATHDASHARRAYNVPROC) (GLuint path, GLfloat *dashArray); typedef void (* PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); typedef void (* PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics); typedef void (* PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); typedef GLboolean (* PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y); typedef GLboolean (* PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y); typedef GLfloat (* PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments); typedef GLboolean (* PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); typedef void (* PFNGLMATRIXLOAD3X2FNVPROC) (GLenum matrixMode, const GLfloat *m); typedef void (* PFNGLMATRIXLOAD3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); typedef void (* PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); typedef void (* PFNGLMATRIXMULT3X2FNVPROC) (GLenum matrixMode, const GLfloat *m); typedef void (* PFNGLMATRIXMULT3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); typedef void (* PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); typedef void (* PFNGLSTENCILTHENCOVERFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); typedef void (* PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask, GLenum coverMode); typedef void (* PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); typedef void (* PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); typedef GLenum (* PFNGLPATHGLYPHINDEXRANGENVPROC) (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount[2]); typedef GLenum (* PFNGLPATHGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); typedef GLenum (* PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); typedef void (* PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC) (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); typedef void (* PFNGLGETPROGRAMRESOURCEFVNVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLfloat *params); typedef void (* PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); typedef void (* PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode); typedef void (* PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m); typedef void (* PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m); typedef void (* PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat *m); typedef void (* PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble *m); typedef void (* PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m); typedef void (* PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m); typedef void (* PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat *m); typedef void (* PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble *m); typedef void (* PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); typedef void (* PFNGLMATRIXPOPEXTPROC) (GLenum mode); typedef void (* PFNGLMATRIXPUSHEXTPROC) (GLenum mode); typedef void (* PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); typedef void (* PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); typedef void (* PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z); typedef void (* PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z); typedef void (* PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z); typedef void (* PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z); __attribute__((visibility("default"))) GLuint glGenPathsNV (GLsizei range); __attribute__((visibility("default"))) void glDeletePathsNV (GLuint path, GLsizei range); __attribute__((visibility("default"))) GLboolean glIsPathNV (GLuint path); __attribute__((visibility("default"))) void glPathCommandsNV (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); __attribute__((visibility("default"))) void glPathCoordsNV (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords); __attribute__((visibility("default"))) void glPathSubCommandsNV (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); __attribute__((visibility("default"))) void glPathSubCoordsNV (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords); __attribute__((visibility("default"))) void glPathStringNV (GLuint path, GLenum format, GLsizei length, const void *pathString); __attribute__((visibility("default"))) void glPathGlyphsNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); __attribute__((visibility("default"))) void glPathGlyphRangeNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); __attribute__((visibility("default"))) void glWeightPathsNV (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights); __attribute__((visibility("default"))) void glCopyPathNV (GLuint resultPath, GLuint srcPath); __attribute__((visibility("default"))) void glInterpolatePathsNV (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight); __attribute__((visibility("default"))) void glTransformPathNV (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void glPathParameterivNV (GLuint path, GLenum pname, const GLint *value); __attribute__((visibility("default"))) void glPathParameteriNV (GLuint path, GLenum pname, GLint value); __attribute__((visibility("default"))) void glPathParameterfvNV (GLuint path, GLenum pname, const GLfloat *value); __attribute__((visibility("default"))) void glPathParameterfNV (GLuint path, GLenum pname, GLfloat value); __attribute__((visibility("default"))) void glPathDashArrayNV (GLuint path, GLsizei dashCount, const GLfloat *dashArray); __attribute__((visibility("default"))) void glPathStencilFuncNV (GLenum func, GLint ref, GLuint mask); __attribute__((visibility("default"))) void glPathStencilDepthOffsetNV (GLfloat factor, GLfloat units); __attribute__((visibility("default"))) void glStencilFillPathNV (GLuint path, GLenum fillMode, GLuint mask); __attribute__((visibility("default"))) void glStencilStrokePathNV (GLuint path, GLint reference, GLuint mask); __attribute__((visibility("default"))) void glStencilFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void glStencilStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void glPathCoverDepthFuncNV (GLenum func); __attribute__((visibility("default"))) void glCoverFillPathNV (GLuint path, GLenum coverMode); __attribute__((visibility("default"))) void glCoverStrokePathNV (GLuint path, GLenum coverMode); __attribute__((visibility("default"))) void glCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void glCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void glGetPathParameterivNV (GLuint path, GLenum pname, GLint *value); __attribute__((visibility("default"))) void glGetPathParameterfvNV (GLuint path, GLenum pname, GLfloat *value); __attribute__((visibility("default"))) void glGetPathCommandsNV (GLuint path, GLubyte *commands); __attribute__((visibility("default"))) void glGetPathCoordsNV (GLuint path, GLfloat *coords); __attribute__((visibility("default"))) void glGetPathDashArrayNV (GLuint path, GLfloat *dashArray); __attribute__((visibility("default"))) void glGetPathMetricsNV (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); __attribute__((visibility("default"))) void glGetPathMetricRangeNV (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics); __attribute__((visibility("default"))) void glGetPathSpacingNV (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); __attribute__((visibility("default"))) GLboolean glIsPointInFillPathNV (GLuint path, GLuint mask, GLfloat x, GLfloat y); __attribute__((visibility("default"))) GLboolean glIsPointInStrokePathNV (GLuint path, GLfloat x, GLfloat y); __attribute__((visibility("default"))) GLfloat glGetPathLengthNV (GLuint path, GLsizei startSegment, GLsizei numSegments); __attribute__((visibility("default"))) GLboolean glPointAlongPathNV (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); __attribute__((visibility("default"))) void glMatrixLoad3x2fNV (GLenum matrixMode, const GLfloat *m); __attribute__((visibility("default"))) void glMatrixLoad3x3fNV (GLenum matrixMode, const GLfloat *m); __attribute__((visibility("default"))) void glMatrixLoadTranspose3x3fNV (GLenum matrixMode, const GLfloat *m); __attribute__((visibility("default"))) void glMatrixMult3x2fNV (GLenum matrixMode, const GLfloat *m); __attribute__((visibility("default"))) void glMatrixMult3x3fNV (GLenum matrixMode, const GLfloat *m); __attribute__((visibility("default"))) void glMatrixMultTranspose3x3fNV (GLenum matrixMode, const GLfloat *m); __attribute__((visibility("default"))) void glStencilThenCoverFillPathNV (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); __attribute__((visibility("default"))) void glStencilThenCoverStrokePathNV (GLuint path, GLint reference, GLuint mask, GLenum coverMode); __attribute__((visibility("default"))) void glStencilThenCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void glStencilThenCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) GLenum glPathGlyphIndexRangeNV (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount[2]); __attribute__((visibility("default"))) GLenum glPathGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); __attribute__((visibility("default"))) GLenum glPathMemoryGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); __attribute__((visibility("default"))) void glProgramPathFragmentInputGenNV (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); __attribute__((visibility("default"))) void glGetProgramResourcefvNV (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void glMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); __attribute__((visibility("default"))) void glMatrixLoadIdentityEXT (GLenum mode); __attribute__((visibility("default"))) void glMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m); __attribute__((visibility("default"))) void glMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m); __attribute__((visibility("default"))) void glMatrixLoadfEXT (GLenum mode, const GLfloat *m); __attribute__((visibility("default"))) void glMatrixLoaddEXT (GLenum mode, const GLdouble *m); __attribute__((visibility("default"))) void glMatrixMultTransposefEXT (GLenum mode, const GLfloat *m); __attribute__((visibility("default"))) void glMatrixMultTransposedEXT (GLenum mode, const GLdouble *m); __attribute__((visibility("default"))) void glMatrixMultfEXT (GLenum mode, const GLfloat *m); __attribute__((visibility("default"))) void glMatrixMultdEXT (GLenum mode, const GLdouble *m); __attribute__((visibility("default"))) void glMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); __attribute__((visibility("default"))) void glMatrixPopEXT (GLenum mode); __attribute__((visibility("default"))) void glMatrixPushEXT (GLenum mode); __attribute__((visibility("default"))) void glMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void glMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); __attribute__((visibility("default"))) void glMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void glMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z); __attribute__((visibility("default"))) void glMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void glMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z); # 3257 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLPOLYGONMODENVPROC) (GLenum face, GLenum mode); __attribute__((visibility("default"))) void glPolygonModeNV (GLenum face, GLenum mode); typedef void (* PFNGLREADBUFFERNVPROC) (GLenum mode); __attribute__((visibility("default"))) void glReadBufferNV (GLenum mode); # 3312 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat *v); typedef void (* PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); typedef void (* PFNGLRESOLVEDEPTHVALUESNVPROC) (void); __attribute__((visibility("default"))) void glFramebufferSampleLocationsfvNV (GLenum target, GLuint start, GLsizei count, const GLfloat *v); __attribute__((visibility("default"))) void glNamedFramebufferSampleLocationsfvNV (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); __attribute__((visibility("default"))) void glResolveDepthValuesNV (void); # 3368 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLVIEWPORTARRAYVNVPROC) (GLuint first, GLsizei count, const GLfloat *v); typedef void (* PFNGLVIEWPORTINDEXEDFNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); typedef void (* PFNGLVIEWPORTINDEXEDFVNVPROC) (GLuint index, const GLfloat *v); typedef void (* PFNGLSCISSORARRAYVNVPROC) (GLuint first, GLsizei count, const GLint *v); typedef void (* PFNGLSCISSORINDEXEDNVPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); typedef void (* PFNGLSCISSORINDEXEDVNVPROC) (GLuint index, const GLint *v); typedef void (* PFNGLDEPTHRANGEARRAYFVNVPROC) (GLuint first, GLsizei count, const GLfloat *v); typedef void (* PFNGLDEPTHRANGEINDEXEDFNVPROC) (GLuint index, GLfloat n, GLfloat f); typedef void (* PFNGLGETFLOATI_VNVPROC) (GLenum target, GLuint index, GLfloat *data); typedef void (* PFNGLENABLEINVPROC) (GLenum target, GLuint index); typedef void (* PFNGLDISABLEINVPROC) (GLenum target, GLuint index); typedef GLboolean (* PFNGLISENABLEDINVPROC) (GLenum target, GLuint index); __attribute__((visibility("default"))) void glViewportArrayvNV (GLuint first, GLsizei count, const GLfloat *v); __attribute__((visibility("default"))) void glViewportIndexedfNV (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); __attribute__((visibility("default"))) void glViewportIndexedfvNV (GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void glScissorArrayvNV (GLuint first, GLsizei count, const GLint *v); __attribute__((visibility("default"))) void glScissorIndexedNV (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glScissorIndexedvNV (GLuint index, const GLint *v); __attribute__((visibility("default"))) void glDepthRangeArrayfvNV (GLuint first, GLsizei count, const GLfloat *v); __attribute__((visibility("default"))) void glDepthRangeIndexedfNV (GLuint index, GLfloat n, GLfloat f); __attribute__((visibility("default"))) void glGetFloati_vNV (GLenum target, GLuint index, GLfloat *data); __attribute__((visibility("default"))) void glEnableiNV (GLenum target, GLuint index); __attribute__((visibility("default"))) void glDisableiNV (GLenum target, GLuint index); __attribute__((visibility("default"))) GLboolean glIsEnablediNV (GLenum target, GLuint index); # 3414 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLVIEWPORTSWIZZLENVPROC) (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew); __attribute__((visibility("default"))) void glViewportSwizzleNV (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew); # 3426 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); __attribute__((visibility("default"))) void glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); # 3438 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLFRAMEBUFFERTEXTUREMULTISAMPLEMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews); __attribute__((visibility("default"))) void glFramebufferTextureMultisampleMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews); # 3449 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); __attribute__((visibility("default"))) void glAlphaFuncQCOM (GLenum func, GLclampf ref); # 3528 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLFRAMEBUFFERFOVEATIONCONFIGQCOMPROC) (GLuint framebuffer, GLuint numLayers, GLuint focalPointsPerLayer, GLuint requestedFeatures, GLuint *providedFeatures); typedef void (* PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC) (GLuint framebuffer, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea); __attribute__((visibility("default"))) void glFramebufferFoveationConfigQCOM (GLuint framebuffer, GLuint numLayers, GLuint focalPointsPerLayer, GLuint requestedFeatures, GLuint *providedFeatures); __attribute__((visibility("default"))) void glFramebufferFoveationParametersQCOM (GLuint framebuffer, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea); # 3544 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLFRAMEBUFFERFETCHBARRIERQCOMPROC) (void); __attribute__((visibility("default"))) void glFramebufferFetchBarrierQCOM (void); # 3557 "../../third_party/angle/include/GLES2/gl2ext.h" typedef void (* PFNGLTEXTUREFOVEATIONPARAMETERSQCOMPROC) (GLuint texture, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea); __attribute__((visibility("default"))) void glTextureFoveationParametersQCOM (GLuint texture, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea); # 3616 "../../third_party/angle/include/GLES2/gl2ext.h" # 1 "../../third_party/angle/include/GLES2/gl2ext_angle.h" 1 # 24 "../../third_party/angle/include/GLES2/gl2ext_angle.h" typedef void (* PFNGLREQUESTEXTENSIONANGLEPROC) (const GLchar *name); typedef void (* PFNGLDISABLEEXTENSIONANGLEPROC) (const GLchar *name); __attribute__((visibility("default"))) void glRequestExtensionANGLE (const GLchar *name); # 41 "../../third_party/angle/include/GLES2/gl2ext_angle.h" typedef void (* PFNGLPROVOKINGVERTEXANGLEPROC) (GLenum); __attribute__((visibility("default"))) void glProvokingVertexANGLE(GLenum mode); typedef void (* PFNGLCOVERAGEMODULATIONCHROMIUMPROC) (GLenum components); __attribute__((visibility("default"))) void glCoverageModulationCHROMIUM(GLenum components); # 70 "../../third_party/angle/include/GLES2/gl2ext_angle.h" typedef void(* PFNGLMATRIXLOADFEXTPROC)(GLenum matrixMode, const GLfloat *m); typedef void(* PFNGLMATRIXLOADIDENTITYEXTPROC)(GLenum matrixMode); __attribute__((visibility("default"))) void glMatrixLoadfEXT(GLenum matrixMode, const GLfloat *m); __attribute__((visibility("default"))) void glMatrixLoadIdentityEXT(GLenum matrixMode); # 116 "../../third_party/angle/include/GLES2/gl2ext_angle.h" typedef void(* PFNGLMATRIXLOADFCHROMIUMPROC)(GLenum matrixMode, const GLfloat *m); typedef void(* PFNGLMATRIXLOADIDENTITYCHROMIUMPROC)(GLenum matrixMode); typedef GLuint(* PFNGLGENPATHSCHROMIUMPROC)(GLsizei range); typedef void(* PFNGLDELETEPATHSCHROMIUMPROC)(GLuint path, GLsizei range); typedef GLboolean(* PFNGLISPATHCHROMIUMPROC)(GLuint path); typedef void(* PFNGLPATHCOMMANDSCHROMIUMPROC)(GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); typedef void(* PFNGLPATHPARAMETERICHROMIUMPROC)(GLuint path, GLenum pname, GLint value); typedef void(* PFNGLPATHPARAMETERFCHROMIUMPROC)(GLuint path, GLenum pname, GLfloat value); typedef void(* PFNGLGETPATHPARAMETERIVCHROMIUMPROC)(GLuint path, GLenum pname, GLint *value); typedef void(* PFNGLGETPATHPARAMETERFVCHROMIUMPROC)(GLuint path, GLenum pname, GLfloat *value); typedef void(* PFNGLPATHSTENCILFUNCCHROMIUMPROC)(GLenum func, GLint ref, GLuint mask); typedef void(* PFNGLSTENCILFILLPATHCHROMIUMPROC)(GLuint path, GLenum fillMode, GLuint mask); typedef void(* PFNGLSTENCILSTROKEPATHCHROMIUMPROC)(GLuint path, GLint reference, GLuint mask); typedef void(* PFNGLCOVERFILLPATHCHROMIUMPROC)(GLuint path, GLenum coverMode); typedef void(* PFNGLCOVERSTROKEPATHCHROMIUMPROC)(GLuint path, GLenum coverMode); typedef void(* PFNGLSTENCILTHENCOVERFILLPATHCHROMIUMPROC)(GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); typedef void(* PFNGLSTENCILTHENCOVERSTROKEPATHCHROMIUMPROC)(GLuint path, GLint reference, GLuint mask, GLenum coverMode); typedef void(* PFNGLCOVERFILLPATHINSTANCEDCHROMIUMPROC)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); typedef void(* PFNGLCOVERSTROKEPATHINSTANCEDCHROMIUMPROC)( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); typedef void(* PFNGLSTENCILFILLPATHINSTANCEDCHROMIUMPROC)( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); typedef void(* PFNGLSTENCILSTROKEPATHINSTANCEDCHROMIUMPROC)( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); typedef void(* PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDCHROMIUMPROC)( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); typedef void(* PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDCHROMIUMPROC)( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); typedef void(* PFNGLBINDFRAGMENTINPUTLOCATIONCHROMIUMPROC)(GLuint program, GLint location, const GLchar *name); typedef void(* PFNGLPROGRAMPATHFRAGMENTINPUTGENCHROMIUMPROC)(GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); __attribute__((visibility("default"))) void glMatrixLoadfCHROMIUM(GLenum matrixMode, const GLfloat *m); __attribute__((visibility("default"))) void glMatrixLoadIdentityCHROMIUM(GLenum matrixMode); __attribute__((visibility("default"))) GLuint glGenPathsCHROMIUM(GLsizei range); __attribute__((visibility("default"))) void glDeletePathsCHROMIUM(GLuint path, GLsizei range); __attribute__((visibility("default"))) GLboolean glIsPathCHROMIUM(GLuint path); __attribute__((visibility("default"))) void glPathCommandsCHROMIUM(GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); __attribute__((visibility("default"))) void glPathParameteriCHROMIUM(GLuint path, GLenum pname, GLint value); __attribute__((visibility("default"))) void glPathParameterfCHROMIUM(GLuint path, GLenum pname, GLfloat value); __attribute__((visibility("default"))) void glGetPathParameterivCHROMIUM(GLuint path, GLenum pname, GLint *value); __attribute__((visibility("default"))) void glGetPathParameterfvCHROMIUM(GLuint path, GLenum pname, GLfloat *value); __attribute__((visibility("default"))) void glPathStencilFuncCHROMIUM(GLenum func, GLint ref, GLuint mask); __attribute__((visibility("default"))) void glStencilFillPathCHROMIUM(GLuint path, GLenum fillMode, GLuint mask); __attribute__((visibility("default"))) void glStencilStrokePathCHROMIUM(GLuint path, GLint reference, GLuint mask); __attribute__((visibility("default"))) void glCoverFillPathCHROMIUM(GLuint path, GLenum coverMode); __attribute__((visibility("default"))) void glCoverStrokePathCHROMIUM(GLuint path, GLenum coverMode); __attribute__((visibility("default"))) void glStencilThenCoverFillPathCHROMIUM(GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); __attribute__((visibility("default"))) void glStencilThenCoverStrokePathCHROMIUM(GLuint path, GLint reference, GLuint mask, GLenum coverMode); __attribute__((visibility("default"))) void glCoverFillPathInstancedCHROMIUM(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void glCoverStrokePathInstancedCHROMIUM(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void glStencilFillPathInstancedCHROMIUM(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void glStencilStrokePathInstancedCHROMIUM(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void glStencilThenCoverFillPathInstancedCHROMIUM(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void glStencilThenCoverStrokePathInstancedCHROMIUM(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void glBindFragmentInputLocationCHROMIUM(GLuint program, GLint location, const GLchar *name); __attribute__((visibility("default"))) void glProgramPathFragmentInputGenCHROMIUM(GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); typedef void(* PFNGLCOPYTEXTURECHROMIUMPROC)(GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); typedef void(* PFNGLCOPYSUBTEXTURECHROMIUMPROC)(GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void glCopyTextureCHROMIUM(GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void glCopySubTextureCHROMIUM(GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); typedef void(* PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMPROC)(GLuint sourceId, GLuint destId); __attribute__((visibility("default"))) void glCompressedCopyTextureCHROMIUM(GLuint sourceId, GLuint destId); typedef void(* PFNGLCOPYTEXTURE3DANGLEPROC)(GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); typedef void(* PFNGLCOPYSUBTEXTURE3DANGLEPROC)(GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLint z, GLsizei width, GLsizei height, GLsizei depth, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void glCopyTexture3DANGLE(GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void glCopySubTexture3DANGLE(GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLint z, GLsizei width, GLsizei height, GLsizei depth, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); # 462 "../../third_party/angle/include/GLES2/gl2ext_angle.h" typedef void (* PFNGLGETBOOLEANVROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *data); typedef void (* PFNGLGETBUFFERPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETFLOATVROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *data); typedef void (* PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETINTEGERVROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data); typedef void (* PFNGLGETPROGRAMIVROBUSTANGLEPROC) (GLuint program, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETSHADERIVROBUSTANGLEPROC) (GLuint shader, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETTEXPARAMETERFVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); typedef void (* PFNGLGETTEXPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETUNIFORMFVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params); typedef void (* PFNGLGETUNIFORMIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETVERTEXATTRIBFVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); typedef void (* PFNGLGETVERTEXATTRIBIVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer); typedef void (* PFNGLREADPIXELSROBUSTANGLEPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *pixels); typedef void (* PFNGLTEXIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); typedef void (* PFNGLTEXPARAMETERFVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLfloat *params); typedef void (* PFNGLTEXPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params); typedef void (* PFNGLTEXSUBIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); typedef void (* PFNGLTEXIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); typedef void (* PFNGLTEXSUBIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); typedef void (* PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data); typedef void (* PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data); typedef void (* PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data); typedef void (* PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data); typedef void (* PFNGLGETQUERYIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETQUERYOBJECTUIVROBUSTANGLEPROC) (GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); typedef void (* PFNGLGETBUFFERPOINTERVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, void **params); typedef void (* PFNGLGETINTEGERI_VROBUSTANGLEPROC) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint *data); typedef void (* PFNGLGETINTERNALFORMATIVROBUSTANGLEPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETVERTEXATTRIBIIVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETVERTEXATTRIBIUIVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); typedef void (* PFNGLGETUNIFORMUIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params); typedef void (* PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLEPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETINTEGER64VROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data); typedef void (* PFNGLGETINTEGER64I_VROBUSTANGLEPROC) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint64 *data); typedef void (* PFNGLGETBUFFERPARAMETERI64VROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params); typedef void (* PFNGLSAMPLERPARAMETERIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param); typedef void (* PFNGLSAMPLERPARAMETERFVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat *param); typedef void (* PFNGLGETSAMPLERPARAMETERIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETSAMPLERPARAMETERFVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); typedef void (* PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETPROGRAMINTERFACEIVROBUSTANGLEPROC) (GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETBOOLEANI_VROBUSTANGLEPROC) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLboolean *data); typedef void (* PFNGLGETMULTISAMPLEFVROBUSTANGLEPROC) (GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, GLfloat *val); typedef void (* PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLEPROC) (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); typedef void (* PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, void **params); typedef void (* PFNGLREADNPIXELSROBUSTANGLEPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *data); typedef void (* PFNGLGETNUNIFORMFVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params); typedef void (* PFNGLGETNUNIFORMIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETNUNIFORMUIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params); typedef void (* PFNGLTEXPARAMETERIIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params); typedef void (* PFNGLTEXPARAMETERIUIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLuint *params); typedef void (* PFNGLGETTEXPARAMETERIIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETTEXPARAMETERIUIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); typedef void (* PFNGLSAMPLERPARAMETERIIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param); typedef void (* PFNGLSAMPLERPARAMETERIUIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint *param); typedef void (* PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); typedef void (* PFNGLGETQUERYOBJECTIVROBUSTANGLEPROC)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETQUERYOBJECTI64VROBUSTANGLEPROC)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params); typedef void (* PFNGLGETQUERYOBJECTUI64VROBUSTANGLEPROC)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params); __attribute__((visibility("default"))) void glGetBooleanvRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *data); __attribute__((visibility("default"))) void glGetBufferParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetFloatvRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *data); __attribute__((visibility("default"))) void glGetFramebufferAttachmentParameterivRobustANGLE (GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetIntegervRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data); __attribute__((visibility("default"))) void glGetProgramivRobustANGLE (GLuint program, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetRenderbufferParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetShaderivRobustANGLE (GLuint shader, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetTexParameterfvRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void glGetTexParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetUniformfvRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void glGetUniformivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetVertexAttribfvRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void glGetVertexAttribivRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetVertexAttribPointervRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer); __attribute__((visibility("default"))) void glReadPixelsRobustANGLE (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *pixels); __attribute__((visibility("default"))) void glTexImage2DRobustANGLE (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); __attribute__((visibility("default"))) void glTexParameterfvRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLfloat *params); __attribute__((visibility("default"))) void glTexParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params); __attribute__((visibility("default"))) void glTexSubImage2DRobustANGLE (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); __attribute__((visibility("default"))) void glTexImage3DRobustANGLE (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); __attribute__((visibility("default"))) void glTexSubImage3DRobustANGLE (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); __attribute__((visibility("default"))) void glCompressedTexImage2DRobustANGLE(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data); __attribute__((visibility("default"))) void glCompressedTexSubImage2DRobustANGLE(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data); __attribute__((visibility("default"))) void glCompressedTexImage3DRobustANGLE(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data); __attribute__((visibility("default"))) void glCompressedTexSubImage3DRobustANGLE(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data); __attribute__((visibility("default"))) void glGetQueryivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetQueryObjectuivRobustANGLE (GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void glGetBufferPointervRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, void **params); __attribute__((visibility("default"))) void glGetIntegeri_vRobustANGLE (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint *data); __attribute__((visibility("default"))) void glGetInternalformativRobustANGLE (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetVertexAttribIivRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetVertexAttribIuivRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void glGetUniformuivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void glGetActiveUniformBlockivRobustANGLE (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetInteger64vRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data); __attribute__((visibility("default"))) void glGetInteger64i_vRobustANGLE (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint64 *data); __attribute__((visibility("default"))) void glGetBufferParameteri64vRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params); __attribute__((visibility("default"))) void glSamplerParameterivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param); __attribute__((visibility("default"))) void glSamplerParameterfvRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat *param); __attribute__((visibility("default"))) void glGetSamplerParameterivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetSamplerParameterfvRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void glGetFramebufferParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetProgramInterfaceivRobustANGLE (GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetBooleani_vRobustANGLE (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLboolean *data); __attribute__((visibility("default"))) void glGetMultisamplefvRobustANGLE (GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, GLfloat *val); __attribute__((visibility("default"))) void glGetTexLevelParameterivRobustANGLE (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetTexLevelParameterfvRobustANGLE (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void glGetPointervRobustANGLERobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, void **params); __attribute__((visibility("default"))) void glReadnPixelsRobustANGLE (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *data); __attribute__((visibility("default"))) void glGetnUniformfvRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void glGetnUniformivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetnUniformuivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void glTexParameterIivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params); __attribute__((visibility("default"))) void glTexParameterIuivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLuint *params); __attribute__((visibility("default"))) void glGetTexParameterIivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetTexParameterIuivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void glSamplerParameterIivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param); __attribute__((visibility("default"))) void glSamplerParameterIuivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint *param); __attribute__((visibility("default"))) void glGetSamplerParameterIivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetSamplerParameterIuivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void glGetQueryObjectivRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetQueryObjecti64vRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params); __attribute__((visibility("default"))) void glGetQueryObjectui64vRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params); # 620 "../../third_party/angle/include/GLES2/gl2ext_angle.h" typedef void(* PFNGLTEXSTORAGE2DMULTISAMPLEANGLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); typedef void(* PFNGLGETTEXLEVELPARAMETERFVANGLEPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params); typedef void(* PFNGLGETTEXLEVELPARAMETERIVANGLEPROC)(GLenum target, GLint level, GLenum pname, GLint *params); typedef void (* PFNGLGETMULTISAMPLEFVANGLEPROC)(GLenum pname, GLuint index, GLfloat *val); typedef void (* PFNGLSAMPLEMASKIANGLEPROC)(GLuint maskNumber, GLbitfield mask); __attribute__((visibility("default"))) void glTexStorage2DMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void glGetTexLevelParameterfvANGLE(GLenum target, GLint level, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetTexLevelParameterivANGLE(GLenum target, GLint level, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetMultisamplefvANGLE(GLenum pname, GLuint index, GLfloat *val); __attribute__((visibility("default"))) void glSampleMaskiANGLE(GLuint maskNumber, GLbitfield mask); typedef void *GLeglContext; # 1 "../../third_party/angle/include/GLES2/gl2ext_explicit_context_autogen.inc" 1 # 11 "../../third_party/angle/include/GLES2/gl2ext_explicit_context_autogen.inc" typedef void (* PFNGLACTIVETEXTURECONTEXTANGLEPROC)(GLeglContext ctx, GLenum texture); typedef void (* PFNGLATTACHSHADERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLuint shader); typedef void (* PFNGLBINDATTRIBLOCATIONCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLuint index, const GLchar *name); typedef void (* PFNGLBINDBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint buffer); typedef void (* PFNGLBINDFRAMEBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint framebuffer); typedef void (* PFNGLBINDRENDERBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint renderbuffer); typedef void (* PFNGLBINDTEXTURECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint texture); typedef void (* PFNGLBLENDCOLORCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); typedef void (* PFNGLBLENDEQUATIONCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode); typedef void (* PFNGLBLENDEQUATIONSEPARATECONTEXTANGLEPROC)(GLeglContext ctx, GLenum modeRGB, GLenum modeAlpha); typedef void (* PFNGLBLENDFUNCCONTEXTANGLEPROC)(GLeglContext ctx, GLenum sfactor, GLenum dfactor); typedef void (* PFNGLBLENDFUNCSEPARATECONTEXTANGLEPROC)(GLeglContext ctx, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); typedef void (* PFNGLBUFFERDATACONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizeiptr size, const void *data, GLenum usage); typedef void (* PFNGLBUFFERSUBDATACONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr size, const void *data); typedef GLenum (* PFNGLCHECKFRAMEBUFFERSTATUSCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target); typedef void (* PFNGLCLEARCONTEXTANGLEPROC)(GLeglContext ctx, GLbitfield mask); typedef void (* PFNGLCLEARCOLORCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); typedef void (* PFNGLCLEARDEPTHFCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat d); typedef void (* PFNGLCLEARSTENCILCONTEXTANGLEPROC)(GLeglContext ctx, GLint s); typedef void (* PFNGLCOLORMASKCONTEXTANGLEPROC)(GLeglContext ctx, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); typedef void (* PFNGLCOMPILESHADERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint shader); typedef void (* PFNGLCOMPRESSEDTEXIMAGE2DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); typedef void (* PFNGLCOMPRESSEDTEXSUBIMAGE2DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); typedef void (* PFNGLCOPYTEXIMAGE2DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); typedef void (* PFNGLCOPYTEXSUBIMAGE2DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef GLuint (* PFNGLCREATEPROGRAMCONTEXTANGLEPROC)(GLeglContext ctx); typedef GLuint (* PFNGLCREATESHADERCONTEXTANGLEPROC)(GLeglContext ctx, GLenum type); typedef void (* PFNGLCULLFACECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode); typedef void (* PFNGLDELETEBUFFERSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *buffers); typedef void (* PFNGLDELETEFRAMEBUFFERSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *framebuffers); typedef void (* PFNGLDELETEPROGRAMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program); typedef void (* PFNGLDELETERENDERBUFFERSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *renderbuffers); typedef void (* PFNGLDELETESHADERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint shader); typedef void (* PFNGLDELETETEXTURESCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *textures); typedef void (* PFNGLDEPTHFUNCCONTEXTANGLEPROC)(GLeglContext ctx, GLenum func); typedef void (* PFNGLDEPTHMASKCONTEXTANGLEPROC)(GLeglContext ctx, GLboolean flag); typedef void (* PFNGLDEPTHRANGEFCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat n, GLfloat f); typedef void (* PFNGLDETACHSHADERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLuint shader); typedef void (* PFNGLDISABLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum cap); typedef void (* PFNGLDISABLEVERTEXATTRIBARRAYCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index); typedef void (* PFNGLDRAWARRAYSCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLint first, GLsizei count); typedef void (* PFNGLDRAWELEMENTSCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices); typedef void (* PFNGLENABLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum cap); typedef void (* PFNGLENABLEVERTEXATTRIBARRAYCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index); typedef void (* PFNGLFINISHCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLFLUSHCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLFRAMEBUFFERRENDERBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); typedef void (* PFNGLFRAMEBUFFERTEXTURE2DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); typedef void (* PFNGLFRONTFACECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode); typedef void (* PFNGLGENBUFFERSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *buffers); typedef void (* PFNGLGENFRAMEBUFFERSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *framebuffers); typedef void (* PFNGLGENRENDERBUFFERSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *renderbuffers); typedef void (* PFNGLGENTEXTURESCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *textures); typedef void (* PFNGLGENERATEMIPMAPCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target); typedef void (* PFNGLGETACTIVEATTRIBCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); typedef void (* PFNGLGETACTIVEUNIFORMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); typedef void (* PFNGLGETATTACHEDSHADERSCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); typedef GLint (* PFNGLGETATTRIBLOCATIONCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, const GLchar *name); typedef void (* PFNGLGETBOOLEANVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLboolean *data); typedef void (* PFNGLGETBUFFERPARAMETERIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); typedef GLenum (* PFNGLGETERRORCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLGETFLOATVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLfloat *data); typedef void (* PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLenum pname, GLint *params); typedef void (* PFNGLGETINTEGERVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLint *data); typedef void (* PFNGLGETPROGRAMINFOLOGCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); typedef void (* PFNGLGETPROGRAMIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLenum pname, GLint *params); typedef void (* PFNGLGETRENDERBUFFERPARAMETERIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETSHADERINFOLOGCONTEXTANGLEPROC)(GLeglContext ctx, GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); typedef void (* PFNGLGETSHADERPRECISIONFORMATCONTEXTANGLEPROC)(GLeglContext ctx, GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); typedef void (* PFNGLGETSHADERSOURCECONTEXTANGLEPROC)(GLeglContext ctx, GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); typedef void (* PFNGLGETSHADERIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint shader, GLenum pname, GLint *params); typedef const GLubyte *(* PFNGLGETSTRINGCONTEXTANGLEPROC)(GLeglContext ctx, GLenum name); typedef void (* PFNGLGETTEXPARAMETERFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLfloat *params); typedef void (* PFNGLGETTEXPARAMETERIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); typedef GLint (* PFNGLGETUNIFORMLOCATIONCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, const GLchar *name); typedef void (* PFNGLGETUNIFORMFVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLfloat *params); typedef void (* PFNGLGETUNIFORMIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLint *params); typedef void (* PFNGLGETVERTEXATTRIBPOINTERVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLenum pname, void **pointer); typedef void (* PFNGLGETVERTEXATTRIBFVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLenum pname, GLfloat *params); typedef void (* PFNGLGETVERTEXATTRIBIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLenum pname, GLint *params); typedef void (* PFNGLHINTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum mode); typedef GLboolean (* PFNGLISBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint buffer); typedef GLboolean (* PFNGLISENABLEDCONTEXTANGLEPROC)(GLeglContext ctx, GLenum cap); typedef GLboolean (* PFNGLISFRAMEBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint framebuffer); typedef GLboolean (* PFNGLISPROGRAMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program); typedef GLboolean (* PFNGLISRENDERBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint renderbuffer); typedef GLboolean (* PFNGLISSHADERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint shader); typedef GLboolean (* PFNGLISTEXTURECONTEXTANGLEPROC)(GLeglContext ctx, GLuint texture); typedef void (* PFNGLLINEWIDTHCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat width); typedef void (* PFNGLLINKPROGRAMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program); typedef void (* PFNGLPIXELSTOREICONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLint param); typedef void (* PFNGLPOLYGONOFFSETCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat factor, GLfloat units); typedef void (* PFNGLREADPIXELSCONTEXTANGLEPROC)(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); typedef void (* PFNGLRELEASESHADERCOMPILERCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLRENDERBUFFERSTORAGECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLSAMPLECOVERAGECONTEXTANGLEPROC)(GLeglContext ctx, GLfloat value, GLboolean invert); typedef void (* PFNGLSCISSORCONTEXTANGLEPROC)(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (* PFNGLSHADERBINARYCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length); typedef void (* PFNGLSHADERSOURCECONTEXTANGLEPROC)(GLeglContext ctx, GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); typedef void (* PFNGLSTENCILFUNCCONTEXTANGLEPROC)(GLeglContext ctx, GLenum func, GLint ref, GLuint mask); typedef void (* PFNGLSTENCILFUNCSEPARATECONTEXTANGLEPROC)(GLeglContext ctx, GLenum face, GLenum func, GLint ref, GLuint mask); typedef void (* PFNGLSTENCILMASKCONTEXTANGLEPROC)(GLeglContext ctx, GLuint mask); typedef void (* PFNGLSTENCILMASKSEPARATECONTEXTANGLEPROC)(GLeglContext ctx, GLenum face, GLuint mask); typedef void (* PFNGLSTENCILOPCONTEXTANGLEPROC)(GLeglContext ctx, GLenum fail, GLenum zfail, GLenum zpass); typedef void (* PFNGLSTENCILOPSEPARATECONTEXTANGLEPROC)(GLeglContext ctx, GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); typedef void (* PFNGLTEXIMAGE2DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLTEXPARAMETERFCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLfloat param); typedef void (* PFNGLTEXPARAMETERFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, const GLfloat *params); typedef void (* PFNGLTEXPARAMETERICONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint param); typedef void (* PFNGLTEXPARAMETERIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, const GLint *params); typedef void (* PFNGLTEXSUBIMAGE2DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLUNIFORM1FCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLfloat v0); typedef void (* PFNGLUNIFORM1FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLUNIFORM1ICONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLint v0); typedef void (* PFNGLUNIFORM1IVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLUNIFORM2FCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLfloat v0, GLfloat v1); typedef void (* PFNGLUNIFORM2FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLUNIFORM2ICONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLint v0, GLint v1); typedef void (* PFNGLUNIFORM2IVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLUNIFORM3FCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); typedef void (* PFNGLUNIFORM3FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLUNIFORM3ICONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLint v0, GLint v1, GLint v2); typedef void (* PFNGLUNIFORM3IVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLUNIFORM4FCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); typedef void (* PFNGLUNIFORM4FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLUNIFORM4ICONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); typedef void (* PFNGLUNIFORM4IVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLUNIFORMMATRIX2FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX3FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX4FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUSEPROGRAMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program); typedef void (* PFNGLVALIDATEPROGRAMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program); typedef void (* PFNGLVERTEXATTRIB1FCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLfloat x); typedef void (* PFNGLVERTEXATTRIB1FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, const GLfloat *v); typedef void (* PFNGLVERTEXATTRIB2FCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLfloat x, GLfloat y); typedef void (* PFNGLVERTEXATTRIB2FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, const GLfloat *v); typedef void (* PFNGLVERTEXATTRIB3FCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLfloat x, GLfloat y, GLfloat z); typedef void (* PFNGLVERTEXATTRIB3FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, const GLfloat *v); typedef void (* PFNGLVERTEXATTRIB4FCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); typedef void (* PFNGLVERTEXATTRIB4FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, const GLfloat *v); typedef void (* PFNGLVERTEXATTRIBPOINTERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); typedef void (* PFNGLVIEWPORTCONTEXTANGLEPROC)(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (* PFNGLBEGINQUERYEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint id); typedef void (* PFNGLBINDFRAGDATALOCATIONEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLuint color, const GLchar *name); typedef void (* PFNGLBINDFRAGDATALOCATIONINDEXEDEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); typedef void (* PFNGLBINDVERTEXARRAYOESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint array); typedef void (* PFNGLBLITFRAMEBUFFERANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); typedef void (* PFNGLBUFFERSTORAGEMEMEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset); typedef void (* PFNGLCOMPRESSEDTEXIMAGE3DOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); typedef void (* PFNGLCOMPRESSEDTEXSUBIMAGE3DOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); typedef void (* PFNGLCOPYTEXSUBIMAGE3DOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (* PFNGLCREATEMEMORYOBJECTSEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *memoryObjects); typedef void (* PFNGLDEBUGMESSAGECALLBACKKHRCONTEXTANGLEPROC)(GLeglContext ctx, GLDEBUGPROCKHR callback, const void *userParam); typedef void (* PFNGLDEBUGMESSAGECONTROLKHRCONTEXTANGLEPROC)(GLeglContext ctx, GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); typedef void (* PFNGLDEBUGMESSAGEINSERTKHRCONTEXTANGLEPROC)(GLeglContext ctx, GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); typedef void (* PFNGLDELETEFENCESNVCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *fences); typedef void (* PFNGLDELETEMEMORYOBJECTSEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *memoryObjects); typedef void (* PFNGLDELETEQUERIESEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *ids); typedef void (* PFNGLDELETESEMAPHORESEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *semaphores); typedef void (* PFNGLDELETEVERTEXARRAYSOESCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *arrays); typedef void (* PFNGLDISCARDFRAMEBUFFEREXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei numAttachments, const GLenum *attachments); typedef void (* PFNGLDRAWARRAYSINSTANCEDANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLint first, GLsizei count, GLsizei primcount); typedef void (* PFNGLDRAWARRAYSINSTANCEDEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLint start, GLsizei count, GLsizei primcount); typedef void (* PFNGLDRAWBUFFERSEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLenum *bufs); typedef void (* PFNGLDRAWELEMENTSBASEVERTEXEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); typedef void (* PFNGLDRAWELEMENTSBASEVERTEXOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); typedef void (* PFNGLDRAWELEMENTSINSTANCEDANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); typedef void (* PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); typedef void (* PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); typedef void (* PFNGLDRAWELEMENTSINSTANCEDEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); typedef void (* PFNGLDRAWRANGEELEMENTSBASEVERTEXEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); typedef void (* PFNGLDRAWRANGEELEMENTSBASEVERTEXOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); typedef void (* PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLeglImageOES image); typedef void (* PFNGLEGLIMAGETARGETTEXTURE2DOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLeglImageOES image); typedef void (* PFNGLENDQUERYEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target); typedef void (* PFNGLFINISHFENCENVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint fence); typedef void (* PFNGLFLUSHMAPPEDBUFFERRANGEEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr length); typedef void (* PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); typedef void (* PFNGLFRAMEBUFFERTEXTURE3DOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); typedef void (* PFNGLFRAMEBUFFERTEXTUREEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLuint texture, GLint level); typedef void (* PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); typedef void (* PFNGLGENFENCESNVCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *fences); typedef void (* PFNGLGENQUERIESEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *ids); typedef void (* PFNGLGENSEMAPHORESEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *semaphores); typedef void (* PFNGLGENVERTEXARRAYSOESCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *arrays); typedef void (* PFNGLGETBUFFERPOINTERVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, void **params); typedef GLuint (* PFNGLGETDEBUGMESSAGELOGKHRCONTEXTANGLEPROC)(GLeglContext ctx, GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); typedef void (* PFNGLGETFENCEIVNVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint fence, GLenum pname, GLint *params); typedef GLint (* PFNGLGETFRAGDATAINDEXEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, const GLchar *name); typedef GLenum (* PFNGLGETGRAPHICSRESETSTATUSEXTCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLGETMEMORYOBJECTPARAMETERIVEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint memoryObject, GLenum pname, GLint *params); typedef void (* PFNGLGETOBJECTLABELKHRCONTEXTANGLEPROC)(GLeglContext ctx, GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); typedef void (* PFNGLGETOBJECTPTRLABELKHRCONTEXTANGLEPROC)(GLeglContext ctx, const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); typedef void (* PFNGLGETPOINTERVKHRCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, void **params); typedef void (* PFNGLGETPROGRAMBINARYOESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); typedef GLint (* PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLenum programInterface, const GLchar *name); typedef void (* PFNGLGETQUERYOBJECTI64VEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint id, GLenum pname, GLint64 *params); typedef void (* PFNGLGETQUERYOBJECTIVEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint id, GLenum pname, GLint *params); typedef void (* PFNGLGETQUERYOBJECTUI64VEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint id, GLenum pname, GLuint64 *params); typedef void (* PFNGLGETQUERYOBJECTUIVEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint id, GLenum pname, GLuint *params); typedef void (* PFNGLGETQUERYIVEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETSAMPLERPARAMETERIIVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLint *params); typedef void (* PFNGLGETSAMPLERPARAMETERIUIVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLuint *params); typedef void (* PFNGLGETSEMAPHOREPARAMETERUI64VEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint semaphore, GLenum pname, GLuint64 *params); typedef void (* PFNGLGETTEXPARAMETERIIVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETTEXPARAMETERIUIVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLuint *params); typedef void (* PFNGLGETTRANSLATEDSHADERSOURCEANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); typedef void (* PFNGLGETUNSIGNEDBYTEVEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLubyte *data); typedef void (* PFNGLGETUNSIGNEDBYTEI_VEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint index, GLubyte *data); typedef void (* PFNGLGETNUNIFORMFVEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLfloat *params); typedef void (* PFNGLGETNUNIFORMIVEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLint *params); typedef void (* PFNGLIMPORTMEMORYFDEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint memory, GLuint64 size, GLenum handleType, GLint fd); typedef void (* PFNGLIMPORTSEMAPHOREFDEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint semaphore, GLenum handleType, GLint fd); typedef void (* PFNGLINSERTEVENTMARKEREXTCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei length, const GLchar *marker); typedef GLboolean (* PFNGLISFENCENVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint fence); typedef GLboolean (* PFNGLISMEMORYOBJECTEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint memoryObject); typedef GLboolean (* PFNGLISQUERYEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint id); typedef GLboolean (* PFNGLISSEMAPHOREEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint semaphore); typedef GLboolean (* PFNGLISVERTEXARRAYOESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint array); typedef void *(* PFNGLMAPBUFFEROESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum access); typedef void *(* PFNGLMAPBUFFERRANGEEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); typedef void (* PFNGLMAXSHADERCOMPILERTHREADSKHRCONTEXTANGLEPROC)(GLeglContext ctx, GLuint count); typedef void (* PFNGLMEMORYOBJECTPARAMETERIVEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint memoryObject, GLenum pname, const GLint *params); typedef void (* PFNGLMULTIDRAWELEMENTSBASEVERTEXEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount, const GLint *basevertex); typedef void (* PFNGLOBJECTLABELKHRCONTEXTANGLEPROC)(GLeglContext ctx, GLenum identifier, GLuint name, GLsizei length, const GLchar *label); typedef void (* PFNGLOBJECTPTRLABELKHRCONTEXTANGLEPROC)(GLeglContext ctx, const void *ptr, GLsizei length, const GLchar *label); typedef void (* PFNGLPOPDEBUGGROUPKHRCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLPOPGROUPMARKEREXTCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLPROGRAMBINARYOESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLenum binaryFormat, const void *binary, GLint length); typedef void (* PFNGLPUSHDEBUGGROUPKHRCONTEXTANGLEPROC)(GLeglContext ctx, GLenum source, GLuint id, GLsizei length, const GLchar *message); typedef void (* PFNGLPUSHGROUPMARKEREXTCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei length, const GLchar *marker); typedef void (* PFNGLQUERYCOUNTEREXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint id, GLenum target); typedef void (* PFNGLREADNPIXELSEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); typedef void (* PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLSAMPLERPARAMETERIIVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, const GLint *param); typedef void (* PFNGLSAMPLERPARAMETERIUIVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, const GLuint *param); typedef void (* PFNGLSEMAPHOREPARAMETERUI64VEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint semaphore, GLenum pname, const GLuint64 *params); typedef void (* PFNGLSETFENCENVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint fence, GLenum condition); typedef void (* PFNGLSIGNALSEMAPHOREEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts); typedef GLboolean (* PFNGLTESTFENCENVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint fence); typedef void (* PFNGLTEXIMAGE3DOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLTEXPARAMETERIIVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, const GLint *params); typedef void (* PFNGLTEXPARAMETERIUIVOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, const GLuint *params); typedef void (* PFNGLTEXSTORAGE1DEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); typedef void (* PFNGLTEXSTORAGE2DEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLTEXSTORAGE3DEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); typedef void (* PFNGLTEXSTORAGE3DMULTISAMPLEOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); typedef void (* PFNGLTEXSTORAGEMEM2DEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); typedef void (* PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); typedef void (* PFNGLTEXSTORAGEMEM3DEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); typedef void (* PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); typedef void (* PFNGLTEXSUBIMAGE3DOESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); typedef GLboolean (* PFNGLUNMAPBUFFEROESCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target); typedef void (* PFNGLVERTEXATTRIBDIVISORANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLuint divisor); typedef void (* PFNGLVERTEXATTRIBDIVISOREXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLuint divisor); typedef void (* PFNGLWAITSEMAPHOREEXTCONTEXTANGLEPROC)(GLeglContext ctx, GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts); typedef void (* PFNGLBINDUNIFORMLOCATIONCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, const GLchar* name); typedef void (* PFNGLCOVERAGEMODULATIONCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLenum components); typedef void (* PFNGLMATRIXLOADFCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLenum matrixMode, const GLfloat * matrix); typedef void (* PFNGLMATRIXLOADIDENTITYCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLenum matrixMode); typedef GLuint (* PFNGLGENPATHSCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei range); typedef void (* PFNGLDELETEPATHSCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint first, GLsizei range); typedef GLboolean (* PFNGLISPATHCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint path); typedef void (* PFNGLPATHCOMMANDSCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint path, GLsizei numCommands, const GLubyte * commands, GLsizei numCoords, GLenum coordType, const void* coords); typedef void (* PFNGLPATHPARAMETERFCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint path, GLenum pname, GLfloat value); typedef void (* PFNGLPATHPARAMETERICHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint path, GLenum pname, GLint value); typedef void (* PFNGLGETPATHPARAMETERFVCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint path, GLenum pname, GLfloat * value); typedef void (* PFNGLGETPATHPARAMETERIVCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint path, GLenum pname, GLint * value); typedef void (* PFNGLPATHSTENCILFUNCCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLenum func, GLint ref, GLuint mask); typedef void (* PFNGLSTENCILFILLPATHCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint path, GLenum fillMode, GLuint mask); typedef void (* PFNGLSTENCILSTROKEPATHCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint path, GLint reference, GLuint mask); typedef void (* PFNGLCOVERFILLPATHCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint path, GLenum coverMode); typedef void (* PFNGLCOVERSTROKEPATHCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint path, GLenum coverMode); typedef void (* PFNGLSTENCILTHENCOVERFILLPATHCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); typedef void (* PFNGLSTENCILTHENCOVERSTROKEPATHCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint path, GLint reference, GLuint mask, GLenum coverMode); typedef void (* PFNGLCOVERFILLPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei numPath, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat * transformValues); typedef void (* PFNGLCOVERSTROKEPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei numPath, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat * transformValues); typedef void (* PFNGLSTENCILSTROKEPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei numPath, GLenum pathNameType, const void * paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat * transformValues); typedef void (* PFNGLSTENCILFILLPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat * transformValues); typedef void (* PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat * transformValues); typedef void (* PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat * transformValues); typedef void (* PFNGLBINDFRAGMENTINPUTLOCATIONCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint programs, GLint location, const GLchar * name); typedef void (* PFNGLPROGRAMPATHFRAGMENTINPUTGENCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat * coeffs); typedef void (* PFNGLCOPYTEXTURECHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); typedef void (* PFNGLCOPYSUBTEXTURECHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint xoffset, GLint yoffset, GLint x, GLint y, GLint width, GLint height, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); typedef void (* PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sourceId, GLuint destId); typedef void (* PFNGLREQUESTEXTENSIONANGLECONTEXTANGLEPROC)(GLeglContext ctx, const GLchar * name); typedef void (* PFNGLDISABLEEXTENSIONANGLECONTEXTANGLEPROC)(GLeglContext ctx, const GLchar * name); typedef void (* PFNGLGETBOOLEANVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei * length, GLboolean * params); typedef void (* PFNGLGETBUFFERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETFLOATVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei * length, GLfloat * params); typedef void (* PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETINTEGERVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * data); typedef void (* PFNGLGETPROGRAMIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETSHADERIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint shader, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETTEXPARAMETERFVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLfloat * params); typedef void (* PFNGLGETTEXPARAMETERIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETUNIFORMFVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei * length, GLfloat * params); typedef void (* PFNGLGETUNIFORMIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETVERTEXATTRIBFVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei * length, GLfloat * params); typedef void (* PFNGLGETVERTEXATTRIBIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei * length, void ** pointer); typedef void (* PFNGLREADPIXELSROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei * length, GLsizei * columns, GLsizei * rows, void * pixels); typedef void (* PFNGLTEXIMAGE2DROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void * pixels); typedef void (* PFNGLTEXPARAMETERFVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, const GLfloat * params); typedef void (* PFNGLTEXPARAMETERIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, const GLint * params); typedef void (* PFNGLTEXSUBIMAGE2DROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void * pixels); typedef void (* PFNGLTEXIMAGE3DROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void * pixels); typedef void (* PFNGLTEXSUBIMAGE3DROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, const void * pixels); typedef void (* PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei dataSize, const GLvoid * data); typedef void (* PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLsizei xoffset, GLsizei yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei dataSize, const GLvoid * data); typedef void (* PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei dataSize, const GLvoid * data); typedef void (* PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei dataSize, const GLvoid * data); typedef void (* PFNGLGETQUERYIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETQUERYOBJECTUIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint id, GLenum pname, GLsizei bufSize, GLsizei * length, GLuint * params); typedef void (* PFNGLGETBUFFERPOINTERVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, void ** params); typedef void (* PFNGLGETINTEGERI_VROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint index, GLsizei bufSize, GLsizei * length, GLint * data); typedef void (* PFNGLGETINTERNALFORMATIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETVERTEXATTRIBIIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETVERTEXATTRIBIUIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei * length, GLuint * params); typedef void (* PFNGLGETUNIFORMUIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei * length, GLuint * params); typedef void (* PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETINTEGER64VROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei * length, GLint64 * data); typedef void (* PFNGLGETINTEGER64I_VROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint index, GLsizei bufSize, GLsizei * length, GLint64 * data); typedef void (* PFNGLGETBUFFERPARAMETERI64VROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint64 * params); typedef void (* PFNGLSAMPLERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLuint pname, GLsizei bufSize, const GLint * param); typedef void (* PFNGLSAMPLERPARAMETERFVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat * param); typedef void (* PFNGLGETSAMPLERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETSAMPLERPARAMETERFVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei * length, GLfloat * params); typedef void (* PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETPROGRAMINTERFACEIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETBOOLEANI_VROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint index, GLsizei bufSize, GLsizei * length, GLboolean * data); typedef void (* PFNGLGETMULTISAMPLEFVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLuint index, GLsizei bufSize, GLsizei * length, GLfloat * val); typedef void (* PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei * length, GLfloat * params); typedef void (* PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei * length, void ** params); typedef void (* PFNGLREADNPIXELSROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei * length, GLsizei * columns, GLsizei * rows, void * data); typedef void (* PFNGLGETNUNIFORMFVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei * length, GLfloat * params); typedef void (* PFNGLGETNUNIFORMIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETNUNIFORMUIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei * length, GLuint * params); typedef void (* PFNGLTEXPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, const GLint * params); typedef void (* PFNGLTEXPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, const GLuint * params); typedef void (* PFNGLGETTEXPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETTEXPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLuint * params); typedef void (* PFNGLSAMPLERPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, const GLint * param); typedef void (* PFNGLSAMPLERPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint * param); typedef void (* PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei * length, GLuint * params); typedef void (* PFNGLGETQUERYOBJECTIVROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint id, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); typedef void (* PFNGLGETQUERYOBJECTI64VROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint id, GLenum pname, GLsizei bufSize, GLsizei * length, GLint64 * params); typedef void (* PFNGLGETQUERYOBJECTUI64VROBUSTANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint id, GLenum pname, GLsizei bufSize, GLsizei * length, GLuint64 * params); typedef void (* PFNGLCOPYTEXTURE3DANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); typedef void (* PFNGLCOPYSUBTEXTURE3DANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLint z, GLint width, GLint height, GLint depth, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); typedef void (* PFNGLTEXSTORAGE2DMULTISAMPLEANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); typedef void (* PFNGLGETTEXLEVELPARAMETERIVANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLint * params); typedef void (* PFNGLGETTEXLEVELPARAMETERFVANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLfloat * params); typedef void (* PFNGLMULTIDRAWARRAYSANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, const GLint *firsts, const GLsizei *counts, GLsizei drawcount); typedef void (* PFNGLMULTIDRAWARRAYSINSTANCEDANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, GLsizei drawcount); typedef void (* PFNGLMULTIDRAWELEMENTSANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, const GLsizei *counts, GLenum type, const GLvoid *const*indices, GLsizei drawcount); typedef void (* PFNGLMULTIDRAWELEMENTSINSTANCEDANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, const GLsizei *counts, GLenum type, const GLvoid *const*indices, const GLsizei*instanceCounts, GLsizei drawcount); typedef void (* PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance); typedef void (* PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCounts, GLint baseVertex, GLuint baseInstance); typedef void (* PFNGLMULTIDRAWARRAYSINSTANCEDBASEINSTANCEANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawcount); typedef void (* PFNGLMULTIDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, const GLsizei *counts, GLenum type, const GLvoid *const*indices, const GLsizei *instanceCounts, const GLint *baseVertices, const GLuint *baseInstances, GLsizei drawcount); typedef void (* PFNGLGETMULTISAMPLEFVANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLuint index, GLfloat * val); typedef void (* PFNGLSAMPLEMASKIANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLuint maskNumber, GLbitfield mask); typedef void (* PFNGLPROVOKINGVERTEXANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode); typedef void (* PFNGLLOSECONTEXTCHROMIUMCONTEXTANGLEPROC)(GLeglContext ctx, GLenum current, GLenum other); typedef void (* PFNGLTEXIMAGE2DEXTERNALANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type); typedef void (* PFNGLINVALIDATETEXTUREANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target); typedef void (* PFNGLGETTEXIMAGEANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); typedef void (* PFNGLGETRENDERBUFFERIMAGEANGLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum format, GLenum type, void *pixels); __attribute__((visibility("default"))) void glActiveTextureContextANGLE(GLeglContext ctx, GLenum texture); __attribute__((visibility("default"))) void glAttachShaderContextANGLE(GLeglContext ctx, GLuint program, GLuint shader); __attribute__((visibility("default"))) void glBindAttribLocationContextANGLE(GLeglContext ctx, GLuint program, GLuint index, const GLchar *name); __attribute__((visibility("default"))) void glBindBufferContextANGLE(GLeglContext ctx, GLenum target, GLuint buffer); __attribute__((visibility("default"))) void glBindFramebufferContextANGLE(GLeglContext ctx, GLenum target, GLuint framebuffer); __attribute__((visibility("default"))) void glBindRenderbufferContextANGLE(GLeglContext ctx, GLenum target, GLuint renderbuffer); __attribute__((visibility("default"))) void glBindTextureContextANGLE(GLeglContext ctx, GLenum target, GLuint texture); __attribute__((visibility("default"))) void glBlendColorContextANGLE(GLeglContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); __attribute__((visibility("default"))) void glBlendEquationContextANGLE(GLeglContext ctx, GLenum mode); __attribute__((visibility("default"))) void glBlendEquationSeparateContextANGLE(GLeglContext ctx, GLenum modeRGB, GLenum modeAlpha); __attribute__((visibility("default"))) void glBlendFuncContextANGLE(GLeglContext ctx, GLenum sfactor, GLenum dfactor); __attribute__((visibility("default"))) void glBlendFuncSeparateContextANGLE(GLeglContext ctx, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); __attribute__((visibility("default"))) void glBufferDataContextANGLE(GLeglContext ctx, GLenum target, GLsizeiptr size, const void *data, GLenum usage); __attribute__((visibility("default"))) void glBufferSubDataContextANGLE(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr size, const void *data); __attribute__((visibility("default"))) GLenum glCheckFramebufferStatusContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void glClearContextANGLE(GLeglContext ctx, GLbitfield mask); __attribute__((visibility("default"))) void glClearColorContextANGLE(GLeglContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); __attribute__((visibility("default"))) void glClearDepthfContextANGLE(GLeglContext ctx, GLfloat d); __attribute__((visibility("default"))) void glClearStencilContextANGLE(GLeglContext ctx, GLint s); __attribute__((visibility("default"))) void glColorMaskContextANGLE(GLeglContext ctx, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); __attribute__((visibility("default"))) void glCompileShaderContextANGLE(GLeglContext ctx, GLuint shader); __attribute__((visibility("default"))) void glCompressedTexImage2DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glCompressedTexSubImage2DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glCopyTexImage2DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); __attribute__((visibility("default"))) void glCopyTexSubImage2DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) GLuint glCreateProgramContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) GLuint glCreateShaderContextANGLE(GLeglContext ctx, GLenum type); __attribute__((visibility("default"))) void glCullFaceContextANGLE(GLeglContext ctx, GLenum mode); __attribute__((visibility("default"))) void glDeleteBuffersContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *buffers); __attribute__((visibility("default"))) void glDeleteFramebuffersContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *framebuffers); __attribute__((visibility("default"))) void glDeleteProgramContextANGLE(GLeglContext ctx, GLuint program); __attribute__((visibility("default"))) void glDeleteRenderbuffersContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *renderbuffers); __attribute__((visibility("default"))) void glDeleteShaderContextANGLE(GLeglContext ctx, GLuint shader); __attribute__((visibility("default"))) void glDeleteTexturesContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *textures); __attribute__((visibility("default"))) void glDepthFuncContextANGLE(GLeglContext ctx, GLenum func); __attribute__((visibility("default"))) void glDepthMaskContextANGLE(GLeglContext ctx, GLboolean flag); __attribute__((visibility("default"))) void glDepthRangefContextANGLE(GLeglContext ctx, GLfloat n, GLfloat f); __attribute__((visibility("default"))) void glDetachShaderContextANGLE(GLeglContext ctx, GLuint program, GLuint shader); __attribute__((visibility("default"))) void glDisableContextANGLE(GLeglContext ctx, GLenum cap); __attribute__((visibility("default"))) void glDisableVertexAttribArrayContextANGLE(GLeglContext ctx, GLuint index); __attribute__((visibility("default"))) void glDrawArraysContextANGLE(GLeglContext ctx, GLenum mode, GLint first, GLsizei count); __attribute__((visibility("default"))) void glDrawElementsContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices); __attribute__((visibility("default"))) void glEnableContextANGLE(GLeglContext ctx, GLenum cap); __attribute__((visibility("default"))) void glEnableVertexAttribArrayContextANGLE(GLeglContext ctx, GLuint index); __attribute__((visibility("default"))) void glFinishContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glFlushContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glFramebufferRenderbufferContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); __attribute__((visibility("default"))) void glFramebufferTexture2DContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); __attribute__((visibility("default"))) void glFrontFaceContextANGLE(GLeglContext ctx, GLenum mode); __attribute__((visibility("default"))) void glGenBuffersContextANGLE(GLeglContext ctx, GLsizei n, GLuint *buffers); __attribute__((visibility("default"))) void glGenFramebuffersContextANGLE(GLeglContext ctx, GLsizei n, GLuint *framebuffers); __attribute__((visibility("default"))) void glGenRenderbuffersContextANGLE(GLeglContext ctx, GLsizei n, GLuint *renderbuffers); __attribute__((visibility("default"))) void glGenTexturesContextANGLE(GLeglContext ctx, GLsizei n, GLuint *textures); __attribute__((visibility("default"))) void glGenerateMipmapContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void glGetActiveAttribContextANGLE(GLeglContext ctx, GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); __attribute__((visibility("default"))) void glGetActiveUniformContextANGLE(GLeglContext ctx, GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); __attribute__((visibility("default"))) void glGetAttachedShadersContextANGLE(GLeglContext ctx, GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); __attribute__((visibility("default"))) GLint glGetAttribLocationContextANGLE(GLeglContext ctx, GLuint program, const GLchar *name); __attribute__((visibility("default"))) void glGetBooleanvContextANGLE(GLeglContext ctx, GLenum pname, GLboolean *data); __attribute__((visibility("default"))) void glGetBufferParameterivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLenum glGetErrorContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glGetFloatvContextANGLE(GLeglContext ctx, GLenum pname, GLfloat *data); __attribute__((visibility("default"))) void glGetFramebufferAttachmentParameterivContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetIntegervContextANGLE(GLeglContext ctx, GLenum pname, GLint *data); __attribute__((visibility("default"))) void glGetProgramInfoLogContextANGLE(GLeglContext ctx, GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); __attribute__((visibility("default"))) void glGetProgramivContextANGLE(GLeglContext ctx, GLuint program, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetRenderbufferParameterivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetShaderInfoLogContextANGLE(GLeglContext ctx, GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); __attribute__((visibility("default"))) void glGetShaderPrecisionFormatContextANGLE(GLeglContext ctx, GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); __attribute__((visibility("default"))) void glGetShaderSourceContextANGLE(GLeglContext ctx, GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); __attribute__((visibility("default"))) void glGetShaderivContextANGLE(GLeglContext ctx, GLuint shader, GLenum pname, GLint *params); __attribute__((visibility("default"))) const GLubyte * glGetStringContextANGLE(GLeglContext ctx, GLenum name); __attribute__((visibility("default"))) void glGetTexParameterfvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetTexParameterivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLint glGetUniformLocationContextANGLE(GLeglContext ctx, GLuint program, const GLchar *name); __attribute__((visibility("default"))) void glGetUniformfvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLfloat *params); __attribute__((visibility("default"))) void glGetUniformivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLint *params); __attribute__((visibility("default"))) void glGetVertexAttribPointervContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, void **pointer); __attribute__((visibility("default"))) void glGetVertexAttribfvContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetVertexAttribivContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glHintContextANGLE(GLeglContext ctx, GLenum target, GLenum mode); __attribute__((visibility("default"))) GLboolean glIsBufferContextANGLE(GLeglContext ctx, GLuint buffer); __attribute__((visibility("default"))) GLboolean glIsEnabledContextANGLE(GLeglContext ctx, GLenum cap); __attribute__((visibility("default"))) GLboolean glIsFramebufferContextANGLE(GLeglContext ctx, GLuint framebuffer); __attribute__((visibility("default"))) GLboolean glIsProgramContextANGLE(GLeglContext ctx, GLuint program); __attribute__((visibility("default"))) GLboolean glIsRenderbufferContextANGLE(GLeglContext ctx, GLuint renderbuffer); __attribute__((visibility("default"))) GLboolean glIsShaderContextANGLE(GLeglContext ctx, GLuint shader); __attribute__((visibility("default"))) GLboolean glIsTextureContextANGLE(GLeglContext ctx, GLuint texture); __attribute__((visibility("default"))) void glLineWidthContextANGLE(GLeglContext ctx, GLfloat width); __attribute__((visibility("default"))) void glLinkProgramContextANGLE(GLeglContext ctx, GLuint program); __attribute__((visibility("default"))) void glPixelStoreiContextANGLE(GLeglContext ctx, GLenum pname, GLint param); __attribute__((visibility("default"))) void glPolygonOffsetContextANGLE(GLeglContext ctx, GLfloat factor, GLfloat units); __attribute__((visibility("default"))) void glReadPixelsContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); __attribute__((visibility("default"))) void glReleaseShaderCompilerContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glRenderbufferStorageContextANGLE(GLeglContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glSampleCoverageContextANGLE(GLeglContext ctx, GLfloat value, GLboolean invert); __attribute__((visibility("default"))) void glScissorContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glShaderBinaryContextANGLE(GLeglContext ctx, GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length); __attribute__((visibility("default"))) void glShaderSourceContextANGLE(GLeglContext ctx, GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); __attribute__((visibility("default"))) void glStencilFuncContextANGLE(GLeglContext ctx, GLenum func, GLint ref, GLuint mask); __attribute__((visibility("default"))) void glStencilFuncSeparateContextANGLE(GLeglContext ctx, GLenum face, GLenum func, GLint ref, GLuint mask); __attribute__((visibility("default"))) void glStencilMaskContextANGLE(GLeglContext ctx, GLuint mask); __attribute__((visibility("default"))) void glStencilMaskSeparateContextANGLE(GLeglContext ctx, GLenum face, GLuint mask); __attribute__((visibility("default"))) void glStencilOpContextANGLE(GLeglContext ctx, GLenum fail, GLenum zfail, GLenum zpass); __attribute__((visibility("default"))) void glStencilOpSeparateContextANGLE(GLeglContext ctx, GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); __attribute__((visibility("default"))) void glTexImage2DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glTexParameterfContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glTexParameterfvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void glTexParameteriContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint param); __attribute__((visibility("default"))) void glTexParameterivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glTexSubImage2DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glUniform1fContextANGLE(GLeglContext ctx, GLint location, GLfloat v0); __attribute__((visibility("default"))) void glUniform1fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glUniform1iContextANGLE(GLeglContext ctx, GLint location, GLint v0); __attribute__((visibility("default"))) void glUniform1ivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glUniform2fContextANGLE(GLeglContext ctx, GLint location, GLfloat v0, GLfloat v1); __attribute__((visibility("default"))) void glUniform2fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glUniform2iContextANGLE(GLeglContext ctx, GLint location, GLint v0, GLint v1); __attribute__((visibility("default"))) void glUniform2ivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glUniform3fContextANGLE(GLeglContext ctx, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); __attribute__((visibility("default"))) void glUniform3fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glUniform3iContextANGLE(GLeglContext ctx, GLint location, GLint v0, GLint v1, GLint v2); __attribute__((visibility("default"))) void glUniform3ivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glUniform4fContextANGLE(GLeglContext ctx, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); __attribute__((visibility("default"))) void glUniform4fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glUniform4iContextANGLE(GLeglContext ctx, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); __attribute__((visibility("default"))) void glUniform4ivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glUniformMatrix2fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix3fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix4fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUseProgramContextANGLE(GLeglContext ctx, GLuint program); __attribute__((visibility("default"))) void glValidateProgramContextANGLE(GLeglContext ctx, GLuint program); __attribute__((visibility("default"))) void glVertexAttrib1fContextANGLE(GLeglContext ctx, GLuint index, GLfloat x); __attribute__((visibility("default"))) void glVertexAttrib1fvContextANGLE(GLeglContext ctx, GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void glVertexAttrib2fContextANGLE(GLeglContext ctx, GLuint index, GLfloat x, GLfloat y); __attribute__((visibility("default"))) void glVertexAttrib2fvContextANGLE(GLeglContext ctx, GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void glVertexAttrib3fContextANGLE(GLeglContext ctx, GLuint index, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void glVertexAttrib3fvContextANGLE(GLeglContext ctx, GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void glVertexAttrib4fContextANGLE(GLeglContext ctx, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); __attribute__((visibility("default"))) void glVertexAttrib4fvContextANGLE(GLeglContext ctx, GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void glVertexAttribPointerContextANGLE(GLeglContext ctx, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glViewportContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glBeginQueryEXTContextANGLE(GLeglContext ctx, GLenum target, GLuint id); __attribute__((visibility("default"))) void glBindFragDataLocationEXTContextANGLE(GLeglContext ctx, GLuint program, GLuint color, const GLchar *name); __attribute__((visibility("default"))) void glBindFragDataLocationIndexedEXTContextANGLE(GLeglContext ctx, GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); __attribute__((visibility("default"))) void glBindVertexArrayOESContextANGLE(GLeglContext ctx, GLuint array); __attribute__((visibility("default"))) void glBlitFramebufferANGLEContextANGLE(GLeglContext ctx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); __attribute__((visibility("default"))) void glBufferStorageMemEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glCompressedTexImage3DOESContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glCompressedTexSubImage3DOESContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glCopyTexSubImage3DOESContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glCreateMemoryObjectsEXTContextANGLE(GLeglContext ctx, GLsizei n, GLuint *memoryObjects); __attribute__((visibility("default"))) void glDebugMessageCallbackKHRContextANGLE(GLeglContext ctx, GLDEBUGPROCKHR callback, const void *userParam); __attribute__((visibility("default"))) void glDebugMessageControlKHRContextANGLE(GLeglContext ctx, GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); __attribute__((visibility("default"))) void glDebugMessageInsertKHRContextANGLE(GLeglContext ctx, GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); __attribute__((visibility("default"))) void glDeleteFencesNVContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *fences); __attribute__((visibility("default"))) void glDeleteMemoryObjectsEXTContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *memoryObjects); __attribute__((visibility("default"))) void glDeleteQueriesEXTContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *ids); __attribute__((visibility("default"))) void glDeleteSemaphoresEXTContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *semaphores); __attribute__((visibility("default"))) void glDeleteVertexArraysOESContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *arrays); __attribute__((visibility("default"))) void glDiscardFramebufferEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei numAttachments, const GLenum *attachments); __attribute__((visibility("default"))) void glDrawArraysInstancedANGLEContextANGLE(GLeglContext ctx, GLenum mode, GLint first, GLsizei count, GLsizei primcount); __attribute__((visibility("default"))) void glDrawArraysInstancedEXTContextANGLE(GLeglContext ctx, GLenum mode, GLint start, GLsizei count, GLsizei primcount); __attribute__((visibility("default"))) void glDrawBuffersEXTContextANGLE(GLeglContext ctx, GLsizei n, const GLenum *bufs); __attribute__((visibility("default"))) void glDrawElementsBaseVertexEXTContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void glDrawElementsBaseVertexOESContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void glDrawElementsInstancedANGLEContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); __attribute__((visibility("default"))) void glDrawElementsInstancedBaseVertexEXTContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); __attribute__((visibility("default"))) void glDrawElementsInstancedBaseVertexOESContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); __attribute__((visibility("default"))) void glDrawElementsInstancedEXTContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); __attribute__((visibility("default"))) void glDrawRangeElementsBaseVertexEXTContextANGLE(GLeglContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void glDrawRangeElementsBaseVertexOESContextANGLE(GLeglContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void glEGLImageTargetRenderbufferStorageOESContextANGLE(GLeglContext ctx, GLenum target, GLeglImageOES image); __attribute__((visibility("default"))) void glEGLImageTargetTexture2DOESContextANGLE(GLeglContext ctx, GLenum target, GLeglImageOES image); __attribute__((visibility("default"))) void glEndQueryEXTContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void glFinishFenceNVContextANGLE(GLeglContext ctx, GLuint fence); __attribute__((visibility("default"))) void glFlushMappedBufferRangeEXTContextANGLE(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr length); __attribute__((visibility("default"))) void glFramebufferTexture2DMultisampleEXTContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); __attribute__((visibility("default"))) void glFramebufferTexture3DOESContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); __attribute__((visibility("default"))) void glFramebufferTextureEXTContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLuint texture, GLint level); __attribute__((visibility("default"))) void glFramebufferTextureMultiviewOVRContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); __attribute__((visibility("default"))) void glGenFencesNVContextANGLE(GLeglContext ctx, GLsizei n, GLuint *fences); __attribute__((visibility("default"))) void glGenQueriesEXTContextANGLE(GLeglContext ctx, GLsizei n, GLuint *ids); __attribute__((visibility("default"))) void glGenSemaphoresEXTContextANGLE(GLeglContext ctx, GLsizei n, GLuint *semaphores); __attribute__((visibility("default"))) void glGenVertexArraysOESContextANGLE(GLeglContext ctx, GLsizei n, GLuint *arrays); __attribute__((visibility("default"))) void glGetBufferPointervOESContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, void **params); __attribute__((visibility("default"))) GLuint glGetDebugMessageLogKHRContextANGLE(GLeglContext ctx, GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); __attribute__((visibility("default"))) void glGetFenceivNVContextANGLE(GLeglContext ctx, GLuint fence, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLint glGetFragDataIndexEXTContextANGLE(GLeglContext ctx, GLuint program, const GLchar *name); __attribute__((visibility("default"))) GLenum glGetGraphicsResetStatusEXTContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glGetMemoryObjectParameterivEXTContextANGLE(GLeglContext ctx, GLuint memoryObject, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetObjectLabelKHRContextANGLE(GLeglContext ctx, GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void glGetObjectPtrLabelKHRContextANGLE(GLeglContext ctx, const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void glGetPointervKHRContextANGLE(GLeglContext ctx, GLenum pname, void **params); __attribute__((visibility("default"))) void glGetProgramBinaryOESContextANGLE(GLeglContext ctx, GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); __attribute__((visibility("default"))) GLint glGetProgramResourceLocationIndexEXTContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, const GLchar *name); __attribute__((visibility("default"))) void glGetQueryObjecti64vEXTContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLint64 *params); __attribute__((visibility("default"))) void glGetQueryObjectivEXTContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetQueryObjectui64vEXTContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLuint64 *params); __attribute__((visibility("default"))) void glGetQueryObjectuivEXTContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glGetQueryivEXTContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetSamplerParameterIivOESContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetSamplerParameterIuivOESContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glGetSemaphoreParameterui64vEXTContextANGLE(GLeglContext ctx, GLuint semaphore, GLenum pname, GLuint64 *params); __attribute__((visibility("default"))) void glGetTexParameterIivOESContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetTexParameterIuivOESContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glGetTranslatedShaderSourceANGLEContextANGLE(GLeglContext ctx, GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); __attribute__((visibility("default"))) void glGetUnsignedBytevEXTContextANGLE(GLeglContext ctx, GLenum pname, GLubyte *data); __attribute__((visibility("default"))) void glGetUnsignedBytei_vEXTContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLubyte *data); __attribute__((visibility("default"))) void glGetnUniformfvEXTContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLfloat *params); __attribute__((visibility("default"))) void glGetnUniformivEXTContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLint *params); __attribute__((visibility("default"))) void glImportMemoryFdEXTContextANGLE(GLeglContext ctx, GLuint memory, GLuint64 size, GLenum handleType, GLint fd); __attribute__((visibility("default"))) void glImportSemaphoreFdEXTContextANGLE(GLeglContext ctx, GLuint semaphore, GLenum handleType, GLint fd); __attribute__((visibility("default"))) void glInsertEventMarkerEXTContextANGLE(GLeglContext ctx, GLsizei length, const GLchar *marker); __attribute__((visibility("default"))) GLboolean glIsFenceNVContextANGLE(GLeglContext ctx, GLuint fence); __attribute__((visibility("default"))) GLboolean glIsMemoryObjectEXTContextANGLE(GLeglContext ctx, GLuint memoryObject); __attribute__((visibility("default"))) GLboolean glIsQueryEXTContextANGLE(GLeglContext ctx, GLuint id); __attribute__((visibility("default"))) GLboolean glIsSemaphoreEXTContextANGLE(GLeglContext ctx, GLuint semaphore); __attribute__((visibility("default"))) GLboolean glIsVertexArrayOESContextANGLE(GLeglContext ctx, GLuint array); __attribute__((visibility("default"))) void * glMapBufferOESContextANGLE(GLeglContext ctx, GLenum target, GLenum access); __attribute__((visibility("default"))) void * glMapBufferRangeEXTContextANGLE(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); __attribute__((visibility("default"))) void glMaxShaderCompilerThreadsKHRContextANGLE(GLeglContext ctx, GLuint count); __attribute__((visibility("default"))) void glMemoryObjectParameterivEXTContextANGLE(GLeglContext ctx, GLuint memoryObject, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glMultiDrawElementsBaseVertexEXTContextANGLE(GLeglContext ctx, GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount, const GLint *basevertex); __attribute__((visibility("default"))) void glObjectLabelKHRContextANGLE(GLeglContext ctx, GLenum identifier, GLuint name, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void glObjectPtrLabelKHRContextANGLE(GLeglContext ctx, const void *ptr, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void glPopDebugGroupKHRContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glPopGroupMarkerEXTContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glProgramBinaryOESContextANGLE(GLeglContext ctx, GLuint program, GLenum binaryFormat, const void *binary, GLint length); __attribute__((visibility("default"))) void glPushDebugGroupKHRContextANGLE(GLeglContext ctx, GLenum source, GLuint id, GLsizei length, const GLchar *message); __attribute__((visibility("default"))) void glPushGroupMarkerEXTContextANGLE(GLeglContext ctx, GLsizei length, const GLchar *marker); __attribute__((visibility("default"))) void glQueryCounterEXTContextANGLE(GLeglContext ctx, GLuint id, GLenum target); __attribute__((visibility("default"))) void glReadnPixelsEXTContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); __attribute__((visibility("default"))) void glRenderbufferStorageMultisampleANGLEContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glRenderbufferStorageMultisampleEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glSamplerParameterIivOESContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, const GLint *param); __attribute__((visibility("default"))) void glSamplerParameterIuivOESContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, const GLuint *param); __attribute__((visibility("default"))) void glSemaphoreParameterui64vEXTContextANGLE(GLeglContext ctx, GLuint semaphore, GLenum pname, const GLuint64 *params); __attribute__((visibility("default"))) void glSetFenceNVContextANGLE(GLeglContext ctx, GLuint fence, GLenum condition); __attribute__((visibility("default"))) void glSignalSemaphoreEXTContextANGLE(GLeglContext ctx, GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts); __attribute__((visibility("default"))) GLboolean glTestFenceNVContextANGLE(GLeglContext ctx, GLuint fence); __attribute__((visibility("default"))) void glTexImage3DOESContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glTexParameterIivOESContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glTexParameterIuivOESContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLuint *params); __attribute__((visibility("default"))) void glTexStorage1DEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); __attribute__((visibility("default"))) void glTexStorage2DEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glTexStorage3DEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); __attribute__((visibility("default"))) void glTexStorage3DMultisampleOESContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void glTexStorageMem2DEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glTexStorageMem2DMultisampleEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glTexStorageMem3DEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glTexStorageMem3DMultisampleEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void glTexSubImage3DOESContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) GLboolean glUnmapBufferOESContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void glVertexAttribDivisorANGLEContextANGLE(GLeglContext ctx, GLuint index, GLuint divisor); __attribute__((visibility("default"))) void glVertexAttribDivisorEXTContextANGLE(GLeglContext ctx, GLuint index, GLuint divisor); __attribute__((visibility("default"))) void glWaitSemaphoreEXTContextANGLE(GLeglContext ctx, GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts); __attribute__((visibility("default"))) void glBindUniformLocationCHROMIUMContextANGLE(GLeglContext ctx, GLuint program, GLint location, const GLchar* name); __attribute__((visibility("default"))) void glCoverageModulationCHROMIUMContextANGLE(GLeglContext ctx, GLenum components); __attribute__((visibility("default"))) void glMatrixLoadfCHROMIUMContextANGLE(GLeglContext ctx, GLenum matrixMode, const GLfloat * matrix); __attribute__((visibility("default"))) void glMatrixLoadIdentityCHROMIUMContextANGLE(GLeglContext ctx, GLenum matrixMode); __attribute__((visibility("default"))) GLuint glGenPathsCHROMIUMContextANGLE(GLeglContext ctx, GLsizei range); __attribute__((visibility("default"))) void glDeletePathsCHROMIUMContextANGLE(GLeglContext ctx, GLuint first, GLsizei range); __attribute__((visibility("default"))) GLboolean glIsPathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path); __attribute__((visibility("default"))) void glPathCommandsCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLsizei numCommands, const GLubyte * commands, GLsizei numCoords, GLenum coordType, const void* coords); __attribute__((visibility("default"))) void glPathParameterfCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum pname, GLfloat value); __attribute__((visibility("default"))) void glPathParameteriCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum pname, GLint value); __attribute__((visibility("default"))) void glGetPathParameterfvCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum pname, GLfloat * value); __attribute__((visibility("default"))) void glGetPathParameterivCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum pname, GLint * value); __attribute__((visibility("default"))) void glPathStencilFuncCHROMIUMContextANGLE(GLeglContext ctx, GLenum func, GLint ref, GLuint mask); __attribute__((visibility("default"))) void glStencilFillPathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum fillMode, GLuint mask); __attribute__((visibility("default"))) void glStencilStrokePathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLint reference, GLuint mask); __attribute__((visibility("default"))) void glCoverFillPathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum coverMode); __attribute__((visibility("default"))) void glCoverStrokePathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum coverMode); __attribute__((visibility("default"))) void glStencilThenCoverFillPathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); __attribute__((visibility("default"))) void glStencilThenCoverStrokePathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLint reference, GLuint mask, GLenum coverMode); __attribute__((visibility("default"))) void glCoverFillPathInstancedCHROMIUMContextANGLE(GLeglContext ctx, GLsizei numPath, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat * transformValues); __attribute__((visibility("default"))) void glCoverStrokePathInstancedCHROMIUMContextANGLE(GLeglContext ctx, GLsizei numPath, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat * transformValues); __attribute__((visibility("default"))) void glStencilStrokePathInstancedCHROMIUMContextANGLE(GLeglContext ctx, GLsizei numPath, GLenum pathNameType, const void * paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat * transformValues); __attribute__((visibility("default"))) void glStencilFillPathInstancedCHROMIUMContextANGLE(GLeglContext ctx, GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat * transformValues); __attribute__((visibility("default"))) void glStencilThenCoverFillPathInstancedCHROMIUMContextANGLE(GLeglContext ctx, GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat * transformValues); __attribute__((visibility("default"))) void glStencilThenCoverStrokePathInstancedCHROMIUMContextANGLE(GLeglContext ctx, GLsizei numPaths, GLenum pathNameType, const void * paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat * transformValues); __attribute__((visibility("default"))) void glBindFragmentInputLocationCHROMIUMContextANGLE(GLeglContext ctx, GLuint programs, GLint location, const GLchar * name); __attribute__((visibility("default"))) void glProgramPathFragmentInputGenCHROMIUMContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat * coeffs); __attribute__((visibility("default"))) void glCopyTextureCHROMIUMContextANGLE(GLeglContext ctx, GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void glCopySubTextureCHROMIUMContextANGLE(GLeglContext ctx, GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint xoffset, GLint yoffset, GLint x, GLint y, GLint width, GLint height, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void glCompressedCopyTextureCHROMIUMContextANGLE(GLeglContext ctx, GLuint sourceId, GLuint destId); __attribute__((visibility("default"))) void glRequestExtensionANGLEContextANGLE(GLeglContext ctx, const GLchar * name); __attribute__((visibility("default"))) void glDisableExtensionANGLEContextANGLE(GLeglContext ctx, const GLchar * name); __attribute__((visibility("default"))) void glGetBooleanvRobustANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei * length, GLboolean * params); __attribute__((visibility("default"))) void glGetBufferParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetFloatvRobustANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei * length, GLfloat * params); __attribute__((visibility("default"))) void glGetFramebufferAttachmentParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetIntegervRobustANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * data); __attribute__((visibility("default"))) void glGetProgramivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetRenderbufferParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetShaderivRobustANGLEContextANGLE(GLeglContext ctx, GLuint shader, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetTexParameterfvRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLfloat * params); __attribute__((visibility("default"))) void glGetTexParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetUniformfvRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei * length, GLfloat * params); __attribute__((visibility("default"))) void glGetUniformivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetVertexAttribfvRobustANGLEContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei * length, GLfloat * params); __attribute__((visibility("default"))) void glGetVertexAttribivRobustANGLEContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetVertexAttribPointervRobustANGLEContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei * length, void ** pointer); __attribute__((visibility("default"))) void glReadPixelsRobustANGLEContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei * length, GLsizei * columns, GLsizei * rows, void * pixels); __attribute__((visibility("default"))) void glTexImage2DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void * pixels); __attribute__((visibility("default"))) void glTexParameterfvRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, const GLfloat * params); __attribute__((visibility("default"))) void glTexParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, const GLint * params); __attribute__((visibility("default"))) void glTexSubImage2DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void * pixels); __attribute__((visibility("default"))) void glTexImage3DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void * pixels); __attribute__((visibility("default"))) void glTexSubImage3DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, const void * pixels); __attribute__((visibility("default"))) void glCompressedTexImage2DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei dataSize, const GLvoid * data); __attribute__((visibility("default"))) void glCompressedTexSubImage2DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLsizei xoffset, GLsizei yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei dataSize, const GLvoid * data); __attribute__((visibility("default"))) void glCompressedTexImage3DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei dataSize, const GLvoid * data); __attribute__((visibility("default"))) void glCompressedTexSubImage3DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei dataSize, const GLvoid * data); __attribute__((visibility("default"))) void glGetQueryivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetQueryObjectuivRobustANGLEContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLsizei bufSize, GLsizei * length, GLuint * params); __attribute__((visibility("default"))) void glGetBufferPointervRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, void ** params); __attribute__((visibility("default"))) void glGetIntegeri_vRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLsizei bufSize, GLsizei * length, GLint * data); __attribute__((visibility("default"))) void glGetInternalformativRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetVertexAttribIivRobustANGLEContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetVertexAttribIuivRobustANGLEContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei * length, GLuint * params); __attribute__((visibility("default"))) void glGetUniformuivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei * length, GLuint * params); __attribute__((visibility("default"))) void glGetActiveUniformBlockivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetInteger64vRobustANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei * length, GLint64 * data); __attribute__((visibility("default"))) void glGetInteger64i_vRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLsizei bufSize, GLsizei * length, GLint64 * data); __attribute__((visibility("default"))) void glGetBufferParameteri64vRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint64 * params); __attribute__((visibility("default"))) void glSamplerParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLuint pname, GLsizei bufSize, const GLint * param); __attribute__((visibility("default"))) void glSamplerParameterfvRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat * param); __attribute__((visibility("default"))) void glGetSamplerParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetSamplerParameterfvRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei * length, GLfloat * params); __attribute__((visibility("default"))) void glGetFramebufferParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetProgramInterfaceivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetBooleani_vRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLsizei bufSize, GLsizei * length, GLboolean * data); __attribute__((visibility("default"))) void glGetMultisamplefvRobustANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLuint index, GLsizei bufSize, GLsizei * length, GLfloat * val); __attribute__((visibility("default"))) void glGetTexLevelParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetTexLevelParameterfvRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei * length, GLfloat * params); __attribute__((visibility("default"))) void glGetPointervRobustANGLERobustANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei * length, void ** params); __attribute__((visibility("default"))) void glReadnPixelsRobustANGLEContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei * length, GLsizei * columns, GLsizei * rows, void * data); __attribute__((visibility("default"))) void glGetnUniformfvRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei * length, GLfloat * params); __attribute__((visibility("default"))) void glGetnUniformivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetnUniformuivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei * length, GLuint * params); __attribute__((visibility("default"))) void glTexParameterIivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, const GLint * params); __attribute__((visibility("default"))) void glTexParameterIuivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, const GLuint * params); __attribute__((visibility("default"))) void glGetTexParameterIivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetTexParameterIuivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei * length, GLuint * params); __attribute__((visibility("default"))) void glSamplerParameterIivRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, const GLint * param); __attribute__((visibility("default"))) void glSamplerParameterIuivRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint * param); __attribute__((visibility("default"))) void glGetSamplerParameterIivRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetSamplerParameterIuivRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei * length, GLuint * params); __attribute__((visibility("default"))) void glGetQueryObjectivRobustANGLEContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLsizei bufSize, GLsizei * length, GLint * params); __attribute__((visibility("default"))) void glGetQueryObjecti64vRobustANGLEContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLsizei bufSize, GLsizei * length, GLint64 * params); __attribute__((visibility("default"))) void glGetQueryObjectui64vRobustANGLEContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLsizei bufSize, GLsizei * length, GLuint64 * params); __attribute__((visibility("default"))) void glCopyTexture3DANGLEContextANGLE(GLeglContext ctx, GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void glCopySubTexture3DANGLEContextANGLE(GLeglContext ctx, GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLint z, GLint width, GLint height, GLint depth, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void glTexStorage2DMultisampleANGLEContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void glGetTexLevelParameterivANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLint * params); __attribute__((visibility("default"))) void glGetTexLevelParameterfvANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLfloat * params); __attribute__((visibility("default"))) void glMultiDrawArraysANGLEContextANGLE(GLeglContext ctx, GLenum mode, const GLint *firsts, const GLsizei *counts, GLsizei drawcount); __attribute__((visibility("default"))) void glMultiDrawArraysInstancedANGLEContextANGLE(GLeglContext ctx, GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, GLsizei drawcount); __attribute__((visibility("default"))) void glMultiDrawElementsANGLEContextANGLE(GLeglContext ctx, GLenum mode, const GLsizei *counts, GLenum type, const GLvoid *const*indices, GLsizei drawcount); __attribute__((visibility("default"))) void glMultiDrawElementsInstancedANGLEContextANGLE(GLeglContext ctx, GLenum mode, const GLsizei *counts, GLenum type, const GLvoid *const*indices, const GLsizei*instanceCounts, GLsizei drawcount); __attribute__((visibility("default"))) void glDrawArraysInstancedBaseInstanceANGLEContextANGLE(GLeglContext ctx, GLenum mode, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance); __attribute__((visibility("default"))) void glDrawElementsInstancedBaseVertexBaseInstanceANGLEContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCounts, GLint baseVertex, GLuint baseInstance); __attribute__((visibility("default"))) void glMultiDrawArraysInstancedBaseInstanceANGLEContextANGLE(GLeglContext ctx, GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawcount); __attribute__((visibility("default"))) void glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLEContextANGLE(GLeglContext ctx, GLenum mode, const GLsizei *counts, GLenum type, const GLvoid *const*indices, const GLsizei *instanceCounts, const GLint *baseVertices, const GLuint *baseInstances, GLsizei drawcount); __attribute__((visibility("default"))) void glGetMultisamplefvANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLuint index, GLfloat * val); __attribute__((visibility("default"))) void glSampleMaskiANGLEContextANGLE(GLeglContext ctx, GLuint maskNumber, GLbitfield mask); __attribute__((visibility("default"))) void glProvokingVertexANGLEContextANGLE(GLeglContext ctx, GLenum mode); __attribute__((visibility("default"))) void glLoseContextCHROMIUMContextANGLE(GLeglContext ctx, GLenum current, GLenum other); __attribute__((visibility("default"))) void glTexImage2DExternalANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type); __attribute__((visibility("default"))) void glInvalidateTextureANGLEContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void glGetTexImageANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); __attribute__((visibility("default"))) void glGetRenderbufferImageANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum format, GLenum type, void *pixels); # 638 "../../third_party/angle/include/GLES2/gl2ext_angle.h" 2 # 1 "../../third_party/angle/include/GLES2/../GLES3/gl3ext_explicit_context_autogen.inc" 1 # 11 "../../third_party/angle/include/GLES2/../GLES3/gl3ext_explicit_context_autogen.inc" typedef void (* PFNGLBEGINQUERYCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint id); typedef void (* PFNGLBEGINTRANSFORMFEEDBACKCONTEXTANGLEPROC)(GLeglContext ctx, GLenum primitiveMode); typedef void (* PFNGLBINDBUFFERBASECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint index, GLuint buffer); typedef void (* PFNGLBINDBUFFERRANGECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); typedef void (* PFNGLBINDSAMPLERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint unit, GLuint sampler); typedef void (* PFNGLBINDTRANSFORMFEEDBACKCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint id); typedef void (* PFNGLBINDVERTEXARRAYCONTEXTANGLEPROC)(GLeglContext ctx, GLuint array); typedef void (* PFNGLBLITFRAMEBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); typedef void (* PFNGLCLEARBUFFERFICONTEXTANGLEPROC)(GLeglContext ctx, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); typedef void (* PFNGLCLEARBUFFERFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum buffer, GLint drawbuffer, const GLfloat *value); typedef void (* PFNGLCLEARBUFFERIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum buffer, GLint drawbuffer, const GLint *value); typedef void (* PFNGLCLEARBUFFERUIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum buffer, GLint drawbuffer, const GLuint *value); typedef GLenum (* PFNGLCLIENTWAITSYNCCONTEXTANGLEPROC)(GLeglContext ctx, GLsync sync, GLbitfield flags, GLuint64 timeout); typedef void (* PFNGLCOMPRESSEDTEXIMAGE3DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); typedef void (* PFNGLCOMPRESSEDTEXSUBIMAGE3DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); typedef void (* PFNGLCOPYBUFFERSUBDATACONTEXTANGLEPROC)(GLeglContext ctx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); typedef void (* PFNGLCOPYTEXSUBIMAGE3DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (* PFNGLDELETEQUERIESCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *ids); typedef void (* PFNGLDELETESAMPLERSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei count, const GLuint *samplers); typedef void (* PFNGLDELETESYNCCONTEXTANGLEPROC)(GLeglContext ctx, GLsync sync); typedef void (* PFNGLDELETETRANSFORMFEEDBACKSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *ids); typedef void (* PFNGLDELETEVERTEXARRAYSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *arrays); typedef void (* PFNGLDRAWARRAYSINSTANCEDCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLint first, GLsizei count, GLsizei instancecount); typedef void (* PFNGLDRAWBUFFERSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLenum *bufs); typedef void (* PFNGLDRAWELEMENTSINSTANCEDCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); typedef void (* PFNGLDRAWRANGEELEMENTSCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); typedef void (* PFNGLENDQUERYCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target); typedef void (* PFNGLENDTRANSFORMFEEDBACKCONTEXTANGLEPROC)(GLeglContext ctx); typedef GLsync (* PFNGLFENCESYNCCONTEXTANGLEPROC)(GLeglContext ctx, GLenum condition, GLbitfield flags); typedef void (* PFNGLFLUSHMAPPEDBUFFERRANGECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr length); typedef void (* PFNGLFRAMEBUFFERTEXTURELAYERCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); typedef void (* PFNGLGENQUERIESCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *ids); typedef void (* PFNGLGENSAMPLERSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei count, GLuint *samplers); typedef void (* PFNGLGENTRANSFORMFEEDBACKSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *ids); typedef void (* PFNGLGENVERTEXARRAYSCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *arrays); typedef void (* PFNGLGETACTIVEUNIFORMBLOCKNAMECONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); typedef void (* PFNGLGETACTIVEUNIFORMBLOCKIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); typedef void (* PFNGLGETACTIVEUNIFORMSIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); typedef void (* PFNGLGETBUFFERPARAMETERI64VCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint64 *params); typedef void (* PFNGLGETBUFFERPOINTERVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, void **params); typedef GLint (* PFNGLGETFRAGDATALOCATIONCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, const GLchar *name); typedef void (* PFNGLGETINTEGER64I_VCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint index, GLint64 *data); typedef void (* PFNGLGETINTEGER64VCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLint64 *data); typedef void (* PFNGLGETINTEGERI_VCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint index, GLint *data); typedef void (* PFNGLGETINTERNALFORMATIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params); typedef void (* PFNGLGETPROGRAMBINARYCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); typedef void (* PFNGLGETQUERYOBJECTUIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint id, GLenum pname, GLuint *params); typedef void (* PFNGLGETQUERYIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETSAMPLERPARAMETERFVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLfloat *params); typedef void (* PFNGLGETSAMPLERPARAMETERIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLint *params); typedef const GLubyte *(* PFNGLGETSTRINGICONTEXTANGLEPROC)(GLeglContext ctx, GLenum name, GLuint index); typedef void (* PFNGLGETSYNCIVCONTEXTANGLEPROC)(GLeglContext ctx, GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); typedef void (* PFNGLGETTRANSFORMFEEDBACKVARYINGCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); typedef GLuint (* PFNGLGETUNIFORMBLOCKINDEXCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, const GLchar *uniformBlockName); typedef void (* PFNGLGETUNIFORMINDICESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices); typedef void (* PFNGLGETUNIFORMUIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLuint *params); typedef void (* PFNGLGETVERTEXATTRIBIIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLenum pname, GLint *params); typedef void (* PFNGLGETVERTEXATTRIBIUIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLenum pname, GLuint *params); typedef void (* PFNGLINVALIDATEFRAMEBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei numAttachments, const GLenum *attachments); typedef void (* PFNGLINVALIDATESUBFRAMEBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); typedef GLboolean (* PFNGLISQUERYCONTEXTANGLEPROC)(GLeglContext ctx, GLuint id); typedef GLboolean (* PFNGLISSAMPLERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler); typedef GLboolean (* PFNGLISSYNCCONTEXTANGLEPROC)(GLeglContext ctx, GLsync sync); typedef GLboolean (* PFNGLISTRANSFORMFEEDBACKCONTEXTANGLEPROC)(GLeglContext ctx, GLuint id); typedef GLboolean (* PFNGLISVERTEXARRAYCONTEXTANGLEPROC)(GLeglContext ctx, GLuint array); typedef void *(* PFNGLMAPBUFFERRANGECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); typedef void (* PFNGLPAUSETRANSFORMFEEDBACKCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLPROGRAMBINARYCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); typedef void (* PFNGLPROGRAMPARAMETERICONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLenum pname, GLint value); typedef void (* PFNGLREADBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLenum src); typedef void (* PFNGLRENDERBUFFERSTORAGEMULTISAMPLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLRESUMETRANSFORMFEEDBACKCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLSAMPLERPARAMETERFCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLfloat param); typedef void (* PFNGLSAMPLERPARAMETERFVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, const GLfloat *param); typedef void (* PFNGLSAMPLERPARAMETERICONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLint param); typedef void (* PFNGLSAMPLERPARAMETERIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, const GLint *param); typedef void (* PFNGLTEXIMAGE3DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLTEXSTORAGE2DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLTEXSTORAGE3DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); typedef void (* PFNGLTEXSUBIMAGE3DCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLTRANSFORMFEEDBACKVARYINGSCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); typedef void (* PFNGLUNIFORM1UICONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLuint v0); typedef void (* PFNGLUNIFORM1UIVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLUNIFORM2UICONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLuint v0, GLuint v1); typedef void (* PFNGLUNIFORM2UIVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLUNIFORM3UICONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLuint v0, GLuint v1, GLuint v2); typedef void (* PFNGLUNIFORM3UIVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLUNIFORM4UICONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); typedef void (* PFNGLUNIFORM4UIVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLUNIFORMBLOCKBINDINGCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); typedef void (* PFNGLUNIFORMMATRIX2X3FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX2X4FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX3X2FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX3X4FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX4X2FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX4X3FVCONTEXTANGLEPROC)(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef GLboolean (* PFNGLUNMAPBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target); typedef void (* PFNGLVERTEXATTRIBDIVISORCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLuint divisor); typedef void (* PFNGLVERTEXATTRIBI4ICONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLint x, GLint y, GLint z, GLint w); typedef void (* PFNGLVERTEXATTRIBI4IVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, const GLint *v); typedef void (* PFNGLVERTEXATTRIBI4UICONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); typedef void (* PFNGLVERTEXATTRIBI4UIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, const GLuint *v); typedef void (* PFNGLVERTEXATTRIBIPOINTERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); typedef void (* PFNGLWAITSYNCCONTEXTANGLEPROC)(GLeglContext ctx, GLsync sync, GLbitfield flags, GLuint64 timeout); __attribute__((visibility("default"))) void glBeginQueryContextANGLE(GLeglContext ctx, GLenum target, GLuint id); __attribute__((visibility("default"))) void glBeginTransformFeedbackContextANGLE(GLeglContext ctx, GLenum primitiveMode); __attribute__((visibility("default"))) void glBindBufferBaseContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLuint buffer); __attribute__((visibility("default"))) void glBindBufferRangeContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); __attribute__((visibility("default"))) void glBindSamplerContextANGLE(GLeglContext ctx, GLuint unit, GLuint sampler); __attribute__((visibility("default"))) void glBindTransformFeedbackContextANGLE(GLeglContext ctx, GLenum target, GLuint id); __attribute__((visibility("default"))) void glBindVertexArrayContextANGLE(GLeglContext ctx, GLuint array); __attribute__((visibility("default"))) void glBlitFramebufferContextANGLE(GLeglContext ctx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); __attribute__((visibility("default"))) void glClearBufferfiContextANGLE(GLeglContext ctx, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); __attribute__((visibility("default"))) void glClearBufferfvContextANGLE(GLeglContext ctx, GLenum buffer, GLint drawbuffer, const GLfloat *value); __attribute__((visibility("default"))) void glClearBufferivContextANGLE(GLeglContext ctx, GLenum buffer, GLint drawbuffer, const GLint *value); __attribute__((visibility("default"))) void glClearBufferuivContextANGLE(GLeglContext ctx, GLenum buffer, GLint drawbuffer, const GLuint *value); __attribute__((visibility("default"))) GLenum glClientWaitSyncContextANGLE(GLeglContext ctx, GLsync sync, GLbitfield flags, GLuint64 timeout); __attribute__((visibility("default"))) void glCompressedTexImage3DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glCompressedTexSubImage3DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glCopyBufferSubDataContextANGLE(GLeglContext ctx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); __attribute__((visibility("default"))) void glCopyTexSubImage3DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glDeleteQueriesContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *ids); __attribute__((visibility("default"))) void glDeleteSamplersContextANGLE(GLeglContext ctx, GLsizei count, const GLuint *samplers); __attribute__((visibility("default"))) void glDeleteSyncContextANGLE(GLeglContext ctx, GLsync sync); __attribute__((visibility("default"))) void glDeleteTransformFeedbacksContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *ids); __attribute__((visibility("default"))) void glDeleteVertexArraysContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *arrays); __attribute__((visibility("default"))) void glDrawArraysInstancedContextANGLE(GLeglContext ctx, GLenum mode, GLint first, GLsizei count, GLsizei instancecount); __attribute__((visibility("default"))) void glDrawBuffersContextANGLE(GLeglContext ctx, GLsizei n, const GLenum *bufs); __attribute__((visibility("default"))) void glDrawElementsInstancedContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); __attribute__((visibility("default"))) void glDrawRangeElementsContextANGLE(GLeglContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); __attribute__((visibility("default"))) void glEndQueryContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void glEndTransformFeedbackContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) GLsync glFenceSyncContextANGLE(GLeglContext ctx, GLenum condition, GLbitfield flags); __attribute__((visibility("default"))) void glFlushMappedBufferRangeContextANGLE(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr length); __attribute__((visibility("default"))) void glFramebufferTextureLayerContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); __attribute__((visibility("default"))) void glGenQueriesContextANGLE(GLeglContext ctx, GLsizei n, GLuint *ids); __attribute__((visibility("default"))) void glGenSamplersContextANGLE(GLeglContext ctx, GLsizei count, GLuint *samplers); __attribute__((visibility("default"))) void glGenTransformFeedbacksContextANGLE(GLeglContext ctx, GLsizei n, GLuint *ids); __attribute__((visibility("default"))) void glGenVertexArraysContextANGLE(GLeglContext ctx, GLsizei n, GLuint *arrays); __attribute__((visibility("default"))) void glGetActiveUniformBlockNameContextANGLE(GLeglContext ctx, GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); __attribute__((visibility("default"))) void glGetActiveUniformBlockivContextANGLE(GLeglContext ctx, GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetActiveUniformsivContextANGLE(GLeglContext ctx, GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetBufferParameteri64vContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint64 *params); __attribute__((visibility("default"))) void glGetBufferPointervContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, void **params); __attribute__((visibility("default"))) GLint glGetFragDataLocationContextANGLE(GLeglContext ctx, GLuint program, const GLchar *name); __attribute__((visibility("default"))) void glGetInteger64i_vContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLint64 *data); __attribute__((visibility("default"))) void glGetInteger64vContextANGLE(GLeglContext ctx, GLenum pname, GLint64 *data); __attribute__((visibility("default"))) void glGetIntegeri_vContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLint *data); __attribute__((visibility("default"))) void glGetInternalformativContextANGLE(GLeglContext ctx, GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params); __attribute__((visibility("default"))) void glGetProgramBinaryContextANGLE(GLeglContext ctx, GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); __attribute__((visibility("default"))) void glGetQueryObjectuivContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glGetQueryivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetSamplerParameterfvContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetSamplerParameterivContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLint *params); __attribute__((visibility("default"))) const GLubyte * glGetStringiContextANGLE(GLeglContext ctx, GLenum name, GLuint index); __attribute__((visibility("default"))) void glGetSyncivContextANGLE(GLeglContext ctx, GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); __attribute__((visibility("default"))) void glGetTransformFeedbackVaryingContextANGLE(GLeglContext ctx, GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); __attribute__((visibility("default"))) GLuint glGetUniformBlockIndexContextANGLE(GLeglContext ctx, GLuint program, const GLchar *uniformBlockName); __attribute__((visibility("default"))) void glGetUniformIndicesContextANGLE(GLeglContext ctx, GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices); __attribute__((visibility("default"))) void glGetUniformuivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLuint *params); __attribute__((visibility("default"))) void glGetVertexAttribIivContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetVertexAttribIuivContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glInvalidateFramebufferContextANGLE(GLeglContext ctx, GLenum target, GLsizei numAttachments, const GLenum *attachments); __attribute__((visibility("default"))) void glInvalidateSubFramebufferContextANGLE(GLeglContext ctx, GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) GLboolean glIsQueryContextANGLE(GLeglContext ctx, GLuint id); __attribute__((visibility("default"))) GLboolean glIsSamplerContextANGLE(GLeglContext ctx, GLuint sampler); __attribute__((visibility("default"))) GLboolean glIsSyncContextANGLE(GLeglContext ctx, GLsync sync); __attribute__((visibility("default"))) GLboolean glIsTransformFeedbackContextANGLE(GLeglContext ctx, GLuint id); __attribute__((visibility("default"))) GLboolean glIsVertexArrayContextANGLE(GLeglContext ctx, GLuint array); __attribute__((visibility("default"))) void * glMapBufferRangeContextANGLE(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); __attribute__((visibility("default"))) void glPauseTransformFeedbackContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glProgramBinaryContextANGLE(GLeglContext ctx, GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); __attribute__((visibility("default"))) void glProgramParameteriContextANGLE(GLeglContext ctx, GLuint program, GLenum pname, GLint value); __attribute__((visibility("default"))) void glReadBufferContextANGLE(GLeglContext ctx, GLenum src); __attribute__((visibility("default"))) void glRenderbufferStorageMultisampleContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glResumeTransformFeedbackContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glSamplerParameterfContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glSamplerParameterfvContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, const GLfloat *param); __attribute__((visibility("default"))) void glSamplerParameteriContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLint param); __attribute__((visibility("default"))) void glSamplerParameterivContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, const GLint *param); __attribute__((visibility("default"))) void glTexImage3DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glTexStorage2DContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glTexStorage3DContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); __attribute__((visibility("default"))) void glTexSubImage3DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glTransformFeedbackVaryingsContextANGLE(GLeglContext ctx, GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); __attribute__((visibility("default"))) void glUniform1uiContextANGLE(GLeglContext ctx, GLint location, GLuint v0); __attribute__((visibility("default"))) void glUniform1uivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glUniform2uiContextANGLE(GLeglContext ctx, GLint location, GLuint v0, GLuint v1); __attribute__((visibility("default"))) void glUniform2uivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glUniform3uiContextANGLE(GLeglContext ctx, GLint location, GLuint v0, GLuint v1, GLuint v2); __attribute__((visibility("default"))) void glUniform3uivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glUniform4uiContextANGLE(GLeglContext ctx, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); __attribute__((visibility("default"))) void glUniform4uivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glUniformBlockBindingContextANGLE(GLeglContext ctx, GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); __attribute__((visibility("default"))) void glUniformMatrix2x3fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix2x4fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix3x2fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix3x4fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix4x2fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix4x3fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) GLboolean glUnmapBufferContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void glVertexAttribDivisorContextANGLE(GLeglContext ctx, GLuint index, GLuint divisor); __attribute__((visibility("default"))) void glVertexAttribI4iContextANGLE(GLeglContext ctx, GLuint index, GLint x, GLint y, GLint z, GLint w); __attribute__((visibility("default"))) void glVertexAttribI4ivContextANGLE(GLeglContext ctx, GLuint index, const GLint *v); __attribute__((visibility("default"))) void glVertexAttribI4uiContextANGLE(GLeglContext ctx, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); __attribute__((visibility("default"))) void glVertexAttribI4uivContextANGLE(GLeglContext ctx, GLuint index, const GLuint *v); __attribute__((visibility("default"))) void glVertexAttribIPointerContextANGLE(GLeglContext ctx, GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glWaitSyncContextANGLE(GLeglContext ctx, GLsync sync, GLbitfield flags, GLuint64 timeout); # 639 "../../third_party/angle/include/GLES2/gl2ext_angle.h" 2 # 1 "../../third_party/angle/include/GLES2/../GLES3/gl31ext_explicit_context_autogen.inc" 1 # 11 "../../third_party/angle/include/GLES2/../GLES3/gl31ext_explicit_context_autogen.inc" typedef void (* PFNGLACTIVESHADERPROGRAMCONTEXTANGLEPROC)(GLeglContext ctx, GLuint pipeline, GLuint program); typedef void (* PFNGLBINDIMAGETEXTURECONTEXTANGLEPROC)(GLeglContext ctx, GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); typedef void (* PFNGLBINDPROGRAMPIPELINECONTEXTANGLEPROC)(GLeglContext ctx, GLuint pipeline); typedef void (* PFNGLBINDVERTEXBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); typedef GLuint (* PFNGLCREATESHADERPROGRAMVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum type, GLsizei count, const GLchar *const*strings); typedef void (* PFNGLDELETEPROGRAMPIPELINESCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, const GLuint *pipelines); typedef void (* PFNGLDISPATCHCOMPUTECONTEXTANGLEPROC)(GLeglContext ctx, GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); typedef void (* PFNGLDISPATCHCOMPUTEINDIRECTCONTEXTANGLEPROC)(GLeglContext ctx, GLintptr indirect); typedef void (* PFNGLDRAWARRAYSINDIRECTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, const void *indirect); typedef void (* PFNGLDRAWELEMENTSINDIRECTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLenum type, const void *indirect); typedef void (* PFNGLFRAMEBUFFERPARAMETERICONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint param); typedef void (* PFNGLGENPROGRAMPIPELINESCONTEXTANGLEPROC)(GLeglContext ctx, GLsizei n, GLuint *pipelines); typedef void (* PFNGLGETBOOLEANI_VCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint index, GLboolean *data); typedef void (* PFNGLGETFRAMEBUFFERPARAMETERIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETMULTISAMPLEFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLuint index, GLfloat *val); typedef void (* PFNGLGETPROGRAMINTERFACEIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLenum programInterface, GLenum pname, GLint *params); typedef void (* PFNGLGETPROGRAMPIPELINEINFOLOGCONTEXTANGLEPROC)(GLeglContext ctx, GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); typedef void (* PFNGLGETPROGRAMPIPELINEIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint pipeline, GLenum pname, GLint *params); typedef GLuint (* PFNGLGETPROGRAMRESOURCEINDEXCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLenum programInterface, const GLchar *name); typedef GLint (* PFNGLGETPROGRAMRESOURCELOCATIONCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLenum programInterface, const GLchar *name); typedef void (* PFNGLGETPROGRAMRESOURCENAMECONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); typedef void (* PFNGLGETPROGRAMRESOURCEIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params); typedef void (* PFNGLGETTEXLEVELPARAMETERFVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLfloat *params); typedef void (* PFNGLGETTEXLEVELPARAMETERIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLint *params); typedef GLboolean (* PFNGLISPROGRAMPIPELINECONTEXTANGLEPROC)(GLeglContext ctx, GLuint pipeline); typedef void (* PFNGLMEMORYBARRIERCONTEXTANGLEPROC)(GLeglContext ctx, GLbitfield barriers); typedef void (* PFNGLMEMORYBARRIERBYREGIONCONTEXTANGLEPROC)(GLeglContext ctx, GLbitfield barriers); typedef void (* PFNGLPROGRAMUNIFORM1FCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLfloat v0); typedef void (* PFNGLPROGRAMUNIFORM1FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORM1ICONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLint v0); typedef void (* PFNGLPROGRAMUNIFORM1IVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLPROGRAMUNIFORM1UICONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLuint v0); typedef void (* PFNGLPROGRAMUNIFORM1UIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLPROGRAMUNIFORM2FCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLfloat v0, GLfloat v1); typedef void (* PFNGLPROGRAMUNIFORM2FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORM2ICONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLint v0, GLint v1); typedef void (* PFNGLPROGRAMUNIFORM2IVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLPROGRAMUNIFORM2UICONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLuint v0, GLuint v1); typedef void (* PFNGLPROGRAMUNIFORM2UIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLPROGRAMUNIFORM3FCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); typedef void (* PFNGLPROGRAMUNIFORM3FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORM3ICONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLint v0, GLint v1, GLint v2); typedef void (* PFNGLPROGRAMUNIFORM3IVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLPROGRAMUNIFORM3UICONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); typedef void (* PFNGLPROGRAMUNIFORM3UIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLPROGRAMUNIFORM4FCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); typedef void (* PFNGLPROGRAMUNIFORM4FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORM4ICONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); typedef void (* PFNGLPROGRAMUNIFORM4IVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLPROGRAMUNIFORM4UICONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); typedef void (* PFNGLPROGRAMUNIFORM4UIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX2FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX2X3FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX2X4FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX3FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX3X2FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX3X4FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX4FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX4X2FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX4X3FVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLSAMPLEMASKICONTEXTANGLEPROC)(GLeglContext ctx, GLuint maskNumber, GLbitfield mask); typedef void (* PFNGLTEXSTORAGE2DMULTISAMPLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); typedef void (* PFNGLUSEPROGRAMSTAGESCONTEXTANGLEPROC)(GLeglContext ctx, GLuint pipeline, GLbitfield stages, GLuint program); typedef void (* PFNGLVALIDATEPROGRAMPIPELINECONTEXTANGLEPROC)(GLeglContext ctx, GLuint pipeline); typedef void (* PFNGLVERTEXATTRIBBINDINGCONTEXTANGLEPROC)(GLeglContext ctx, GLuint attribindex, GLuint bindingindex); typedef void (* PFNGLVERTEXATTRIBFORMATCONTEXTANGLEPROC)(GLeglContext ctx, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); typedef void (* PFNGLVERTEXATTRIBIFORMATCONTEXTANGLEPROC)(GLeglContext ctx, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); typedef void (* PFNGLVERTEXBINDINGDIVISORCONTEXTANGLEPROC)(GLeglContext ctx, GLuint bindingindex, GLuint divisor); __attribute__((visibility("default"))) void glActiveShaderProgramContextANGLE(GLeglContext ctx, GLuint pipeline, GLuint program); __attribute__((visibility("default"))) void glBindImageTextureContextANGLE(GLeglContext ctx, GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); __attribute__((visibility("default"))) void glBindProgramPipelineContextANGLE(GLeglContext ctx, GLuint pipeline); __attribute__((visibility("default"))) void glBindVertexBufferContextANGLE(GLeglContext ctx, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); __attribute__((visibility("default"))) GLuint glCreateShaderProgramvContextANGLE(GLeglContext ctx, GLenum type, GLsizei count, const GLchar *const*strings); __attribute__((visibility("default"))) void glDeleteProgramPipelinesContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *pipelines); __attribute__((visibility("default"))) void glDispatchComputeContextANGLE(GLeglContext ctx, GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); __attribute__((visibility("default"))) void glDispatchComputeIndirectContextANGLE(GLeglContext ctx, GLintptr indirect); __attribute__((visibility("default"))) void glDrawArraysIndirectContextANGLE(GLeglContext ctx, GLenum mode, const void *indirect); __attribute__((visibility("default"))) void glDrawElementsIndirectContextANGLE(GLeglContext ctx, GLenum mode, GLenum type, const void *indirect); __attribute__((visibility("default"))) void glFramebufferParameteriContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint param); __attribute__((visibility("default"))) void glGenProgramPipelinesContextANGLE(GLeglContext ctx, GLsizei n, GLuint *pipelines); __attribute__((visibility("default"))) void glGetBooleani_vContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLboolean *data); __attribute__((visibility("default"))) void glGetFramebufferParameterivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetMultisamplefvContextANGLE(GLeglContext ctx, GLenum pname, GLuint index, GLfloat *val); __attribute__((visibility("default"))) void glGetProgramInterfaceivContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetProgramPipelineInfoLogContextANGLE(GLeglContext ctx, GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); __attribute__((visibility("default"))) void glGetProgramPipelineivContextANGLE(GLeglContext ctx, GLuint pipeline, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLuint glGetProgramResourceIndexContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, const GLchar *name); __attribute__((visibility("default"))) GLint glGetProgramResourceLocationContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, const GLchar *name); __attribute__((visibility("default"))) void glGetProgramResourceNameContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); __attribute__((visibility("default"))) void glGetProgramResourceivContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void glGetTexLevelParameterfvContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glGetTexLevelParameterivContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLboolean glIsProgramPipelineContextANGLE(GLeglContext ctx, GLuint pipeline); __attribute__((visibility("default"))) void glMemoryBarrierContextANGLE(GLeglContext ctx, GLbitfield barriers); __attribute__((visibility("default"))) void glMemoryBarrierByRegionContextANGLE(GLeglContext ctx, GLbitfield barriers); __attribute__((visibility("default"))) void glProgramUniform1fContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLfloat v0); __attribute__((visibility("default"))) void glProgramUniform1fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniform1iContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLint v0); __attribute__((visibility("default"))) void glProgramUniform1ivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glProgramUniform1uiContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLuint v0); __attribute__((visibility("default"))) void glProgramUniform1uivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glProgramUniform2fContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLfloat v0, GLfloat v1); __attribute__((visibility("default"))) void glProgramUniform2fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniform2iContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLint v0, GLint v1); __attribute__((visibility("default"))) void glProgramUniform2ivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glProgramUniform2uiContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLuint v0, GLuint v1); __attribute__((visibility("default"))) void glProgramUniform2uivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glProgramUniform3fContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); __attribute__((visibility("default"))) void glProgramUniform3fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniform3iContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLint v0, GLint v1, GLint v2); __attribute__((visibility("default"))) void glProgramUniform3ivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glProgramUniform3uiContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); __attribute__((visibility("default"))) void glProgramUniform3uivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glProgramUniform4fContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); __attribute__((visibility("default"))) void glProgramUniform4fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniform4iContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); __attribute__((visibility("default"))) void glProgramUniform4ivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glProgramUniform4uiContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); __attribute__((visibility("default"))) void glProgramUniform4uivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glProgramUniformMatrix2fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix2x3fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix2x4fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix3fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix3x2fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix3x4fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix4fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix4x2fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix4x3fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glSampleMaskiContextANGLE(GLeglContext ctx, GLuint maskNumber, GLbitfield mask); __attribute__((visibility("default"))) void glTexStorage2DMultisampleContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void glUseProgramStagesContextANGLE(GLeglContext ctx, GLuint pipeline, GLbitfield stages, GLuint program); __attribute__((visibility("default"))) void glValidateProgramPipelineContextANGLE(GLeglContext ctx, GLuint pipeline); __attribute__((visibility("default"))) void glVertexAttribBindingContextANGLE(GLeglContext ctx, GLuint attribindex, GLuint bindingindex); __attribute__((visibility("default"))) void glVertexAttribFormatContextANGLE(GLeglContext ctx, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); __attribute__((visibility("default"))) void glVertexAttribIFormatContextANGLE(GLeglContext ctx, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); __attribute__((visibility("default"))) void glVertexBindingDivisorContextANGLE(GLeglContext ctx, GLuint bindingindex, GLuint divisor); # 640 "../../third_party/angle/include/GLES2/gl2ext_angle.h" 2 # 1 "../../third_party/angle/include/GLES2/../GLES3/gl32.h" 1 extern "C" { # 39 "../../third_party/angle/include/GLES2/../GLES3/gl32.h" # 1 "../../third_party/angle/include/GLES3/gl3platform.h" 1 # 40 "../../third_party/angle/include/GLES2/../GLES3/gl32.h" 2 # 675 "../../third_party/angle/include/GLES2/../GLES3/gl32.h" typedef unsigned short GLhalf; # 997 "../../third_party/angle/include/GLES2/../GLES3/gl32.h" typedef void (* PFNGLREADBUFFERPROC) (GLenum src); typedef void (* PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); typedef void (* PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); typedef void (* PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (* PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); typedef void (* PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); typedef void (* PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids); typedef void (* PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids); typedef GLboolean (* PFNGLISQUERYPROC) (GLuint id); typedef void (* PFNGLBEGINQUERYPROC) (GLenum target, GLuint id); typedef void (* PFNGLENDQUERYPROC) (GLenum target); typedef void (* PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params); typedef GLboolean (* PFNGLUNMAPBUFFERPROC) (GLenum target); typedef void (* PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, void **params); typedef void (* PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs); typedef void (* PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLBLITFRAMEBUFFERPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); typedef void (* PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLFRAMEBUFFERTEXTURELAYERPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); typedef void *(* PFNGLMAPBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); typedef void (* PFNGLFLUSHMAPPEDBUFFERRANGEPROC) (GLenum target, GLintptr offset, GLsizeiptr length); typedef void (* PFNGLBINDVERTEXARRAYPROC) (GLuint array); typedef void (* PFNGLDELETEVERTEXARRAYSPROC) (GLsizei n, const GLuint *arrays); typedef void (* PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays); typedef GLboolean (* PFNGLISVERTEXARRAYPROC) (GLuint array); typedef void (* PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data); typedef void (* PFNGLBEGINTRANSFORMFEEDBACKPROC) (GLenum primitiveMode); typedef void (* PFNGLENDTRANSFORMFEEDBACKPROC) (void); typedef void (* PFNGLBINDBUFFERRANGEPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); typedef void (* PFNGLBINDBUFFERBASEPROC) (GLenum target, GLuint index, GLuint buffer); typedef void (* PFNGLTRANSFORMFEEDBACKVARYINGSPROC) (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); typedef void (* PFNGLGETTRANSFORMFEEDBACKVARYINGPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); typedef void (* PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); typedef void (* PFNGLGETVERTEXATTRIBIIVPROC) (GLuint index, GLenum pname, GLint *params); typedef void (* PFNGLGETVERTEXATTRIBIUIVPROC) (GLuint index, GLenum pname, GLuint *params); typedef void (* PFNGLVERTEXATTRIBI4IPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); typedef void (* PFNGLVERTEXATTRIBI4UIPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); typedef void (* PFNGLVERTEXATTRIBI4IVPROC) (GLuint index, const GLint *v); typedef void (* PFNGLVERTEXATTRIBI4UIVPROC) (GLuint index, const GLuint *v); typedef void (* PFNGLGETUNIFORMUIVPROC) (GLuint program, GLint location, GLuint *params); typedef GLint (* PFNGLGETFRAGDATALOCATIONPROC) (GLuint program, const GLchar *name); typedef void (* PFNGLUNIFORM1UIPROC) (GLint location, GLuint v0); typedef void (* PFNGLUNIFORM2UIPROC) (GLint location, GLuint v0, GLuint v1); typedef void (* PFNGLUNIFORM3UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2); typedef void (* PFNGLUNIFORM4UIPROC) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); typedef void (* PFNGLUNIFORM1UIVPROC) (GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLUNIFORM2UIVPROC) (GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLUNIFORM3UIVPROC) (GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLUNIFORM4UIVPROC) (GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLCLEARBUFFERIVPROC) (GLenum buffer, GLint drawbuffer, const GLint *value); typedef void (* PFNGLCLEARBUFFERUIVPROC) (GLenum buffer, GLint drawbuffer, const GLuint *value); typedef void (* PFNGLCLEARBUFFERFVPROC) (GLenum buffer, GLint drawbuffer, const GLfloat *value); typedef void (* PFNGLCLEARBUFFERFIPROC) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); typedef const GLubyte *(* PFNGLGETSTRINGIPROC) (GLenum name, GLuint index); typedef void (* PFNGLCOPYBUFFERSUBDATAPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); typedef void (* PFNGLGETUNIFORMINDICESPROC) (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices); typedef void (* PFNGLGETACTIVEUNIFORMSIVPROC) (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); typedef GLuint (* PFNGLGETUNIFORMBLOCKINDEXPROC) (GLuint program, const GLchar *uniformBlockName); typedef void (* PFNGLGETACTIVEUNIFORMBLOCKIVPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); typedef void (* PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); typedef void (* PFNGLUNIFORMBLOCKBINDINGPROC) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); typedef void (* PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount); typedef void (* PFNGLDRAWELEMENTSINSTANCEDPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); typedef GLsync (* PFNGLFENCESYNCPROC) (GLenum condition, GLbitfield flags); typedef GLboolean (* PFNGLISSYNCPROC) (GLsync sync); typedef void (* PFNGLDELETESYNCPROC) (GLsync sync); typedef GLenum (* PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); typedef void (* PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); typedef void (* PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *data); typedef void (* PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); typedef void (* PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data); typedef void (* PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params); typedef void (* PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers); typedef void (* PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers); typedef GLboolean (* PFNGLISSAMPLERPROC) (GLuint sampler); typedef void (* PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler); typedef void (* PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param); typedef void (* PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param); typedef void (* PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param); typedef void (* PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param); typedef void (* PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params); typedef void (* PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params); typedef void (* PFNGLVERTEXATTRIBDIVISORPROC) (GLuint index, GLuint divisor); typedef void (* PFNGLBINDTRANSFORMFEEDBACKPROC) (GLenum target, GLuint id); typedef void (* PFNGLDELETETRANSFORMFEEDBACKSPROC) (GLsizei n, const GLuint *ids); typedef void (* PFNGLGENTRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids); typedef GLboolean (* PFNGLISTRANSFORMFEEDBACKPROC) (GLuint id); typedef void (* PFNGLPAUSETRANSFORMFEEDBACKPROC) (void); typedef void (* PFNGLRESUMETRANSFORMFEEDBACKPROC) (void); typedef void (* PFNGLGETPROGRAMBINARYPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); typedef void (* PFNGLPROGRAMBINARYPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); typedef void (* PFNGLPROGRAMPARAMETERIPROC) (GLuint program, GLenum pname, GLint value); typedef void (* PFNGLINVALIDATEFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); typedef void (* PFNGLINVALIDATESUBFRAMEBUFFERPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); typedef void (* PFNGLTEXSTORAGE2DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); typedef void (* PFNGLTEXSTORAGE3DPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); typedef void (* PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params); __attribute__((visibility("default"))) void glReadBuffer (GLenum src); __attribute__((visibility("default"))) void glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); __attribute__((visibility("default"))) void glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void glGenQueries (GLsizei n, GLuint *ids); __attribute__((visibility("default"))) void glDeleteQueries (GLsizei n, const GLuint *ids); __attribute__((visibility("default"))) GLboolean glIsQuery (GLuint id); __attribute__((visibility("default"))) void glBeginQuery (GLenum target, GLuint id); __attribute__((visibility("default"))) void glEndQuery (GLenum target); __attribute__((visibility("default"))) void glGetQueryiv (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params); __attribute__((visibility("default"))) GLboolean glUnmapBuffer (GLenum target); __attribute__((visibility("default"))) void glGetBufferPointerv (GLenum target, GLenum pname, void **params); __attribute__((visibility("default"))) void glDrawBuffers (GLsizei n, const GLenum *bufs); __attribute__((visibility("default"))) void glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); __attribute__((visibility("default"))) void glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); __attribute__((visibility("default"))) void * glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); __attribute__((visibility("default"))) void glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length); __attribute__((visibility("default"))) void glBindVertexArray (GLuint array); __attribute__((visibility("default"))) void glDeleteVertexArrays (GLsizei n, const GLuint *arrays); __attribute__((visibility("default"))) void glGenVertexArrays (GLsizei n, GLuint *arrays); __attribute__((visibility("default"))) GLboolean glIsVertexArray (GLuint array); __attribute__((visibility("default"))) void glGetIntegeri_v (GLenum target, GLuint index, GLint *data); __attribute__((visibility("default"))) void glBeginTransformFeedback (GLenum primitiveMode); __attribute__((visibility("default"))) void glEndTransformFeedback (void); __attribute__((visibility("default"))) void glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); __attribute__((visibility("default"))) void glBindBufferBase (GLenum target, GLuint index, GLuint buffer); __attribute__((visibility("default"))) void glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); __attribute__((visibility("default"))) void glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); __attribute__((visibility("default"))) void glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w); __attribute__((visibility("default"))) void glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); __attribute__((visibility("default"))) void glVertexAttribI4iv (GLuint index, const GLint *v); __attribute__((visibility("default"))) void glVertexAttribI4uiv (GLuint index, const GLuint *v); __attribute__((visibility("default"))) void glGetUniformuiv (GLuint program, GLint location, GLuint *params); __attribute__((visibility("default"))) GLint glGetFragDataLocation (GLuint program, const GLchar *name); __attribute__((visibility("default"))) void glUniform1ui (GLint location, GLuint v0); __attribute__((visibility("default"))) void glUniform2ui (GLint location, GLuint v0, GLuint v1); __attribute__((visibility("default"))) void glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2); __attribute__((visibility("default"))) void glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); __attribute__((visibility("default"))) void glUniform1uiv (GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glUniform2uiv (GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glUniform3uiv (GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glUniform4uiv (GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value); __attribute__((visibility("default"))) void glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value); __attribute__((visibility("default"))) void glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value); __attribute__((visibility("default"))) void glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); __attribute__((visibility("default"))) const GLubyte * glGetStringi (GLenum name, GLuint index); __attribute__((visibility("default"))) void glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); __attribute__((visibility("default"))) void glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices); __attribute__((visibility("default"))) void glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLuint glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName); __attribute__((visibility("default"))) void glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); __attribute__((visibility("default"))) void glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); __attribute__((visibility("default"))) void glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount); __attribute__((visibility("default"))) void glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); __attribute__((visibility("default"))) GLsync glFenceSync (GLenum condition, GLbitfield flags); __attribute__((visibility("default"))) GLboolean glIsSync (GLsync sync); __attribute__((visibility("default"))) void glDeleteSync (GLsync sync); __attribute__((visibility("default"))) GLenum glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout); __attribute__((visibility("default"))) void glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout); __attribute__((visibility("default"))) void glGetInteger64v (GLenum pname, GLint64 *data); __attribute__((visibility("default"))) void glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); __attribute__((visibility("default"))) void glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data); __attribute__((visibility("default"))) void glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params); __attribute__((visibility("default"))) void glGenSamplers (GLsizei count, GLuint *samplers); __attribute__((visibility("default"))) void glDeleteSamplers (GLsizei count, const GLuint *samplers); __attribute__((visibility("default"))) GLboolean glIsSampler (GLuint sampler); __attribute__((visibility("default"))) void glBindSampler (GLuint unit, GLuint sampler); __attribute__((visibility("default"))) void glSamplerParameteri (GLuint sampler, GLenum pname, GLint param); __attribute__((visibility("default"))) void glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param); __attribute__((visibility("default"))) void glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param); __attribute__((visibility("default"))) void glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glVertexAttribDivisor (GLuint index, GLuint divisor); __attribute__((visibility("default"))) void glBindTransformFeedback (GLenum target, GLuint id); __attribute__((visibility("default"))) void glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids); __attribute__((visibility("default"))) void glGenTransformFeedbacks (GLsizei n, GLuint *ids); __attribute__((visibility("default"))) GLboolean glIsTransformFeedback (GLuint id); __attribute__((visibility("default"))) void glPauseTransformFeedback (void); __attribute__((visibility("default"))) void glResumeTransformFeedback (void); __attribute__((visibility("default"))) void glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); __attribute__((visibility("default"))) void glProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); __attribute__((visibility("default"))) void glProgramParameteri (GLuint program, GLenum pname, GLint value); __attribute__((visibility("default"))) void glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments); __attribute__((visibility("default"))) void glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); __attribute__((visibility("default"))) void glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params); # 1384 "../../third_party/angle/include/GLES2/../GLES3/gl32.h" typedef void (* PFNGLDISPATCHCOMPUTEPROC) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); typedef void (* PFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect); typedef void (* PFNGLDRAWARRAYSINDIRECTPROC) (GLenum mode, const void *indirect); typedef void (* PFNGLDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum type, const void *indirect); typedef void (* PFNGLFRAMEBUFFERPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); typedef void (* PFNGLGETFRAMEBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint *params); typedef GLuint (* PFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name); typedef void (* PFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); typedef void (* PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params); typedef GLint (* PFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint program, GLenum programInterface, const GLchar *name); typedef void (* PFNGLUSEPROGRAMSTAGESPROC) (GLuint pipeline, GLbitfield stages, GLuint program); typedef void (* PFNGLACTIVESHADERPROGRAMPROC) (GLuint pipeline, GLuint program); typedef GLuint (* PFNGLCREATESHADERPROGRAMVPROC) (GLenum type, GLsizei count, const GLchar *const*strings); typedef void (* PFNGLBINDPROGRAMPIPELINEPROC) (GLuint pipeline); typedef void (* PFNGLDELETEPROGRAMPIPELINESPROC) (GLsizei n, const GLuint *pipelines); typedef void (* PFNGLGENPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines); typedef GLboolean (* PFNGLISPROGRAMPIPELINEPROC) (GLuint pipeline); typedef void (* PFNGLGETPROGRAMPIPELINEIVPROC) (GLuint pipeline, GLenum pname, GLint *params); typedef void (* PFNGLPROGRAMUNIFORM1IPROC) (GLuint program, GLint location, GLint v0); typedef void (* PFNGLPROGRAMUNIFORM2IPROC) (GLuint program, GLint location, GLint v0, GLint v1); typedef void (* PFNGLPROGRAMUNIFORM3IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); typedef void (* PFNGLPROGRAMUNIFORM4IPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); typedef void (* PFNGLPROGRAMUNIFORM1UIPROC) (GLuint program, GLint location, GLuint v0); typedef void (* PFNGLPROGRAMUNIFORM2UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); typedef void (* PFNGLPROGRAMUNIFORM3UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); typedef void (* PFNGLPROGRAMUNIFORM4UIPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); typedef void (* PFNGLPROGRAMUNIFORM1FPROC) (GLuint program, GLint location, GLfloat v0); typedef void (* PFNGLPROGRAMUNIFORM2FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); typedef void (* PFNGLPROGRAMUNIFORM3FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); typedef void (* PFNGLPROGRAMUNIFORM4FPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); typedef void (* PFNGLPROGRAMUNIFORM1IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLPROGRAMUNIFORM2IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLPROGRAMUNIFORM3IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLPROGRAMUNIFORM4IVPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); typedef void (* PFNGLPROGRAMUNIFORM1UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLPROGRAMUNIFORM2UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLPROGRAMUNIFORM3UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLPROGRAMUNIFORM4UIVPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); typedef void (* PFNGLPROGRAMUNIFORM1FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORM2FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORM3FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORM4FVPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); typedef void (* PFNGLVALIDATEPROGRAMPIPELINEPROC) (GLuint pipeline); typedef void (* PFNGLGETPROGRAMPIPELINEINFOLOGPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); typedef void (* PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); typedef void (* PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data); typedef void (* PFNGLMEMORYBARRIERPROC) (GLbitfield barriers); typedef void (* PFNGLMEMORYBARRIERBYREGIONPROC) (GLbitfield barriers); typedef void (* PFNGLTEXSTORAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); typedef void (* PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val); typedef void (* PFNGLSAMPLEMASKIPROC) (GLuint maskNumber, GLbitfield mask); typedef void (* PFNGLGETTEXLEVELPARAMETERIVPROC) (GLenum target, GLint level, GLenum pname, GLint *params); typedef void (* PFNGLGETTEXLEVELPARAMETERFVPROC) (GLenum target, GLint level, GLenum pname, GLfloat *params); typedef void (* PFNGLBINDVERTEXBUFFERPROC) (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); typedef void (* PFNGLVERTEXATTRIBFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); typedef void (* PFNGLVERTEXATTRIBIFORMATPROC) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); typedef void (* PFNGLVERTEXATTRIBBINDINGPROC) (GLuint attribindex, GLuint bindingindex); typedef void (* PFNGLVERTEXBINDINGDIVISORPROC) (GLuint bindingindex, GLuint divisor); __attribute__((visibility("default"))) void glDispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); __attribute__((visibility("default"))) void glDispatchComputeIndirect (GLintptr indirect); __attribute__((visibility("default"))) void glDrawArraysIndirect (GLenum mode, const void *indirect); __attribute__((visibility("default"))) void glDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect); __attribute__((visibility("default"))) void glFramebufferParameteri (GLenum target, GLenum pname, GLint param); __attribute__((visibility("default"))) void glGetFramebufferParameteriv (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetProgramInterfaceiv (GLuint program, GLenum programInterface, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLuint glGetProgramResourceIndex (GLuint program, GLenum programInterface, const GLchar *name); __attribute__((visibility("default"))) void glGetProgramResourceName (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); __attribute__((visibility("default"))) void glGetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) GLint glGetProgramResourceLocation (GLuint program, GLenum programInterface, const GLchar *name); __attribute__((visibility("default"))) void glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program); __attribute__((visibility("default"))) void glActiveShaderProgram (GLuint pipeline, GLuint program); __attribute__((visibility("default"))) GLuint glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar *const*strings); __attribute__((visibility("default"))) void glBindProgramPipeline (GLuint pipeline); __attribute__((visibility("default"))) void glDeleteProgramPipelines (GLsizei n, const GLuint *pipelines); __attribute__((visibility("default"))) void glGenProgramPipelines (GLsizei n, GLuint *pipelines); __attribute__((visibility("default"))) GLboolean glIsProgramPipeline (GLuint pipeline); __attribute__((visibility("default"))) void glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glProgramUniform1i (GLuint program, GLint location, GLint v0); __attribute__((visibility("default"))) void glProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1); __attribute__((visibility("default"))) void glProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); __attribute__((visibility("default"))) void glProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); __attribute__((visibility("default"))) void glProgramUniform1ui (GLuint program, GLint location, GLuint v0); __attribute__((visibility("default"))) void glProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1); __attribute__((visibility("default"))) void glProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); __attribute__((visibility("default"))) void glProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); __attribute__((visibility("default"))) void glProgramUniform1f (GLuint program, GLint location, GLfloat v0); __attribute__((visibility("default"))) void glProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1); __attribute__((visibility("default"))) void glProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); __attribute__((visibility("default"))) void glProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); __attribute__((visibility("default"))) void glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void glValidateProgramPipeline (GLuint pipeline); __attribute__((visibility("default"))) void glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); __attribute__((visibility("default"))) void glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); __attribute__((visibility("default"))) void glGetBooleani_v (GLenum target, GLuint index, GLboolean *data); __attribute__((visibility("default"))) void glMemoryBarrier (GLbitfield barriers); __attribute__((visibility("default"))) void glMemoryBarrierByRegion (GLbitfield barriers); __attribute__((visibility("default"))) void glTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val); __attribute__((visibility("default"))) void glSampleMaski (GLuint maskNumber, GLbitfield mask); __attribute__((visibility("default"))) void glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void glBindVertexBuffer (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); __attribute__((visibility("default"))) void glVertexAttribFormat (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); __attribute__((visibility("default"))) void glVertexAttribIFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); __attribute__((visibility("default"))) void glVertexAttribBinding (GLuint attribindex, GLuint bindingindex); __attribute__((visibility("default"))) void glVertexBindingDivisor (GLuint bindingindex, GLuint divisor); typedef void ( *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); # 1733 "../../third_party/angle/include/GLES2/../GLES3/gl32.h" typedef void (* PFNGLBLENDBARRIERPROC) (void); typedef void (* PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); typedef void (* PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); typedef void (* PFNGLDEBUGMESSAGEINSERTPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); typedef void (* PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam); typedef GLuint (* PFNGLGETDEBUGMESSAGELOGPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); typedef void (* PFNGLPUSHDEBUGGROUPPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message); typedef void (* PFNGLPOPDEBUGGROUPPROC) (void); typedef void (* PFNGLOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); typedef void (* PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); typedef void (* PFNGLOBJECTPTRLABELPROC) (const void *ptr, GLsizei length, const GLchar *label); typedef void (* PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); typedef void (* PFNGLGETPOINTERVPROC) (GLenum pname, void **params); typedef void (* PFNGLENABLEIPROC) (GLenum target, GLuint index); typedef void (* PFNGLDISABLEIPROC) (GLenum target, GLuint index); typedef void (* PFNGLBLENDEQUATIONIPROC) (GLuint buf, GLenum mode); typedef void (* PFNGLBLENDEQUATIONSEPARATEIPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); typedef void (* PFNGLBLENDFUNCIPROC) (GLuint buf, GLenum src, GLenum dst); typedef void (* PFNGLBLENDFUNCSEPARATEIPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); typedef void (* PFNGLCOLORMASKIPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); typedef GLboolean (* PFNGLISENABLEDIPROC) (GLenum target, GLuint index); typedef void (* PFNGLDRAWELEMENTSBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); typedef void (* PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); typedef void (* PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); typedef void (* PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); typedef void (* PFNGLPRIMITIVEBOUNDINGBOXPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); typedef GLenum (* PFNGLGETGRAPHICSRESETSTATUSPROC) (void); typedef void (* PFNGLREADNPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); typedef void (* PFNGLGETNUNIFORMFVPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); typedef void (* PFNGLGETNUNIFORMIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); typedef void (* PFNGLGETNUNIFORMUIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params); typedef void (* PFNGLMINSAMPLESHADINGPROC) (GLfloat value); typedef void (* PFNGLPATCHPARAMETERIPROC) (GLenum pname, GLint value); typedef void (* PFNGLTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, const GLint *params); typedef void (* PFNGLTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, const GLuint *params); typedef void (* PFNGLGETTEXPARAMETERIIVPROC) (GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETTEXPARAMETERIUIVPROC) (GLenum target, GLenum pname, GLuint *params); typedef void (* PFNGLSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, const GLint *param); typedef void (* PFNGLSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, const GLuint *param); typedef void (* PFNGLGETSAMPLERPARAMETERIIVPROC) (GLuint sampler, GLenum pname, GLint *params); typedef void (* PFNGLGETSAMPLERPARAMETERIUIVPROC) (GLuint sampler, GLenum pname, GLuint *params); typedef void (* PFNGLTEXBUFFERPROC) (GLenum target, GLenum internalformat, GLuint buffer); typedef void (* PFNGLTEXBUFFERRANGEPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); typedef void (* PFNGLTEXSTORAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void glBlendBarrier (void); __attribute__((visibility("default"))) void glCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); __attribute__((visibility("default"))) void glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); __attribute__((visibility("default"))) void glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); __attribute__((visibility("default"))) void glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam); __attribute__((visibility("default"))) GLuint glGetDebugMessageLog (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); __attribute__((visibility("default"))) void glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message); __attribute__((visibility("default"))) void glPopDebugGroup (void); __attribute__((visibility("default"))) void glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void glGetPointerv (GLenum pname, void **params); __attribute__((visibility("default"))) void glEnablei (GLenum target, GLuint index); __attribute__((visibility("default"))) void glDisablei (GLenum target, GLuint index); __attribute__((visibility("default"))) void glBlendEquationi (GLuint buf, GLenum mode); __attribute__((visibility("default"))) void glBlendEquationSeparatei (GLuint buf, GLenum modeRGB, GLenum modeAlpha); __attribute__((visibility("default"))) void glBlendFunci (GLuint buf, GLenum src, GLenum dst); __attribute__((visibility("default"))) void glBlendFuncSeparatei (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); __attribute__((visibility("default"))) void glColorMaski (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); __attribute__((visibility("default"))) GLboolean glIsEnabledi (GLenum target, GLuint index); __attribute__((visibility("default"))) void glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void glDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void glDrawElementsInstancedBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); __attribute__((visibility("default"))) void glFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level); __attribute__((visibility("default"))) void glPrimitiveBoundingBox (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); __attribute__((visibility("default"))) GLenum glGetGraphicsResetStatus (void); __attribute__((visibility("default"))) void glReadnPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); __attribute__((visibility("default"))) void glGetnUniformfv (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); __attribute__((visibility("default"))) void glGetnUniformiv (GLuint program, GLint location, GLsizei bufSize, GLint *params); __attribute__((visibility("default"))) void glGetnUniformuiv (GLuint program, GLint location, GLsizei bufSize, GLuint *params); __attribute__((visibility("default"))) void glMinSampleShading (GLfloat value); __attribute__((visibility("default"))) void glPatchParameteri (GLenum pname, GLint value); __attribute__((visibility("default"))) void glTexParameterIiv (GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params); __attribute__((visibility("default"))) void glGetTexParameterIiv (GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glSamplerParameterIiv (GLuint sampler, GLenum pname, const GLint *param); __attribute__((visibility("default"))) void glSamplerParameterIuiv (GLuint sampler, GLenum pname, const GLuint *param); __attribute__((visibility("default"))) void glGetSamplerParameterIiv (GLuint sampler, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetSamplerParameterIuiv (GLuint sampler, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glTexBuffer (GLenum target, GLenum internalformat, GLuint buffer); __attribute__((visibility("default"))) void glTexBufferRange (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); __attribute__((visibility("default"))) void glTexStorage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); } # 641 "../../third_party/angle/include/GLES2/gl2ext_angle.h" 2 # 1 "../../third_party/angle/include/GLES2/../GLES3/gl32ext_explicit_context_autogen.inc" 1 # 11 "../../third_party/angle/include/GLES2/../GLES3/gl32ext_explicit_context_autogen.inc" typedef void (* PFNGLBLENDBARRIERCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLBLENDEQUATIONSEPARATEICONTEXTANGLEPROC)(GLeglContext ctx, GLuint buf, GLenum modeRGB, GLenum modeAlpha); typedef void (* PFNGLBLENDEQUATIONICONTEXTANGLEPROC)(GLeglContext ctx, GLuint buf, GLenum mode); typedef void (* PFNGLBLENDFUNCSEPARATEICONTEXTANGLEPROC)(GLeglContext ctx, GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); typedef void (* PFNGLBLENDFUNCICONTEXTANGLEPROC)(GLeglContext ctx, GLuint buf, GLenum src, GLenum dst); typedef void (* PFNGLCOLORMASKICONTEXTANGLEPROC)(GLeglContext ctx, GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); typedef void (* PFNGLCOPYIMAGESUBDATACONTEXTANGLEPROC)(GLeglContext ctx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); typedef void (* PFNGLDEBUGMESSAGECALLBACKCONTEXTANGLEPROC)(GLeglContext ctx, GLDEBUGPROC callback, const void *userParam); typedef void (* PFNGLDEBUGMESSAGECONTROLCONTEXTANGLEPROC)(GLeglContext ctx, GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); typedef void (* PFNGLDEBUGMESSAGEINSERTCONTEXTANGLEPROC)(GLeglContext ctx, GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); typedef void (* PFNGLDISABLEICONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint index); typedef void (* PFNGLDRAWELEMENTSBASEVERTEXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); typedef void (* PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); typedef void (* PFNGLDRAWRANGEELEMENTSBASEVERTEXCONTEXTANGLEPROC)(GLeglContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); typedef void (* PFNGLENABLEICONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint index); typedef void (* PFNGLFRAMEBUFFERTEXTURECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum attachment, GLuint texture, GLint level); typedef GLuint (* PFNGLGETDEBUGMESSAGELOGCONTEXTANGLEPROC)(GLeglContext ctx, GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); typedef GLenum (* PFNGLGETGRAPHICSRESETSTATUSCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLGETOBJECTLABELCONTEXTANGLEPROC)(GLeglContext ctx, GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); typedef void (* PFNGLGETOBJECTPTRLABELCONTEXTANGLEPROC)(GLeglContext ctx, const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); typedef void (* PFNGLGETPOINTERVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, void **params); typedef void (* PFNGLGETSAMPLERPARAMETERIIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLint *params); typedef void (* PFNGLGETSAMPLERPARAMETERIUIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, GLuint *params); typedef void (* PFNGLGETTEXPARAMETERIIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); typedef void (* PFNGLGETTEXPARAMETERIUIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, GLuint *params); typedef void (* PFNGLGETNUNIFORMFVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLfloat *params); typedef void (* PFNGLGETNUNIFORMIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLint *params); typedef void (* PFNGLGETNUNIFORMUIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLuint *params); typedef GLboolean (* PFNGLISENABLEDICONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLuint index); typedef void (* PFNGLMINSAMPLESHADINGCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat value); typedef void (* PFNGLOBJECTLABELCONTEXTANGLEPROC)(GLeglContext ctx, GLenum identifier, GLuint name, GLsizei length, const GLchar *label); typedef void (* PFNGLOBJECTPTRLABELCONTEXTANGLEPROC)(GLeglContext ctx, const void *ptr, GLsizei length, const GLchar *label); typedef void (* PFNGLPATCHPARAMETERICONTEXTANGLEPROC)(GLeglContext ctx, GLenum pname, GLint value); typedef void (* PFNGLPOPDEBUGGROUPCONTEXTANGLEPROC)(GLeglContext ctx); typedef void (* PFNGLPRIMITIVEBOUNDINGBOXCONTEXTANGLEPROC)(GLeglContext ctx, GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); typedef void (* PFNGLPUSHDEBUGGROUPCONTEXTANGLEPROC)(GLeglContext ctx, GLenum source, GLuint id, GLsizei length, const GLchar *message); typedef void (* PFNGLREADNPIXELSCONTEXTANGLEPROC)(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); typedef void (* PFNGLSAMPLERPARAMETERIIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, const GLint *param); typedef void (* PFNGLSAMPLERPARAMETERIUIVCONTEXTANGLEPROC)(GLeglContext ctx, GLuint sampler, GLenum pname, const GLuint *param); typedef void (* PFNGLTEXBUFFERCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum internalformat, GLuint buffer); typedef void (* PFNGLTEXBUFFERRANGECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); typedef void (* PFNGLTEXPARAMETERIIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, const GLint *params); typedef void (* PFNGLTEXPARAMETERIUIVCONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLenum pname, const GLuint *params); typedef void (* PFNGLTEXSTORAGE3DMULTISAMPLECONTEXTANGLEPROC)(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void glBlendBarrierContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glBlendEquationSeparateiContextANGLE(GLeglContext ctx, GLuint buf, GLenum modeRGB, GLenum modeAlpha); __attribute__((visibility("default"))) void glBlendEquationiContextANGLE(GLeglContext ctx, GLuint buf, GLenum mode); __attribute__((visibility("default"))) void glBlendFuncSeparateiContextANGLE(GLeglContext ctx, GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); __attribute__((visibility("default"))) void glBlendFunciContextANGLE(GLeglContext ctx, GLuint buf, GLenum src, GLenum dst); __attribute__((visibility("default"))) void glColorMaskiContextANGLE(GLeglContext ctx, GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); __attribute__((visibility("default"))) void glCopyImageSubDataContextANGLE(GLeglContext ctx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); __attribute__((visibility("default"))) void glDebugMessageCallbackContextANGLE(GLeglContext ctx, GLDEBUGPROC callback, const void *userParam); __attribute__((visibility("default"))) void glDebugMessageControlContextANGLE(GLeglContext ctx, GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); __attribute__((visibility("default"))) void glDebugMessageInsertContextANGLE(GLeglContext ctx, GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); __attribute__((visibility("default"))) void glDisableiContextANGLE(GLeglContext ctx, GLenum target, GLuint index); __attribute__((visibility("default"))) void glDrawElementsBaseVertexContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void glDrawElementsInstancedBaseVertexContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); __attribute__((visibility("default"))) void glDrawRangeElementsBaseVertexContextANGLE(GLeglContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void glEnableiContextANGLE(GLeglContext ctx, GLenum target, GLuint index); __attribute__((visibility("default"))) void glFramebufferTextureContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLuint texture, GLint level); __attribute__((visibility("default"))) GLuint glGetDebugMessageLogContextANGLE(GLeglContext ctx, GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); __attribute__((visibility("default"))) GLenum glGetGraphicsResetStatusContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glGetObjectLabelContextANGLE(GLeglContext ctx, GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void glGetObjectPtrLabelContextANGLE(GLeglContext ctx, const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void glGetPointervContextANGLE(GLeglContext ctx, GLenum pname, void **params); __attribute__((visibility("default"))) void glGetSamplerParameterIivContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetSamplerParameterIuivContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glGetTexParameterIivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void glGetTexParameterIuivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void glGetnUniformfvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLfloat *params); __attribute__((visibility("default"))) void glGetnUniformivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLint *params); __attribute__((visibility("default"))) void glGetnUniformuivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLuint *params); __attribute__((visibility("default"))) GLboolean glIsEnablediContextANGLE(GLeglContext ctx, GLenum target, GLuint index); __attribute__((visibility("default"))) void glMinSampleShadingContextANGLE(GLeglContext ctx, GLfloat value); __attribute__((visibility("default"))) void glObjectLabelContextANGLE(GLeglContext ctx, GLenum identifier, GLuint name, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void glObjectPtrLabelContextANGLE(GLeglContext ctx, const void *ptr, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void glPatchParameteriContextANGLE(GLeglContext ctx, GLenum pname, GLint value); __attribute__((visibility("default"))) void glPopDebugGroupContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void glPrimitiveBoundingBoxContextANGLE(GLeglContext ctx, GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); __attribute__((visibility("default"))) void glPushDebugGroupContextANGLE(GLeglContext ctx, GLenum source, GLuint id, GLsizei length, const GLchar *message); __attribute__((visibility("default"))) void glReadnPixelsContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); __attribute__((visibility("default"))) void glSamplerParameterIivContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, const GLint *param); __attribute__((visibility("default"))) void glSamplerParameterIuivContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, const GLuint *param); __attribute__((visibility("default"))) void glTexBufferContextANGLE(GLeglContext ctx, GLenum target, GLenum internalformat, GLuint buffer); __attribute__((visibility("default"))) void glTexBufferRangeContextANGLE(GLeglContext ctx, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); __attribute__((visibility("default"))) void glTexParameterIivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void glTexParameterIuivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLuint *params); __attribute__((visibility("default"))) void glTexStorage3DMultisampleContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); # 642 "../../third_party/angle/include/GLES2/gl2ext_angle.h" 2 typedef void (* PFNGLMULTIDRAWARRAYSANGLEPROC) (GLenum mode, const GLint *firsts, const GLsizei *counts, GLsizei drawcount); typedef void (* PFNGLMULTIDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, GLsizei drawcount); typedef void (* PFNGLMULTIDRAWELEMENTSANGLEPROC) (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, GLsizei drawcount); typedef void (* PFNGLMULTIDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, GLsizei drawcount); __attribute__((visibility("default"))) void glMultiDrawArraysANGLE (GLenum mode, const GLint *firsts, const GLsizei *counts, GLsizei drawcount); __attribute__((visibility("default"))) void glMultiDrawArraysInstancedANGLE (GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, GLsizei drawcount); __attribute__((visibility("default"))) void glMultiDrawElementsANGLE (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, GLsizei drawcount); __attribute__((visibility("default"))) void glMultiDrawElementsInstancedANGLE (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, GLsizei drawcount); typedef void (* PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance); typedef void (* PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCount, GLint baseVertex, GLuint baseInstance); typedef void (* PFNGLMULTIDRAWARRAYSINSTANCEDBASEINSTANCEANGLEPROC) (GLenum mode, const GLsizei *firsts, const GLsizei *counts, const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawCount); typedef void (* PFNGLMULTIDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEANGLEPROC) (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, const GLint *baseVertices, const GLuint *baseInstances, GLsizei drawCount); __attribute__((visibility("default"))) void glDrawArraysInstancedBaseInstanceANGLE (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance); __attribute__((visibility("default"))) void glDrawElementsInstancedBaseVertexBaseInstanceANGLE (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCount, GLint baseVertex, GLuint baseInstance); __attribute__((visibility("default"))) void glMultiDrawArraysInstancedBaseInstanceANGLE (GLenum mode, const GLsizei *firsts, const GLsizei *counts, const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawCount); __attribute__((visibility("default"))) void glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, const GLint *baseVertices, const GLuint *baseInstances, GLsizei drawCount); typedef void (* PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC)(GLuint program, GLint location, const GLchar *name); __attribute__((visibility("default"))) void glBindUniformLocationCHROMIUM(GLuint program, GLint location, const GLchar *name); __attribute__((visibility("default"))) void glLoseContextCHROMIUM(GLenum current, GLenum other); typedef void (* PFNGLLOSECONTEXTCHROMIUMPROC) (GLenum current, GLenum other); typedef void (* PFNGLTEXIMAGE2DEXTERNALANGLEPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type); typedef void (* PFNGLINVALIDATETEXTUREANGLEPROC) (GLenum target); __attribute__((visibility("default"))) void glTexImage2DExternalANGLE (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type); __attribute__((visibility("default"))) void glInvalidateTextureANGLE (GLenum target); typedef void (* PFNGLGETTEXIMAGEANGLEPROC) (GLenum target, GLint level, GLenum format, GLenum type, void *pixels); typedef void (* PFNGLGETRENDERBUFFERIMAGEANGLEPROC) (GLenum target, GLenum format, GLenum type, void *pixels); __attribute__((visibility("default"))) void glGetTexImageANGLE (GLenum target, GLint level, GLenum format, GLenum type, void *pixels); __attribute__((visibility("default"))) void glGetRenderbufferImageANGLE (GLenum target, GLenum format, GLenum type, void *pixels); # 3617 "../../third_party/angle/include/GLES2/gl2ext.h" 2 } # 18 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h" 2 # 1 "../../third_party/angle/include/GLES3/gl32.h" 1 # 19 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h" 2 # 1 "../../third_party/angle/include/export.h" 1 # 20 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h" 2 namespace gl { __attribute__((visibility("default"))) void DrawArraysInstancedBaseInstanceANGLE(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance); __attribute__((visibility("default"))) void DrawElementsInstancedBaseVertexBaseInstanceANGLE(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCounts, GLint baseVertex, GLuint baseInstance); __attribute__((visibility("default"))) void MultiDrawArraysInstancedBaseInstanceANGLE(GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawcount); __attribute__((visibility("default"))) void MultiDrawElementsInstancedBaseVertexBaseInstanceANGLE(GLenum mode, const GLsizei *counts, GLenum type, const GLvoid *const *indices, const GLsizei *instanceCounts, const GLint *baseVertices, const GLuint *baseInstances, GLsizei drawcount); __attribute__((visibility("default"))) void CopyTexture3DANGLE(GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void CopySubTexture3DANGLE(GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLint z, GLint width, GLint height, GLint depth, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void BlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); __attribute__((visibility("default"))) void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void GetTexImageANGLE(GLenum target, GLint level, GLenum format, GLenum type, void *pixels); __attribute__((visibility("default"))) void GetRenderbufferImageANGLE(GLenum target, GLenum format, GLenum type, void *pixels); __attribute__((visibility("default"))) void DrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount); __attribute__((visibility("default"))) void DrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); __attribute__((visibility("default"))) void VertexAttribDivisorANGLE(GLuint index, GLuint divisor); __attribute__((visibility("default"))) void MultiDrawArraysANGLE(GLenum mode, const GLint *firsts, const GLsizei *counts, GLsizei drawcount); __attribute__((visibility("default"))) void MultiDrawArraysInstancedANGLE(GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, GLsizei drawcount); __attribute__((visibility("default"))) void MultiDrawElementsANGLE(GLenum mode, const GLsizei *counts, GLenum type, const GLvoid *const *indices, GLsizei drawcount); __attribute__((visibility("default"))) void MultiDrawElementsInstancedANGLE(GLenum mode, const GLsizei *counts, GLenum type, const GLvoid *const *indices, const GLsizei *instanceCounts, GLsizei drawcount); __attribute__((visibility("default"))) void ProvokingVertexANGLE(GLenum mode); __attribute__((visibility("default"))) void RequestExtensionANGLE(const GLchar *name); __attribute__((visibility("default"))) void DisableExtensionANGLE(const GLchar *name); __attribute__((visibility("default"))) void GetBooleanvRobustANGLE(GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *params); __attribute__((visibility("default"))) void GetBufferParameterivRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetFloatvRobustANGLE(GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetFramebufferAttachmentParameterivRobustANGLE(GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetIntegervRobustANGLE(GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data); __attribute__((visibility("default"))) void GetProgramivRobustANGLE(GLuint program, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetRenderbufferParameterivRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetShaderivRobustANGLE(GLuint shader, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetTexParameterfvRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetTexParameterivRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetUniformfvRobustANGLE(GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetUniformivRobustANGLE(GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetVertexAttribfvRobustANGLE(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetVertexAttribivRobustANGLE(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetVertexAttribPointervRobustANGLE(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer); __attribute__((visibility("default"))) void ReadPixelsRobustANGLE(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *pixels); __attribute__((visibility("default"))) void TexImage2DRobustANGLE(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); __attribute__((visibility("default"))) void TexParameterfvRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, const GLfloat *params); __attribute__((visibility("default"))) void TexParameterivRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, const GLint *params); __attribute__((visibility("default"))) void TexSubImage2DRobustANGLE(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); __attribute__((visibility("default"))) void TexImage3DRobustANGLE(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); __attribute__((visibility("default"))) void TexSubImage3DRobustANGLE(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); __attribute__((visibility("default"))) void CompressedTexImage2DRobustANGLE(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); __attribute__((visibility("default"))) void CompressedTexSubImage2DRobustANGLE(GLenum target, GLint level, GLsizei xoffset, GLsizei yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); __attribute__((visibility("default"))) void CompressedTexImage3DRobustANGLE(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); __attribute__((visibility("default"))) void CompressedTexSubImage3DRobustANGLE(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); __attribute__((visibility("default"))) void GetQueryivRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetQueryObjectuivRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void GetBufferPointervRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, void **params); __attribute__((visibility("default"))) void GetIntegeri_vRobustANGLE(GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint *data); __attribute__((visibility("default"))) void GetInternalformativRobustANGLE(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetVertexAttribIivRobustANGLE(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetVertexAttribIuivRobustANGLE(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void GetUniformuivRobustANGLE(GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void GetActiveUniformBlockivRobustANGLE(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetInteger64vRobustANGLE(GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data); __attribute__((visibility("default"))) void GetInteger64i_vRobustANGLE(GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint64 *data); __attribute__((visibility("default"))) void GetBufferParameteri64vRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params); __attribute__((visibility("default"))) void SamplerParameterivRobustANGLE(GLuint sampler, GLuint pname, GLsizei bufSize, const GLint *param); __attribute__((visibility("default"))) void SamplerParameterfvRobustANGLE(GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat *param); __attribute__((visibility("default"))) void GetSamplerParameterivRobustANGLE(GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetSamplerParameterfvRobustANGLE(GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetFramebufferParameterivRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetProgramInterfaceivRobustANGLE(GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetBooleani_vRobustANGLE(GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLboolean *data); __attribute__((visibility("default"))) void GetMultisamplefvRobustANGLE(GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, GLfloat *val); __attribute__((visibility("default"))) void GetTexLevelParameterivRobustANGLE(GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetTexLevelParameterfvRobustANGLE(GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetPointervRobustANGLERobustANGLE(GLenum pname, GLsizei bufSize, GLsizei *length, void **params); __attribute__((visibility("default"))) void ReadnPixelsRobustANGLE(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *data); __attribute__((visibility("default"))) void GetnUniformfvRobustANGLE(GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetnUniformivRobustANGLE(GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetnUniformuivRobustANGLE(GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void TexParameterIivRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, const GLint *params); __attribute__((visibility("default"))) void TexParameterIuivRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, const GLuint *params); __attribute__((visibility("default"))) void GetTexParameterIivRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetTexParameterIuivRobustANGLE(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void SamplerParameterIivRobustANGLE(GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param); __attribute__((visibility("default"))) void SamplerParameterIuivRobustANGLE(GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint *param); __attribute__((visibility("default"))) void GetSamplerParameterIivRobustANGLE(GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetSamplerParameterIuivRobustANGLE(GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void GetQueryObjectivRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetQueryObjecti64vRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params); __attribute__((visibility("default"))) void GetQueryObjectui64vRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params); __attribute__((visibility("default"))) void TexImage2DExternalANGLE(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type); __attribute__((visibility("default"))) void InvalidateTextureANGLE(GLenum target); __attribute__((visibility("default"))) void TexStorage2DMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void GetTexLevelParameterivANGLE(GLenum target, GLint level, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetTexLevelParameterfvANGLE(GLenum target, GLint level, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void GetMultisamplefvANGLE(GLenum pname, GLuint index, GLfloat *val); __attribute__((visibility("default"))) void SampleMaskiANGLE(GLuint maskNumber, GLbitfield mask); __attribute__((visibility("default"))) void GetTranslatedShaderSourceANGLE(GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); __attribute__((visibility("default"))) void BindUniformLocationCHROMIUM(GLuint program, GLint location, const GLchar *name); __attribute__((visibility("default"))) void CompressedCopyTextureCHROMIUM(GLuint sourceId, GLuint destId); __attribute__((visibility("default"))) void CopyTextureCHROMIUM(GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void CopySubTextureCHROMIUM(GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint xoffset, GLint yoffset, GLint x, GLint y, GLint width, GLint height, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void CoverageModulationCHROMIUM(GLenum components); __attribute__((visibility("default"))) void MatrixLoadfCHROMIUM(GLenum matrixMode, const GLfloat *matrix); __attribute__((visibility("default"))) void MatrixLoadIdentityCHROMIUM(GLenum matrixMode); __attribute__((visibility("default"))) void LoseContextCHROMIUM(GLenum current, GLenum other); __attribute__((visibility("default"))) GLuint GenPathsCHROMIUM(GLsizei range); __attribute__((visibility("default"))) void DeletePathsCHROMIUM(GLuint first, GLsizei range); __attribute__((visibility("default"))) GLboolean IsPathCHROMIUM(GLuint path); __attribute__((visibility("default"))) void PathCommandsCHROMIUM(GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); __attribute__((visibility("default"))) void PathParameterfCHROMIUM(GLuint path, GLenum pname, GLfloat value); __attribute__((visibility("default"))) void PathParameteriCHROMIUM(GLuint path, GLenum pname, GLint value); __attribute__((visibility("default"))) void GetPathParameterfvCHROMIUM(GLuint path, GLenum pname, GLfloat *value); __attribute__((visibility("default"))) void GetPathParameterivCHROMIUM(GLuint path, GLenum pname, GLint *value); __attribute__((visibility("default"))) void PathStencilFuncCHROMIUM(GLenum func, GLint ref, GLuint mask); __attribute__((visibility("default"))) void StencilFillPathCHROMIUM(GLuint path, GLenum fillMode, GLuint mask); __attribute__((visibility("default"))) void StencilStrokePathCHROMIUM(GLuint path, GLint reference, GLuint mask); __attribute__((visibility("default"))) void CoverFillPathCHROMIUM(GLuint path, GLenum coverMode); __attribute__((visibility("default"))) void CoverStrokePathCHROMIUM(GLuint path, GLenum coverMode); __attribute__((visibility("default"))) void StencilThenCoverFillPathCHROMIUM(GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); __attribute__((visibility("default"))) void StencilThenCoverStrokePathCHROMIUM(GLuint path, GLint reference, GLuint mask, GLenum coverMode); __attribute__((visibility("default"))) void CoverFillPathInstancedCHROMIUM(GLsizei numPath, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void CoverStrokePathInstancedCHROMIUM(GLsizei numPath, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void StencilStrokePathInstancedCHROMIUM(GLsizei numPath, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void StencilFillPathInstancedCHROMIUM(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void StencilThenCoverFillPathInstancedCHROMIUM(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void StencilThenCoverStrokePathInstancedCHROMIUM(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void BindFragmentInputLocationCHROMIUM(GLuint programs, GLint location, const GLchar *name); __attribute__((visibility("default"))) void ProgramPathFragmentInputGenCHROMIUM(GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); __attribute__((visibility("default"))) void BindFragDataLocationEXT(GLuint program, GLuint color, const GLchar *name); __attribute__((visibility("default"))) void BindFragDataLocationIndexedEXT(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); __attribute__((visibility("default"))) GLint GetFragDataIndexEXT(GLuint program, const GLchar *name); __attribute__((visibility("default"))) GLint GetProgramResourceLocationIndexEXT(GLuint program, GLenum programInterface, const GLchar *name); __attribute__((visibility("default"))) void InsertEventMarkerEXT(GLsizei length, const GLchar *marker); __attribute__((visibility("default"))) void PopGroupMarkerEXT(); __attribute__((visibility("default"))) void PushGroupMarkerEXT(GLsizei length, const GLchar *marker); __attribute__((visibility("default"))) void DiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum *attachments); __attribute__((visibility("default"))) void BeginQueryEXT(GLenum target, GLuint id); __attribute__((visibility("default"))) void DeleteQueriesEXT(GLsizei n, const GLuint *ids); __attribute__((visibility("default"))) void EndQueryEXT(GLenum target); __attribute__((visibility("default"))) void GenQueriesEXT(GLsizei n, GLuint *ids); __attribute__((visibility("default"))) void GetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64 *params); __attribute__((visibility("default"))) void GetQueryObjectivEXT(GLuint id, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64 *params); __attribute__((visibility("default"))) void GetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void GetQueryivEXT(GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLboolean IsQueryEXT(GLuint id); __attribute__((visibility("default"))) void QueryCounterEXT(GLuint id, GLenum target); __attribute__((visibility("default"))) void DrawBuffersEXT(GLsizei n, const GLenum *bufs); __attribute__((visibility("default"))) void DrawElementsBaseVertexEXT(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void DrawElementsInstancedBaseVertexEXT(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); __attribute__((visibility("default"))) void DrawRangeElementsBaseVertexEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void MultiDrawElementsBaseVertexEXT(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei primcount, const GLint *basevertex); __attribute__((visibility("default"))) void FramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level); __attribute__((visibility("default"))) void DrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount); __attribute__((visibility("default"))) void DrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); __attribute__((visibility("default"))) void VertexAttribDivisorEXT(GLuint index, GLuint divisor); __attribute__((visibility("default"))) void FlushMappedBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length); __attribute__((visibility("default"))) void * MapBufferRangeEXT(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); __attribute__((visibility("default"))) void BufferStorageMemEXT(GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void CreateMemoryObjectsEXT(GLsizei n, GLuint *memoryObjects); __attribute__((visibility("default"))) void DeleteMemoryObjectsEXT(GLsizei n, const GLuint *memoryObjects); __attribute__((visibility("default"))) void GetMemoryObjectParameterivEXT(GLuint memoryObject, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetUnsignedBytevEXT(GLenum pname, GLubyte *data); __attribute__((visibility("default"))) void GetUnsignedBytei_vEXT(GLenum target, GLuint index, GLubyte *data); __attribute__((visibility("default"))) GLboolean IsMemoryObjectEXT(GLuint memoryObject); __attribute__((visibility("default"))) void MemoryObjectParameterivEXT(GLuint memoryObject, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void TexStorageMem2DEXT(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void TexStorageMem2DMultisampleEXT(GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void TexStorageMem3DEXT(GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void TexStorageMem3DMultisampleEXT(GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void ImportMemoryFdEXT(GLuint memory, GLuint64 size, GLenum handleType, GLint fd); __attribute__((visibility("default"))) void FramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); __attribute__((visibility("default"))) void RenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) GLenum GetGraphicsResetStatusEXT(); __attribute__((visibility("default"))) void GetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat *params); __attribute__((visibility("default"))) void GetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint *params); __attribute__((visibility("default"))) void ReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); __attribute__((visibility("default"))) void DeleteSemaphoresEXT(GLsizei n, const GLuint *semaphores); __attribute__((visibility("default"))) void GenSemaphoresEXT(GLsizei n, GLuint *semaphores); __attribute__((visibility("default"))) void GetSemaphoreParameterui64vEXT(GLuint semaphore, GLenum pname, GLuint64 *params); __attribute__((visibility("default"))) GLboolean IsSemaphoreEXT(GLuint semaphore); __attribute__((visibility("default"))) void SemaphoreParameterui64vEXT(GLuint semaphore, GLenum pname, const GLuint64 *params); __attribute__((visibility("default"))) void SignalSemaphoreEXT(GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts); __attribute__((visibility("default"))) void WaitSemaphoreEXT(GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts); __attribute__((visibility("default"))) void ImportSemaphoreFdEXT(GLuint semaphore, GLenum handleType, GLint fd); __attribute__((visibility("default"))) void TexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); __attribute__((visibility("default"))) void TexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void TexStorage3DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); __attribute__((visibility("default"))) void DebugMessageCallbackKHR(GLDEBUGPROCKHR callback, const void *userParam); __attribute__((visibility("default"))) void DebugMessageControlKHR(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); __attribute__((visibility("default"))) void DebugMessageInsertKHR(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); __attribute__((visibility("default"))) GLuint GetDebugMessageLogKHR(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); __attribute__((visibility("default"))) void GetObjectLabelKHR(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void GetObjectPtrLabelKHR(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void GetPointervKHR(GLenum pname, void **params); __attribute__((visibility("default"))) void ObjectLabelKHR(GLenum identifier, GLuint name, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void ObjectPtrLabelKHR(const void *ptr, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void PopDebugGroupKHR(); __attribute__((visibility("default"))) void PushDebugGroupKHR(GLenum source, GLuint id, GLsizei length, const GLchar *message); __attribute__((visibility("default"))) void MaxShaderCompilerThreadsKHR(GLuint count); __attribute__((visibility("default"))) void DeleteFencesNV(GLsizei n, const GLuint *fences); __attribute__((visibility("default"))) void FinishFenceNV(GLuint fence); __attribute__((visibility("default"))) void GenFencesNV(GLsizei n, GLuint *fences); __attribute__((visibility("default"))) void GetFenceivNV(GLuint fence, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLboolean IsFenceNV(GLuint fence); __attribute__((visibility("default"))) void SetFenceNV(GLuint fence, GLenum condition); __attribute__((visibility("default"))) GLboolean TestFenceNV(GLuint fence); __attribute__((visibility("default"))) void EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image); __attribute__((visibility("default"))) void EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image); __attribute__((visibility("default"))) void DrawElementsBaseVertexOES(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void DrawElementsInstancedBaseVertexOES(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); __attribute__((visibility("default"))) void DrawRangeElementsBaseVertexOES(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void DrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); __attribute__((visibility("default"))) void DrawTexfvOES(const GLfloat *coords); __attribute__((visibility("default"))) void DrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height); __attribute__((visibility("default"))) void DrawTexivOES(const GLint *coords); __attribute__((visibility("default"))) void DrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); __attribute__((visibility("default"))) void DrawTexsvOES(const GLshort *coords); __attribute__((visibility("default"))) void DrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); __attribute__((visibility("default"))) void DrawTexxvOES(const GLfixed *coords); __attribute__((visibility("default"))) void BindFramebufferOES(GLenum target, GLuint framebuffer); __attribute__((visibility("default"))) void BindRenderbufferOES(GLenum target, GLuint renderbuffer); __attribute__((visibility("default"))) GLenum CheckFramebufferStatusOES(GLenum target); __attribute__((visibility("default"))) void DeleteFramebuffersOES(GLsizei n, const GLuint *framebuffers); __attribute__((visibility("default"))) void DeleteRenderbuffersOES(GLsizei n, const GLuint *renderbuffers); __attribute__((visibility("default"))) void FramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); __attribute__((visibility("default"))) void FramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); __attribute__((visibility("default"))) void GenFramebuffersOES(GLsizei n, GLuint *framebuffers); __attribute__((visibility("default"))) void GenRenderbuffersOES(GLsizei n, GLuint *renderbuffers); __attribute__((visibility("default"))) void GenerateMipmapOES(GLenum target); __attribute__((visibility("default"))) void GetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLboolean IsFramebufferOES(GLuint framebuffer); __attribute__((visibility("default"))) GLboolean IsRenderbufferOES(GLuint renderbuffer); __attribute__((visibility("default"))) void RenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void GetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); __attribute__((visibility("default"))) void ProgramBinaryOES(GLuint program, GLenum binaryFormat, const void *binary, GLint length); __attribute__((visibility("default"))) void GetBufferPointervOES(GLenum target, GLenum pname, void **params); __attribute__((visibility("default"))) void * MapBufferOES(GLenum target, GLenum access); __attribute__((visibility("default"))) GLboolean UnmapBufferOES(GLenum target); __attribute__((visibility("default"))) void CurrentPaletteMatrixOES(GLuint matrixpaletteindex); __attribute__((visibility("default"))) void LoadPaletteFromModelViewMatrixOES(); __attribute__((visibility("default"))) void MatrixIndexPointerOES(GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void WeightPointerOES(GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void PointSizePointerOES(GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) GLbitfield QueryMatrixxOES(GLfixed *mantissa, GLint *exponent); __attribute__((visibility("default"))) void CompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void CompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void CopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void FramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); __attribute__((visibility("default"))) void TexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void TexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void GetSamplerParameterIivOES(GLuint sampler, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetSamplerParameterIuivOES(GLuint sampler, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void GetTexParameterIivOES(GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetTexParameterIuivOES(GLenum target, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void SamplerParameterIivOES(GLuint sampler, GLenum pname, const GLint *param); __attribute__((visibility("default"))) void SamplerParameterIuivOES(GLuint sampler, GLenum pname, const GLuint *param); __attribute__((visibility("default"))) void TexParameterIivOES(GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void TexParameterIuivOES(GLenum target, GLenum pname, const GLuint *params); __attribute__((visibility("default"))) void GetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void GetTexGenivOES(GLenum coord, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void TexGenfOES(GLenum coord, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void TexGenfvOES(GLenum coord, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void TexGeniOES(GLenum coord, GLenum pname, GLint param); __attribute__((visibility("default"))) void TexGenivOES(GLenum coord, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void TexGenxOES(GLenum coord, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void TexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void TexStorage3DMultisampleOES(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void BindVertexArrayOES(GLuint array); __attribute__((visibility("default"))) void DeleteVertexArraysOES(GLsizei n, const GLuint *arrays); __attribute__((visibility("default"))) void GenVertexArraysOES(GLsizei n, GLuint *arrays); __attribute__((visibility("default"))) GLboolean IsVertexArrayOES(GLuint array); __attribute__((visibility("default"))) void FramebufferTextureMultiviewOVR(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); __attribute__((visibility("default"))) void ActiveShaderProgramContextANGLE(GLeglContext ctx, GLuint pipeline, GLuint program); __attribute__((visibility("default"))) void ActiveTextureContextANGLE(GLeglContext ctx, GLenum texture); __attribute__((visibility("default"))) void AlphaFuncContextANGLE(GLeglContext ctx, GLenum func, GLfloat ref); __attribute__((visibility("default"))) void AlphaFuncxContextANGLE(GLeglContext ctx, GLenum func, GLfixed ref); __attribute__((visibility("default"))) void AttachShaderContextANGLE(GLeglContext ctx, GLuint program, GLuint shader); __attribute__((visibility("default"))) void BeginQueryContextANGLE(GLeglContext ctx, GLenum target, GLuint id); __attribute__((visibility("default"))) void BeginQueryEXTContextANGLE(GLeglContext ctx, GLenum target, GLuint id); __attribute__((visibility("default"))) void BeginTransformFeedbackContextANGLE(GLeglContext ctx, GLenum primitiveMode); __attribute__((visibility("default"))) void BindAttribLocationContextANGLE(GLeglContext ctx, GLuint program, GLuint index, const GLchar *name); __attribute__((visibility("default"))) void BindBufferContextANGLE(GLeglContext ctx, GLenum target, GLuint buffer); __attribute__((visibility("default"))) void BindBufferBaseContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLuint buffer); __attribute__((visibility("default"))) void BindBufferRangeContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); __attribute__((visibility("default"))) void BindFragDataLocationEXTContextANGLE(GLeglContext ctx, GLuint program, GLuint color, const GLchar *name); __attribute__((visibility("default"))) void BindFragDataLocationIndexedEXTContextANGLE(GLeglContext ctx, GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); __attribute__((visibility("default"))) void BindFramebufferContextANGLE(GLeglContext ctx, GLenum target, GLuint framebuffer); __attribute__((visibility("default"))) void BindFramebufferOESContextANGLE(GLeglContext ctx, GLenum target, GLuint framebuffer); __attribute__((visibility("default"))) void BindImageTextureContextANGLE(GLeglContext ctx, GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); __attribute__((visibility("default"))) void BindProgramPipelineContextANGLE(GLeglContext ctx, GLuint pipeline); __attribute__((visibility("default"))) void BindRenderbufferContextANGLE(GLeglContext ctx, GLenum target, GLuint renderbuffer); __attribute__((visibility("default"))) void BindRenderbufferOESContextANGLE(GLeglContext ctx, GLenum target, GLuint renderbuffer); __attribute__((visibility("default"))) void BindSamplerContextANGLE(GLeglContext ctx, GLuint unit, GLuint sampler); __attribute__((visibility("default"))) void BindTextureContextANGLE(GLeglContext ctx, GLenum target, GLuint texture); __attribute__((visibility("default"))) void BindTransformFeedbackContextANGLE(GLeglContext ctx, GLenum target, GLuint id); __attribute__((visibility("default"))) void BindVertexArrayContextANGLE(GLeglContext ctx, GLuint array); __attribute__((visibility("default"))) void BindVertexArrayOESContextANGLE(GLeglContext ctx, GLuint array); __attribute__((visibility("default"))) void BindVertexBufferContextANGLE(GLeglContext ctx, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); __attribute__((visibility("default"))) void BlendBarrierContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void BlendColorContextANGLE(GLeglContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); __attribute__((visibility("default"))) void BlendEquationContextANGLE(GLeglContext ctx, GLenum mode); __attribute__((visibility("default"))) void BlendEquationSeparateContextANGLE(GLeglContext ctx, GLenum modeRGB, GLenum modeAlpha); __attribute__((visibility("default"))) void BlendEquationSeparateiContextANGLE(GLeglContext ctx, GLuint buf, GLenum modeRGB, GLenum modeAlpha); __attribute__((visibility("default"))) void BlendEquationiContextANGLE(GLeglContext ctx, GLuint buf, GLenum mode); __attribute__((visibility("default"))) void BlendFuncContextANGLE(GLeglContext ctx, GLenum sfactor, GLenum dfactor); __attribute__((visibility("default"))) void BlendFuncSeparateContextANGLE(GLeglContext ctx, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); __attribute__((visibility("default"))) void BlendFuncSeparateiContextANGLE(GLeglContext ctx, GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); __attribute__((visibility("default"))) void BlendFunciContextANGLE(GLeglContext ctx, GLuint buf, GLenum src, GLenum dst); __attribute__((visibility("default"))) void BlitFramebufferContextANGLE(GLeglContext ctx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); __attribute__((visibility("default"))) void BlitFramebufferANGLEContextANGLE(GLeglContext ctx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); __attribute__((visibility("default"))) void BufferDataContextANGLE(GLeglContext ctx, GLenum target, GLsizeiptr size, const void *data, GLenum usage); __attribute__((visibility("default"))) void BufferStorageMemEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void BufferSubDataContextANGLE(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr size, const void *data); __attribute__((visibility("default"))) GLenum CheckFramebufferStatusContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) GLenum CheckFramebufferStatusOESContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void ClearContextANGLE(GLeglContext ctx, GLbitfield mask); __attribute__((visibility("default"))) void ClearBufferfiContextANGLE(GLeglContext ctx, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); __attribute__((visibility("default"))) void ClearBufferfvContextANGLE(GLeglContext ctx, GLenum buffer, GLint drawbuffer, const GLfloat *value); __attribute__((visibility("default"))) void ClearBufferivContextANGLE(GLeglContext ctx, GLenum buffer, GLint drawbuffer, const GLint *value); __attribute__((visibility("default"))) void ClearBufferuivContextANGLE(GLeglContext ctx, GLenum buffer, GLint drawbuffer, const GLuint *value); __attribute__((visibility("default"))) void ClearColorContextANGLE(GLeglContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); __attribute__((visibility("default"))) void ClearColorxContextANGLE(GLeglContext ctx, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); __attribute__((visibility("default"))) void ClearDepthfContextANGLE(GLeglContext ctx, GLfloat d); __attribute__((visibility("default"))) void ClearDepthxContextANGLE(GLeglContext ctx, GLfixed depth); __attribute__((visibility("default"))) void ClearStencilContextANGLE(GLeglContext ctx, GLint s); __attribute__((visibility("default"))) void ClientActiveTextureContextANGLE(GLeglContext ctx, GLenum texture); __attribute__((visibility("default"))) GLenum ClientWaitSyncContextANGLE(GLeglContext ctx, GLsync sync, GLbitfield flags, GLuint64 timeout); __attribute__((visibility("default"))) void ClipPlanefContextANGLE(GLeglContext ctx, GLenum p, const GLfloat *eqn); __attribute__((visibility("default"))) void ClipPlanexContextANGLE(GLeglContext ctx, GLenum plane, const GLfixed *equation); __attribute__((visibility("default"))) void Color4fContextANGLE(GLeglContext ctx, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); __attribute__((visibility("default"))) void Color4ubContextANGLE(GLeglContext ctx, GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); __attribute__((visibility("default"))) void Color4xContextANGLE(GLeglContext ctx, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); __attribute__((visibility("default"))) void ColorMaskContextANGLE(GLeglContext ctx, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); __attribute__((visibility("default"))) void ColorMaskiContextANGLE(GLeglContext ctx, GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); __attribute__((visibility("default"))) void ColorPointerContextANGLE(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void CompileShaderContextANGLE(GLeglContext ctx, GLuint shader); __attribute__((visibility("default"))) void CompressedTexImage2DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void CompressedTexImage3DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void CompressedTexImage3DOESContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void CompressedTexSubImage2DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void CompressedTexSubImage3DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void CompressedTexSubImage3DOESContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); __attribute__((visibility("default"))) void CopyBufferSubDataContextANGLE(GLeglContext ctx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); __attribute__((visibility("default"))) void CopyImageSubDataContextANGLE(GLeglContext ctx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); __attribute__((visibility("default"))) void CopyTexImage2DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); __attribute__((visibility("default"))) void CopyTexSubImage2DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void CopyTexSubImage3DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void CopyTexSubImage3DOESContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void CreateMemoryObjectsEXTContextANGLE(GLeglContext ctx, GLsizei n, GLuint *memoryObjects); __attribute__((visibility("default"))) GLuint CreateProgramContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) GLuint CreateShaderContextANGLE(GLeglContext ctx, GLenum type); __attribute__((visibility("default"))) GLuint CreateShaderProgramvContextANGLE(GLeglContext ctx, GLenum type, GLsizei count, const GLchar *const *strings); __attribute__((visibility("default"))) void CullFaceContextANGLE(GLeglContext ctx, GLenum mode); __attribute__((visibility("default"))) void CurrentPaletteMatrixOESContextANGLE(GLeglContext ctx, GLuint matrixpaletteindex); __attribute__((visibility("default"))) void DebugMessageCallbackContextANGLE(GLeglContext ctx, GLDEBUGPROC callback, const void *userParam); __attribute__((visibility("default"))) void DebugMessageCallbackKHRContextANGLE(GLeglContext ctx, GLDEBUGPROCKHR callback, const void *userParam); __attribute__((visibility("default"))) void DebugMessageControlContextANGLE(GLeglContext ctx, GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); __attribute__((visibility("default"))) void DebugMessageControlKHRContextANGLE(GLeglContext ctx, GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); __attribute__((visibility("default"))) void DebugMessageInsertContextANGLE(GLeglContext ctx, GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); __attribute__((visibility("default"))) void DebugMessageInsertKHRContextANGLE(GLeglContext ctx, GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); __attribute__((visibility("default"))) void DeleteBuffersContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *buffers); __attribute__((visibility("default"))) void DeleteFencesNVContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *fences); __attribute__((visibility("default"))) void DeleteFramebuffersContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *framebuffers); __attribute__((visibility("default"))) void DeleteFramebuffersOESContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *framebuffers); __attribute__((visibility("default"))) void DeleteMemoryObjectsEXTContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *memoryObjects); __attribute__((visibility("default"))) void DeleteProgramContextANGLE(GLeglContext ctx, GLuint program); __attribute__((visibility("default"))) void DeleteProgramPipelinesContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *pipelines); __attribute__((visibility("default"))) void DeleteQueriesContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *ids); __attribute__((visibility("default"))) void DeleteQueriesEXTContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *ids); __attribute__((visibility("default"))) void DeleteRenderbuffersContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *renderbuffers); __attribute__((visibility("default"))) void DeleteRenderbuffersOESContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *renderbuffers); __attribute__((visibility("default"))) void DeleteSamplersContextANGLE(GLeglContext ctx, GLsizei count, const GLuint *samplers); __attribute__((visibility("default"))) void DeleteSemaphoresEXTContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *semaphores); __attribute__((visibility("default"))) void DeleteShaderContextANGLE(GLeglContext ctx, GLuint shader); __attribute__((visibility("default"))) void DeleteSyncContextANGLE(GLeglContext ctx, GLsync sync); __attribute__((visibility("default"))) void DeleteTexturesContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *textures); __attribute__((visibility("default"))) void DeleteTransformFeedbacksContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *ids); __attribute__((visibility("default"))) void DeleteVertexArraysContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *arrays); __attribute__((visibility("default"))) void DeleteVertexArraysOESContextANGLE(GLeglContext ctx, GLsizei n, const GLuint *arrays); __attribute__((visibility("default"))) void DepthFuncContextANGLE(GLeglContext ctx, GLenum func); __attribute__((visibility("default"))) void DepthMaskContextANGLE(GLeglContext ctx, GLboolean flag); __attribute__((visibility("default"))) void DepthRangefContextANGLE(GLeglContext ctx, GLfloat n, GLfloat f); __attribute__((visibility("default"))) void DepthRangexContextANGLE(GLeglContext ctx, GLfixed n, GLfixed f); __attribute__((visibility("default"))) void DetachShaderContextANGLE(GLeglContext ctx, GLuint program, GLuint shader); __attribute__((visibility("default"))) void DisableContextANGLE(GLeglContext ctx, GLenum cap); __attribute__((visibility("default"))) void DisableClientStateContextANGLE(GLeglContext ctx, GLenum array); __attribute__((visibility("default"))) void DisableVertexAttribArrayContextANGLE(GLeglContext ctx, GLuint index); __attribute__((visibility("default"))) void DisableiContextANGLE(GLeglContext ctx, GLenum target, GLuint index); __attribute__((visibility("default"))) void DiscardFramebufferEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei numAttachments, const GLenum *attachments); __attribute__((visibility("default"))) void DispatchComputeContextANGLE(GLeglContext ctx, GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); __attribute__((visibility("default"))) void DispatchComputeIndirectContextANGLE(GLeglContext ctx, GLintptr indirect); __attribute__((visibility("default"))) void DrawArraysContextANGLE(GLeglContext ctx, GLenum mode, GLint first, GLsizei count); __attribute__((visibility("default"))) void DrawArraysIndirectContextANGLE(GLeglContext ctx, GLenum mode, const void *indirect); __attribute__((visibility("default"))) void DrawArraysInstancedContextANGLE(GLeglContext ctx, GLenum mode, GLint first, GLsizei count, GLsizei instancecount); __attribute__((visibility("default"))) void DrawArraysInstancedANGLEContextANGLE(GLeglContext ctx, GLenum mode, GLint first, GLsizei count, GLsizei primcount); __attribute__((visibility("default"))) void DrawArraysInstancedEXTContextANGLE(GLeglContext ctx, GLenum mode, GLint start, GLsizei count, GLsizei primcount); __attribute__((visibility("default"))) void DrawBuffersContextANGLE(GLeglContext ctx, GLsizei n, const GLenum *bufs); __attribute__((visibility("default"))) void DrawBuffersEXTContextANGLE(GLeglContext ctx, GLsizei n, const GLenum *bufs); __attribute__((visibility("default"))) void DrawElementsContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices); __attribute__((visibility("default"))) void DrawElementsBaseVertexContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void DrawElementsBaseVertexEXTContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void DrawElementsBaseVertexOESContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void DrawElementsIndirectContextANGLE(GLeglContext ctx, GLenum mode, GLenum type, const void *indirect); __attribute__((visibility("default"))) void DrawElementsInstancedContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); __attribute__((visibility("default"))) void DrawElementsInstancedANGLEContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); __attribute__((visibility("default"))) void DrawElementsInstancedBaseVertexContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); __attribute__((visibility("default"))) void DrawElementsInstancedBaseVertexEXTContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); __attribute__((visibility("default"))) void DrawElementsInstancedBaseVertexOESContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); __attribute__((visibility("default"))) void DrawElementsInstancedEXTContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); __attribute__((visibility("default"))) void DrawRangeElementsContextANGLE(GLeglContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); __attribute__((visibility("default"))) void DrawRangeElementsBaseVertexContextANGLE(GLeglContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void DrawRangeElementsBaseVertexEXTContextANGLE(GLeglContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void DrawRangeElementsBaseVertexOESContextANGLE(GLeglContext ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); __attribute__((visibility("default"))) void DrawTexfOESContextANGLE(GLeglContext ctx, GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); __attribute__((visibility("default"))) void DrawTexfvOESContextANGLE(GLeglContext ctx, const GLfloat *coords); __attribute__((visibility("default"))) void DrawTexiOESContextANGLE(GLeglContext ctx, GLint x, GLint y, GLint z, GLint width, GLint height); __attribute__((visibility("default"))) void DrawTexivOESContextANGLE(GLeglContext ctx, const GLint *coords); __attribute__((visibility("default"))) void DrawTexsOESContextANGLE(GLeglContext ctx, GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); __attribute__((visibility("default"))) void DrawTexsvOESContextANGLE(GLeglContext ctx, const GLshort *coords); __attribute__((visibility("default"))) void DrawTexxOESContextANGLE(GLeglContext ctx, GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); __attribute__((visibility("default"))) void DrawTexxvOESContextANGLE(GLeglContext ctx, const GLfixed *coords); __attribute__((visibility("default"))) void EGLImageTargetRenderbufferStorageOESContextANGLE(GLeglContext ctx, GLenum target, GLeglImageOES image); __attribute__((visibility("default"))) void EGLImageTargetTexture2DOESContextANGLE(GLeglContext ctx, GLenum target, GLeglImageOES image); __attribute__((visibility("default"))) void EnableContextANGLE(GLeglContext ctx, GLenum cap); __attribute__((visibility("default"))) void EnableClientStateContextANGLE(GLeglContext ctx, GLenum array); __attribute__((visibility("default"))) void EnableVertexAttribArrayContextANGLE(GLeglContext ctx, GLuint index); __attribute__((visibility("default"))) void EnableiContextANGLE(GLeglContext ctx, GLenum target, GLuint index); __attribute__((visibility("default"))) void EndQueryContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void EndQueryEXTContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void EndTransformFeedbackContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) GLsync FenceSyncContextANGLE(GLeglContext ctx, GLenum condition, GLbitfield flags); __attribute__((visibility("default"))) void FinishContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void FinishFenceNVContextANGLE(GLeglContext ctx, GLuint fence); __attribute__((visibility("default"))) void FlushContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void FlushMappedBufferRangeContextANGLE(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr length); __attribute__((visibility("default"))) void FlushMappedBufferRangeEXTContextANGLE(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr length); __attribute__((visibility("default"))) void FogfContextANGLE(GLeglContext ctx, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void FogfvContextANGLE(GLeglContext ctx, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void FogxContextANGLE(GLeglContext ctx, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void FogxvContextANGLE(GLeglContext ctx, GLenum pname, const GLfixed *param); __attribute__((visibility("default"))) void FramebufferParameteriContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint param); __attribute__((visibility("default"))) void FramebufferRenderbufferContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); __attribute__((visibility("default"))) void FramebufferRenderbufferOESContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); __attribute__((visibility("default"))) void FramebufferTextureContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLuint texture, GLint level); __attribute__((visibility("default"))) void FramebufferTexture2DContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); __attribute__((visibility("default"))) void FramebufferTexture2DMultisampleEXTContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); __attribute__((visibility("default"))) void FramebufferTexture2DOESContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); __attribute__((visibility("default"))) void FramebufferTexture3DOESContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); __attribute__((visibility("default"))) void FramebufferTextureEXTContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLuint texture, GLint level); __attribute__((visibility("default"))) void FramebufferTextureLayerContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); __attribute__((visibility("default"))) void FramebufferTextureMultiviewOVRContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); __attribute__((visibility("default"))) void FrontFaceContextANGLE(GLeglContext ctx, GLenum mode); __attribute__((visibility("default"))) void FrustumfContextANGLE(GLeglContext ctx, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); __attribute__((visibility("default"))) void FrustumxContextANGLE(GLeglContext ctx, GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); __attribute__((visibility("default"))) void GenBuffersContextANGLE(GLeglContext ctx, GLsizei n, GLuint *buffers); __attribute__((visibility("default"))) void GenFencesNVContextANGLE(GLeglContext ctx, GLsizei n, GLuint *fences); __attribute__((visibility("default"))) void GenFramebuffersContextANGLE(GLeglContext ctx, GLsizei n, GLuint *framebuffers); __attribute__((visibility("default"))) void GenFramebuffersOESContextANGLE(GLeglContext ctx, GLsizei n, GLuint *framebuffers); __attribute__((visibility("default"))) void GenProgramPipelinesContextANGLE(GLeglContext ctx, GLsizei n, GLuint *pipelines); __attribute__((visibility("default"))) void GenQueriesContextANGLE(GLeglContext ctx, GLsizei n, GLuint *ids); __attribute__((visibility("default"))) void GenQueriesEXTContextANGLE(GLeglContext ctx, GLsizei n, GLuint *ids); __attribute__((visibility("default"))) void GenRenderbuffersContextANGLE(GLeglContext ctx, GLsizei n, GLuint *renderbuffers); __attribute__((visibility("default"))) void GenRenderbuffersOESContextANGLE(GLeglContext ctx, GLsizei n, GLuint *renderbuffers); __attribute__((visibility("default"))) void GenSamplersContextANGLE(GLeglContext ctx, GLsizei count, GLuint *samplers); __attribute__((visibility("default"))) void GenSemaphoresEXTContextANGLE(GLeglContext ctx, GLsizei n, GLuint *semaphores); __attribute__((visibility("default"))) void GenTexturesContextANGLE(GLeglContext ctx, GLsizei n, GLuint *textures); __attribute__((visibility("default"))) void GenTransformFeedbacksContextANGLE(GLeglContext ctx, GLsizei n, GLuint *ids); __attribute__((visibility("default"))) void GenVertexArraysContextANGLE(GLeglContext ctx, GLsizei n, GLuint *arrays); __attribute__((visibility("default"))) void GenVertexArraysOESContextANGLE(GLeglContext ctx, GLsizei n, GLuint *arrays); __attribute__((visibility("default"))) void GenerateMipmapContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void GenerateMipmapOESContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void GetActiveAttribContextANGLE(GLeglContext ctx, GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); __attribute__((visibility("default"))) void GetActiveUniformContextANGLE(GLeglContext ctx, GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); __attribute__((visibility("default"))) void GetActiveUniformBlockNameContextANGLE(GLeglContext ctx, GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); __attribute__((visibility("default"))) void GetActiveUniformBlockivContextANGLE(GLeglContext ctx, GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetActiveUniformsivContextANGLE(GLeglContext ctx, GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetAttachedShadersContextANGLE(GLeglContext ctx, GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); __attribute__((visibility("default"))) GLint GetAttribLocationContextANGLE(GLeglContext ctx, GLuint program, const GLchar *name); __attribute__((visibility("default"))) void GetBooleani_vContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLboolean *data); __attribute__((visibility("default"))) void GetBooleanvContextANGLE(GLeglContext ctx, GLenum pname, GLboolean *data); __attribute__((visibility("default"))) void GetBufferParameteri64vContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint64 *params); __attribute__((visibility("default"))) void GetBufferParameterivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetBufferPointervContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, void **params); __attribute__((visibility("default"))) void GetBufferPointervOESContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, void **params); __attribute__((visibility("default"))) void GetClipPlanefContextANGLE(GLeglContext ctx, GLenum plane, GLfloat *equation); __attribute__((visibility("default"))) void GetClipPlanexContextANGLE(GLeglContext ctx, GLenum plane, GLfixed *equation); __attribute__((visibility("default"))) GLuint GetDebugMessageLogContextANGLE(GLeglContext ctx, GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); __attribute__((visibility("default"))) GLuint GetDebugMessageLogKHRContextANGLE(GLeglContext ctx, GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); __attribute__((visibility("default"))) GLenum GetErrorContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void GetFenceivNVContextANGLE(GLeglContext ctx, GLuint fence, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetFixedvContextANGLE(GLeglContext ctx, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void GetFloatvContextANGLE(GLeglContext ctx, GLenum pname, GLfloat *data); __attribute__((visibility("default"))) GLint GetFragDataIndexEXTContextANGLE(GLeglContext ctx, GLuint program, const GLchar *name); __attribute__((visibility("default"))) GLint GetFragDataLocationContextANGLE(GLeglContext ctx, GLuint program, const GLchar *name); __attribute__((visibility("default"))) void GetFramebufferAttachmentParameterivContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetFramebufferAttachmentParameterivOESContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetFramebufferParameterivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLenum GetGraphicsResetStatusContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) GLenum GetGraphicsResetStatusEXTContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void GetInteger64i_vContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLint64 *data); __attribute__((visibility("default"))) void GetInteger64vContextANGLE(GLeglContext ctx, GLenum pname, GLint64 *data); __attribute__((visibility("default"))) void GetIntegeri_vContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLint *data); __attribute__((visibility("default"))) void GetIntegervContextANGLE(GLeglContext ctx, GLenum pname, GLint *data); __attribute__((visibility("default"))) void GetInternalformativContextANGLE(GLeglContext ctx, GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params); __attribute__((visibility("default"))) void GetLightfvContextANGLE(GLeglContext ctx, GLenum light, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void GetLightxvContextANGLE(GLeglContext ctx, GLenum light, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void GetMaterialfvContextANGLE(GLeglContext ctx, GLenum face, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void GetMaterialxvContextANGLE(GLeglContext ctx, GLenum face, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void GetMemoryObjectParameterivEXTContextANGLE(GLeglContext ctx, GLuint memoryObject, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetMultisamplefvContextANGLE(GLeglContext ctx, GLenum pname, GLuint index, GLfloat *val); __attribute__((visibility("default"))) void GetObjectLabelContextANGLE(GLeglContext ctx, GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void GetObjectLabelKHRContextANGLE(GLeglContext ctx, GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void GetObjectPtrLabelContextANGLE(GLeglContext ctx, const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void GetObjectPtrLabelKHRContextANGLE(GLeglContext ctx, const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); __attribute__((visibility("default"))) void GetPointervContextANGLE(GLeglContext ctx, GLenum pname, void **params); __attribute__((visibility("default"))) void GetPointervKHRContextANGLE(GLeglContext ctx, GLenum pname, void **params); __attribute__((visibility("default"))) void GetProgramBinaryContextANGLE(GLeglContext ctx, GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); __attribute__((visibility("default"))) void GetProgramBinaryOESContextANGLE(GLeglContext ctx, GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); __attribute__((visibility("default"))) void GetProgramInfoLogContextANGLE(GLeglContext ctx, GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); __attribute__((visibility("default"))) void GetProgramInterfaceivContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetProgramPipelineInfoLogContextANGLE(GLeglContext ctx, GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); __attribute__((visibility("default"))) void GetProgramPipelineivContextANGLE(GLeglContext ctx, GLuint pipeline, GLenum pname, GLint *params); __attribute__((visibility("default"))) GLuint GetProgramResourceIndexContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, const GLchar *name); __attribute__((visibility("default"))) GLint GetProgramResourceLocationContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, const GLchar *name); __attribute__((visibility("default"))) GLint GetProgramResourceLocationIndexEXTContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, const GLchar *name); __attribute__((visibility("default"))) void GetProgramResourceNameContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); __attribute__((visibility("default"))) void GetProgramResourceivContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetProgramivContextANGLE(GLeglContext ctx, GLuint program, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetQueryObjecti64vEXTContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLint64 *params); __attribute__((visibility("default"))) void GetQueryObjectivEXTContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetQueryObjectui64vEXTContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLuint64 *params); __attribute__((visibility("default"))) void GetQueryObjectuivContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void GetQueryObjectuivEXTContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void GetQueryivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetQueryivEXTContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetRenderbufferParameterivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetRenderbufferParameterivOESContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetSamplerParameterIivContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetSamplerParameterIivOESContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetSamplerParameterIuivContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void GetSamplerParameterIuivOESContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void GetSamplerParameterfvContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void GetSamplerParameterivContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetSemaphoreParameterui64vEXTContextANGLE(GLeglContext ctx, GLuint semaphore, GLenum pname, GLuint64 *params); __attribute__((visibility("default"))) void GetShaderInfoLogContextANGLE(GLeglContext ctx, GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); __attribute__((visibility("default"))) void GetShaderPrecisionFormatContextANGLE(GLeglContext ctx, GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); __attribute__((visibility("default"))) void GetShaderSourceContextANGLE(GLeglContext ctx, GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); __attribute__((visibility("default"))) void GetShaderivContextANGLE(GLeglContext ctx, GLuint shader, GLenum pname, GLint *params); __attribute__((visibility("default"))) const GLubyte * GetStringContextANGLE(GLeglContext ctx, GLenum name); __attribute__((visibility("default"))) const GLubyte * GetStringiContextANGLE(GLeglContext ctx, GLenum name, GLuint index); __attribute__((visibility("default"))) void GetSyncivContextANGLE(GLeglContext ctx, GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); __attribute__((visibility("default"))) void GetTexEnvfvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void GetTexEnvivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetTexEnvxvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void GetTexGenfvOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void GetTexGenivOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetTexGenxvOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void GetTexLevelParameterfvContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void GetTexLevelParameterivContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetTexParameterIivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetTexParameterIivOESContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetTexParameterIuivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void GetTexParameterIuivOESContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void GetTexParameterfvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void GetTexParameterivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetTexParameterxvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfixed *params); __attribute__((visibility("default"))) void GetTransformFeedbackVaryingContextANGLE(GLeglContext ctx, GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); __attribute__((visibility("default"))) void GetTranslatedShaderSourceANGLEContextANGLE(GLeglContext ctx, GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); __attribute__((visibility("default"))) GLuint GetUniformBlockIndexContextANGLE(GLeglContext ctx, GLuint program, const GLchar *uniformBlockName); __attribute__((visibility("default"))) void GetUniformIndicesContextANGLE(GLeglContext ctx, GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices); __attribute__((visibility("default"))) GLint GetUniformLocationContextANGLE(GLeglContext ctx, GLuint program, const GLchar *name); __attribute__((visibility("default"))) void GetUniformfvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLfloat *params); __attribute__((visibility("default"))) void GetUniformivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLint *params); __attribute__((visibility("default"))) void GetUniformuivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLuint *params); __attribute__((visibility("default"))) void GetUnsignedBytevEXTContextANGLE(GLeglContext ctx, GLenum pname, GLubyte *data); __attribute__((visibility("default"))) void GetUnsignedBytei_vEXTContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLubyte *data); __attribute__((visibility("default"))) void GetVertexAttribIivContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetVertexAttribIuivContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLuint *params); __attribute__((visibility("default"))) void GetVertexAttribPointervContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, void **pointer); __attribute__((visibility("default"))) void GetVertexAttribfvContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void GetVertexAttribivContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetnUniformfvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLfloat *params); __attribute__((visibility("default"))) void GetnUniformfvEXTContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLfloat *params); __attribute__((visibility("default"))) void GetnUniformivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLint *params); __attribute__((visibility("default"))) void GetnUniformivEXTContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLint *params); __attribute__((visibility("default"))) void GetnUniformuivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLuint *params); __attribute__((visibility("default"))) void HintContextANGLE(GLeglContext ctx, GLenum target, GLenum mode); __attribute__((visibility("default"))) void ImportMemoryFdEXTContextANGLE(GLeglContext ctx, GLuint memory, GLuint64 size, GLenum handleType, GLint fd); __attribute__((visibility("default"))) void ImportSemaphoreFdEXTContextANGLE(GLeglContext ctx, GLuint semaphore, GLenum handleType, GLint fd); __attribute__((visibility("default"))) void InsertEventMarkerEXTContextANGLE(GLeglContext ctx, GLsizei length, const GLchar *marker); __attribute__((visibility("default"))) void InvalidateFramebufferContextANGLE(GLeglContext ctx, GLenum target, GLsizei numAttachments, const GLenum *attachments); __attribute__((visibility("default"))) void InvalidateSubFramebufferContextANGLE(GLeglContext ctx, GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) GLboolean IsBufferContextANGLE(GLeglContext ctx, GLuint buffer); __attribute__((visibility("default"))) GLboolean IsEnabledContextANGLE(GLeglContext ctx, GLenum cap); __attribute__((visibility("default"))) GLboolean IsEnablediContextANGLE(GLeglContext ctx, GLenum target, GLuint index); __attribute__((visibility("default"))) GLboolean IsFenceNVContextANGLE(GLeglContext ctx, GLuint fence); __attribute__((visibility("default"))) GLboolean IsFramebufferContextANGLE(GLeglContext ctx, GLuint framebuffer); __attribute__((visibility("default"))) GLboolean IsFramebufferOESContextANGLE(GLeglContext ctx, GLuint framebuffer); __attribute__((visibility("default"))) GLboolean IsMemoryObjectEXTContextANGLE(GLeglContext ctx, GLuint memoryObject); __attribute__((visibility("default"))) GLboolean IsProgramContextANGLE(GLeglContext ctx, GLuint program); __attribute__((visibility("default"))) GLboolean IsProgramPipelineContextANGLE(GLeglContext ctx, GLuint pipeline); __attribute__((visibility("default"))) GLboolean IsQueryContextANGLE(GLeglContext ctx, GLuint id); __attribute__((visibility("default"))) GLboolean IsQueryEXTContextANGLE(GLeglContext ctx, GLuint id); __attribute__((visibility("default"))) GLboolean IsRenderbufferContextANGLE(GLeglContext ctx, GLuint renderbuffer); __attribute__((visibility("default"))) GLboolean IsRenderbufferOESContextANGLE(GLeglContext ctx, GLuint renderbuffer); __attribute__((visibility("default"))) GLboolean IsSemaphoreEXTContextANGLE(GLeglContext ctx, GLuint semaphore); __attribute__((visibility("default"))) GLboolean IsSamplerContextANGLE(GLeglContext ctx, GLuint sampler); __attribute__((visibility("default"))) GLboolean IsShaderContextANGLE(GLeglContext ctx, GLuint shader); __attribute__((visibility("default"))) GLboolean IsSyncContextANGLE(GLeglContext ctx, GLsync sync); __attribute__((visibility("default"))) GLboolean IsTextureContextANGLE(GLeglContext ctx, GLuint texture); __attribute__((visibility("default"))) GLboolean IsTransformFeedbackContextANGLE(GLeglContext ctx, GLuint id); __attribute__((visibility("default"))) GLboolean IsVertexArrayContextANGLE(GLeglContext ctx, GLuint array); __attribute__((visibility("default"))) GLboolean IsVertexArrayOESContextANGLE(GLeglContext ctx, GLuint array); __attribute__((visibility("default"))) void LightModelfContextANGLE(GLeglContext ctx, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void LightModelfvContextANGLE(GLeglContext ctx, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void LightModelxContextANGLE(GLeglContext ctx, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void LightModelxvContextANGLE(GLeglContext ctx, GLenum pname, const GLfixed *param); __attribute__((visibility("default"))) void LightfContextANGLE(GLeglContext ctx, GLenum light, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void LightfvContextANGLE(GLeglContext ctx, GLenum light, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void LightxContextANGLE(GLeglContext ctx, GLenum light, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void LightxvContextANGLE(GLeglContext ctx, GLenum light, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void LineWidthContextANGLE(GLeglContext ctx, GLfloat width); __attribute__((visibility("default"))) void LineWidthxContextANGLE(GLeglContext ctx, GLfixed width); __attribute__((visibility("default"))) void LinkProgramContextANGLE(GLeglContext ctx, GLuint program); __attribute__((visibility("default"))) void LoadIdentityContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void LoadMatrixfContextANGLE(GLeglContext ctx, const GLfloat *m); __attribute__((visibility("default"))) void LoadMatrixxContextANGLE(GLeglContext ctx, const GLfixed *m); __attribute__((visibility("default"))) void LoadPaletteFromModelViewMatrixOESContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void LogicOpContextANGLE(GLeglContext ctx, GLenum opcode); __attribute__((visibility("default"))) void * MapBufferOESContextANGLE(GLeglContext ctx, GLenum target, GLenum access); __attribute__((visibility("default"))) void * MapBufferRangeContextANGLE(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); __attribute__((visibility("default"))) void * MapBufferRangeEXTContextANGLE(GLeglContext ctx, GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); __attribute__((visibility("default"))) void MaterialfContextANGLE(GLeglContext ctx, GLenum face, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void MaterialfvContextANGLE(GLeglContext ctx, GLenum face, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void MaterialxContextANGLE(GLeglContext ctx, GLenum face, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void MaterialxvContextANGLE(GLeglContext ctx, GLenum face, GLenum pname, const GLfixed *param); __attribute__((visibility("default"))) void MatrixIndexPointerOESContextANGLE(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void MatrixModeContextANGLE(GLeglContext ctx, GLenum mode); __attribute__((visibility("default"))) void MaxShaderCompilerThreadsKHRContextANGLE(GLeglContext ctx, GLuint count); __attribute__((visibility("default"))) void MemoryBarrierContextANGLE(GLeglContext ctx, GLbitfield barriers); __attribute__((visibility("default"))) void MemoryBarrierByRegionContextANGLE(GLeglContext ctx, GLbitfield barriers); __attribute__((visibility("default"))) void MemoryObjectParameterivEXTContextANGLE(GLeglContext ctx, GLuint memoryObject, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void MinSampleShadingContextANGLE(GLeglContext ctx, GLfloat value); __attribute__((visibility("default"))) void MultMatrixfContextANGLE(GLeglContext ctx, const GLfloat *m); __attribute__((visibility("default"))) void MultMatrixxContextANGLE(GLeglContext ctx, const GLfixed *m); __attribute__((visibility("default"))) void MultiDrawElementsBaseVertexEXTContextANGLE(GLeglContext ctx, GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei primcount, const GLint *basevertex); __attribute__((visibility("default"))) void MultiTexCoord4fContextANGLE(GLeglContext ctx, GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); __attribute__((visibility("default"))) void MultiTexCoord4xContextANGLE(GLeglContext ctx, GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q); __attribute__((visibility("default"))) void Normal3fContextANGLE(GLeglContext ctx, GLfloat nx, GLfloat ny, GLfloat nz); __attribute__((visibility("default"))) void Normal3xContextANGLE(GLeglContext ctx, GLfixed nx, GLfixed ny, GLfixed nz); __attribute__((visibility("default"))) void NormalPointerContextANGLE(GLeglContext ctx, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void ObjectLabelContextANGLE(GLeglContext ctx, GLenum identifier, GLuint name, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void ObjectLabelKHRContextANGLE(GLeglContext ctx, GLenum identifier, GLuint name, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void ObjectPtrLabelContextANGLE(GLeglContext ctx, const void *ptr, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void ObjectPtrLabelKHRContextANGLE(GLeglContext ctx, const void *ptr, GLsizei length, const GLchar *label); __attribute__((visibility("default"))) void OrthofContextANGLE(GLeglContext ctx, GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); __attribute__((visibility("default"))) void OrthoxContextANGLE(GLeglContext ctx, GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); __attribute__((visibility("default"))) void PatchParameteriContextANGLE(GLeglContext ctx, GLenum pname, GLint value); __attribute__((visibility("default"))) void PauseTransformFeedbackContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void PixelStoreiContextANGLE(GLeglContext ctx, GLenum pname, GLint param); __attribute__((visibility("default"))) void PointParameterfContextANGLE(GLeglContext ctx, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void PointParameterfvContextANGLE(GLeglContext ctx, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void PointParameterxContextANGLE(GLeglContext ctx, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void PointParameterxvContextANGLE(GLeglContext ctx, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void PointSizeContextANGLE(GLeglContext ctx, GLfloat size); __attribute__((visibility("default"))) void PointSizePointerOESContextANGLE(GLeglContext ctx, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void PointSizexContextANGLE(GLeglContext ctx, GLfixed size); __attribute__((visibility("default"))) void PolygonOffsetContextANGLE(GLeglContext ctx, GLfloat factor, GLfloat units); __attribute__((visibility("default"))) void PolygonOffsetxContextANGLE(GLeglContext ctx, GLfixed factor, GLfixed units); __attribute__((visibility("default"))) void PopDebugGroupContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void PopDebugGroupKHRContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void PopGroupMarkerEXTContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void PopMatrixContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void PrimitiveBoundingBoxContextANGLE(GLeglContext ctx, GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); __attribute__((visibility("default"))) void ProgramBinaryContextANGLE(GLeglContext ctx, GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); __attribute__((visibility("default"))) void ProgramBinaryOESContextANGLE(GLeglContext ctx, GLuint program, GLenum binaryFormat, const void *binary, GLint length); __attribute__((visibility("default"))) void ProgramParameteriContextANGLE(GLeglContext ctx, GLuint program, GLenum pname, GLint value); __attribute__((visibility("default"))) void ProgramUniform1fContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLfloat v0); __attribute__((visibility("default"))) void ProgramUniform1fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void ProgramUniform1iContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLint v0); __attribute__((visibility("default"))) void ProgramUniform1ivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void ProgramUniform1uiContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLuint v0); __attribute__((visibility("default"))) void ProgramUniform1uivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void ProgramUniform2fContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLfloat v0, GLfloat v1); __attribute__((visibility("default"))) void ProgramUniform2fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void ProgramUniform2iContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLint v0, GLint v1); __attribute__((visibility("default"))) void ProgramUniform2ivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void ProgramUniform2uiContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLuint v0, GLuint v1); __attribute__((visibility("default"))) void ProgramUniform2uivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void ProgramUniform3fContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); __attribute__((visibility("default"))) void ProgramUniform3fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void ProgramUniform3iContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLint v0, GLint v1, GLint v2); __attribute__((visibility("default"))) void ProgramUniform3ivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void ProgramUniform3uiContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); __attribute__((visibility("default"))) void ProgramUniform3uivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void ProgramUniform4fContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); __attribute__((visibility("default"))) void ProgramUniform4fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void ProgramUniform4iContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); __attribute__((visibility("default"))) void ProgramUniform4ivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void ProgramUniform4uiContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); __attribute__((visibility("default"))) void ProgramUniform4uivContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void ProgramUniformMatrix2fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void ProgramUniformMatrix2x3fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void ProgramUniformMatrix2x4fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void ProgramUniformMatrix3fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void ProgramUniformMatrix3x2fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void ProgramUniformMatrix3x4fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void ProgramUniformMatrix4fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void ProgramUniformMatrix4x2fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void ProgramUniformMatrix4x3fvContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void PushDebugGroupContextANGLE(GLeglContext ctx, GLenum source, GLuint id, GLsizei length, const GLchar *message); __attribute__((visibility("default"))) void PushDebugGroupKHRContextANGLE(GLeglContext ctx, GLenum source, GLuint id, GLsizei length, const GLchar *message); __attribute__((visibility("default"))) void PushGroupMarkerEXTContextANGLE(GLeglContext ctx, GLsizei length, const GLchar *marker); __attribute__((visibility("default"))) void PushMatrixContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void QueryCounterEXTContextANGLE(GLeglContext ctx, GLuint id, GLenum target); __attribute__((visibility("default"))) GLbitfield QueryMatrixxOESContextANGLE(GLeglContext ctx, GLfixed *mantissa, GLint *exponent); __attribute__((visibility("default"))) void ReadBufferContextANGLE(GLeglContext ctx, GLenum src); __attribute__((visibility("default"))) void ReadPixelsContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); __attribute__((visibility("default"))) void ReadnPixelsContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); __attribute__((visibility("default"))) void ReadnPixelsEXTContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); __attribute__((visibility("default"))) void ReleaseShaderCompilerContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void RenderbufferStorageContextANGLE(GLeglContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void RenderbufferStorageMultisampleContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void RenderbufferStorageMultisampleANGLEContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void RenderbufferStorageMultisampleEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void RenderbufferStorageOESContextANGLE(GLeglContext ctx, GLenum target, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void ResumeTransformFeedbackContextANGLE(GLeglContext ctx); __attribute__((visibility("default"))) void RotatefContextANGLE(GLeglContext ctx, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void RotatexContextANGLE(GLeglContext ctx, GLfixed angle, GLfixed x, GLfixed y, GLfixed z); __attribute__((visibility("default"))) void SampleCoverageContextANGLE(GLeglContext ctx, GLfloat value, GLboolean invert); __attribute__((visibility("default"))) void SampleCoveragexContextANGLE(GLeglContext ctx, GLclampx value, GLboolean invert); __attribute__((visibility("default"))) void SampleMaskiContextANGLE(GLeglContext ctx, GLuint maskNumber, GLbitfield mask); __attribute__((visibility("default"))) void SamplerParameterIivContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, const GLint *param); __attribute__((visibility("default"))) void SamplerParameterIivOESContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, const GLint *param); __attribute__((visibility("default"))) void SamplerParameterIuivContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, const GLuint *param); __attribute__((visibility("default"))) void SamplerParameterIuivOESContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, const GLuint *param); __attribute__((visibility("default"))) void SamplerParameterfContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void SamplerParameterfvContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, const GLfloat *param); __attribute__((visibility("default"))) void SamplerParameteriContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLint param); __attribute__((visibility("default"))) void SamplerParameterivContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, const GLint *param); __attribute__((visibility("default"))) void ScalefContextANGLE(GLeglContext ctx, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void ScalexContextANGLE(GLeglContext ctx, GLfixed x, GLfixed y, GLfixed z); __attribute__((visibility("default"))) void ScissorContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void SemaphoreParameterui64vEXTContextANGLE(GLeglContext ctx, GLuint semaphore, GLenum pname, const GLuint64 *params); __attribute__((visibility("default"))) void SetFenceNVContextANGLE(GLeglContext ctx, GLuint fence, GLenum condition); __attribute__((visibility("default"))) void ShadeModelContextANGLE(GLeglContext ctx, GLenum mode); __attribute__((visibility("default"))) void ShaderBinaryContextANGLE(GLeglContext ctx, GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length); __attribute__((visibility("default"))) void ShaderSourceContextANGLE(GLeglContext ctx, GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length); __attribute__((visibility("default"))) void SignalSemaphoreEXTContextANGLE(GLeglContext ctx, GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts); __attribute__((visibility("default"))) void StencilFuncContextANGLE(GLeglContext ctx, GLenum func, GLint ref, GLuint mask); __attribute__((visibility("default"))) void StencilFuncSeparateContextANGLE(GLeglContext ctx, GLenum face, GLenum func, GLint ref, GLuint mask); __attribute__((visibility("default"))) void StencilMaskContextANGLE(GLeglContext ctx, GLuint mask); __attribute__((visibility("default"))) void StencilMaskSeparateContextANGLE(GLeglContext ctx, GLenum face, GLuint mask); __attribute__((visibility("default"))) void StencilOpContextANGLE(GLeglContext ctx, GLenum fail, GLenum zfail, GLenum zpass); __attribute__((visibility("default"))) void StencilOpSeparateContextANGLE(GLeglContext ctx, GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); __attribute__((visibility("default"))) GLboolean TestFenceNVContextANGLE(GLeglContext ctx, GLuint fence); __attribute__((visibility("default"))) void TexBufferContextANGLE(GLeglContext ctx, GLenum target, GLenum internalformat, GLuint buffer); __attribute__((visibility("default"))) void TexBufferRangeContextANGLE(GLeglContext ctx, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); __attribute__((visibility("default"))) void TexCoordPointerContextANGLE(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void TexEnvfContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void TexEnvfvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void TexEnviContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint param); __attribute__((visibility("default"))) void TexEnvivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void TexEnvxContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void TexEnvxvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void TexGenfOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void TexGenfvOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void TexGeniOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, GLint param); __attribute__((visibility("default"))) void TexGenivOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void TexGenxOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void TexGenxvOESContextANGLE(GLeglContext ctx, GLenum coord, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void TexImage2DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void TexImage3DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void TexImage3DOESContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void TexParameterIivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void TexParameterIivOESContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void TexParameterIuivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLuint *params); __attribute__((visibility("default"))) void TexParameterIuivOESContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLuint *params); __attribute__((visibility("default"))) void TexParameterfContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfloat param); __attribute__((visibility("default"))) void TexParameterfvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLfloat *params); __attribute__((visibility("default"))) void TexParameteriContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLint param); __attribute__((visibility("default"))) void TexParameterivContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLint *params); __attribute__((visibility("default"))) void TexParameterxContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLfixed param); __attribute__((visibility("default"))) void TexParameterxvContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, const GLfixed *params); __attribute__((visibility("default"))) void TexStorage1DEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); __attribute__((visibility("default"))) void TexStorage2DContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void TexStorage2DEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void TexStorage2DMultisampleContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void TexStorage3DContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); __attribute__((visibility("default"))) void TexStorage3DEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); __attribute__((visibility("default"))) void TexStorage3DMultisampleContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void TexStorage3DMultisampleOESContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void TexStorageMem2DEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void TexStorageMem2DMultisampleEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void TexStorageMem3DEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void TexStorageMem3DMultisampleEXTContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); __attribute__((visibility("default"))) void TexSubImage2DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void TexSubImage3DContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void TexSubImage3DOESContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); __attribute__((visibility("default"))) void TransformFeedbackVaryingsContextANGLE(GLeglContext ctx, GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode); __attribute__((visibility("default"))) void TranslatefContextANGLE(GLeglContext ctx, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void TranslatexContextANGLE(GLeglContext ctx, GLfixed x, GLfixed y, GLfixed z); __attribute__((visibility("default"))) void Uniform1fContextANGLE(GLeglContext ctx, GLint location, GLfloat v0); __attribute__((visibility("default"))) void Uniform1fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void Uniform1iContextANGLE(GLeglContext ctx, GLint location, GLint v0); __attribute__((visibility("default"))) void Uniform1ivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void Uniform1uiContextANGLE(GLeglContext ctx, GLint location, GLuint v0); __attribute__((visibility("default"))) void Uniform1uivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void Uniform2fContextANGLE(GLeglContext ctx, GLint location, GLfloat v0, GLfloat v1); __attribute__((visibility("default"))) void Uniform2fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void Uniform2iContextANGLE(GLeglContext ctx, GLint location, GLint v0, GLint v1); __attribute__((visibility("default"))) void Uniform2ivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void Uniform2uiContextANGLE(GLeglContext ctx, GLint location, GLuint v0, GLuint v1); __attribute__((visibility("default"))) void Uniform2uivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void Uniform3fContextANGLE(GLeglContext ctx, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); __attribute__((visibility("default"))) void Uniform3fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void Uniform3iContextANGLE(GLeglContext ctx, GLint location, GLint v0, GLint v1, GLint v2); __attribute__((visibility("default"))) void Uniform3ivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void Uniform3uiContextANGLE(GLeglContext ctx, GLint location, GLuint v0, GLuint v1, GLuint v2); __attribute__((visibility("default"))) void Uniform3uivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void Uniform4fContextANGLE(GLeglContext ctx, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); __attribute__((visibility("default"))) void Uniform4fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLfloat *value); __attribute__((visibility("default"))) void Uniform4iContextANGLE(GLeglContext ctx, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); __attribute__((visibility("default"))) void Uniform4ivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLint *value); __attribute__((visibility("default"))) void Uniform4uiContextANGLE(GLeglContext ctx, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); __attribute__((visibility("default"))) void Uniform4uivContextANGLE(GLeglContext ctx, GLint location, GLsizei count, const GLuint *value); __attribute__((visibility("default"))) void UniformBlockBindingContextANGLE(GLeglContext ctx, GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); __attribute__((visibility("default"))) void UniformMatrix2fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void UniformMatrix2x3fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void UniformMatrix2x4fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void UniformMatrix3fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void UniformMatrix3x2fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void UniformMatrix3x4fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void UniformMatrix4fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void UniformMatrix4x2fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) void UniformMatrix4x3fvContextANGLE(GLeglContext ctx, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); __attribute__((visibility("default"))) GLboolean UnmapBufferContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) GLboolean UnmapBufferOESContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void UseProgramContextANGLE(GLeglContext ctx, GLuint program); __attribute__((visibility("default"))) void UseProgramStagesContextANGLE(GLeglContext ctx, GLuint pipeline, GLbitfield stages, GLuint program); __attribute__((visibility("default"))) void ValidateProgramContextANGLE(GLeglContext ctx, GLuint program); __attribute__((visibility("default"))) void ValidateProgramPipelineContextANGLE(GLeglContext ctx, GLuint pipeline); __attribute__((visibility("default"))) void VertexAttrib1fContextANGLE(GLeglContext ctx, GLuint index, GLfloat x); __attribute__((visibility("default"))) void VertexAttrib1fvContextANGLE(GLeglContext ctx, GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void VertexAttrib2fContextANGLE(GLeglContext ctx, GLuint index, GLfloat x, GLfloat y); __attribute__((visibility("default"))) void VertexAttrib2fvContextANGLE(GLeglContext ctx, GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void VertexAttrib3fContextANGLE(GLeglContext ctx, GLuint index, GLfloat x, GLfloat y, GLfloat z); __attribute__((visibility("default"))) void VertexAttrib3fvContextANGLE(GLeglContext ctx, GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void VertexAttrib4fContextANGLE(GLeglContext ctx, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); __attribute__((visibility("default"))) void VertexAttrib4fvContextANGLE(GLeglContext ctx, GLuint index, const GLfloat *v); __attribute__((visibility("default"))) void VertexAttribBindingContextANGLE(GLeglContext ctx, GLuint attribindex, GLuint bindingindex); __attribute__((visibility("default"))) void VertexAttribDivisorContextANGLE(GLeglContext ctx, GLuint index, GLuint divisor); __attribute__((visibility("default"))) void VertexAttribDivisorANGLEContextANGLE(GLeglContext ctx, GLuint index, GLuint divisor); __attribute__((visibility("default"))) void VertexAttribDivisorEXTContextANGLE(GLeglContext ctx, GLuint index, GLuint divisor); __attribute__((visibility("default"))) void VertexAttribFormatContextANGLE(GLeglContext ctx, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); __attribute__((visibility("default"))) void VertexAttribI4iContextANGLE(GLeglContext ctx, GLuint index, GLint x, GLint y, GLint z, GLint w); __attribute__((visibility("default"))) void VertexAttribI4ivContextANGLE(GLeglContext ctx, GLuint index, const GLint *v); __attribute__((visibility("default"))) void VertexAttribI4uiContextANGLE(GLeglContext ctx, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); __attribute__((visibility("default"))) void VertexAttribI4uivContextANGLE(GLeglContext ctx, GLuint index, const GLuint *v); __attribute__((visibility("default"))) void VertexAttribIFormatContextANGLE(GLeglContext ctx, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); __attribute__((visibility("default"))) void VertexAttribIPointerContextANGLE(GLeglContext ctx, GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void VertexAttribPointerContextANGLE(GLeglContext ctx, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void VertexBindingDivisorContextANGLE(GLeglContext ctx, GLuint bindingindex, GLuint divisor); __attribute__((visibility("default"))) void VertexPointerContextANGLE(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void ViewportContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height); __attribute__((visibility("default"))) void WaitSemaphoreEXTContextANGLE(GLeglContext ctx, GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts); __attribute__((visibility("default"))) void WaitSyncContextANGLE(GLeglContext ctx, GLsync sync, GLbitfield flags, GLuint64 timeout); __attribute__((visibility("default"))) void WeightPointerOESContextANGLE(GLeglContext ctx, GLint size, GLenum type, GLsizei stride, const void *pointer); __attribute__((visibility("default"))) void BindUniformLocationCHROMIUMContextANGLE(GLeglContext ctx, GLuint program, GLint location, const GLchar *name); __attribute__((visibility("default"))) void CoverageModulationCHROMIUMContextANGLE(GLeglContext ctx, GLenum components); __attribute__((visibility("default"))) void MatrixLoadfCHROMIUMContextANGLE(GLeglContext ctx, GLenum matrixMode, const GLfloat *matrix); __attribute__((visibility("default"))) void MatrixLoadIdentityCHROMIUMContextANGLE(GLeglContext ctx, GLenum matrixMode); __attribute__((visibility("default"))) GLuint GenPathsCHROMIUMContextANGLE(GLeglContext ctx, GLsizei range); __attribute__((visibility("default"))) void DeletePathsCHROMIUMContextANGLE(GLeglContext ctx, GLuint first, GLsizei range); __attribute__((visibility("default"))) GLboolean IsPathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path); __attribute__((visibility("default"))) void PathCommandsCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); __attribute__((visibility("default"))) void PathParameterfCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum pname, GLfloat value); __attribute__((visibility("default"))) void PathParameteriCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum pname, GLint value); __attribute__((visibility("default"))) void GetPathParameterfvCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum pname, GLfloat *value); __attribute__((visibility("default"))) void GetPathParameterivCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum pname, GLint *value); __attribute__((visibility("default"))) void PathStencilFuncCHROMIUMContextANGLE(GLeglContext ctx, GLenum func, GLint ref, GLuint mask); __attribute__((visibility("default"))) void StencilFillPathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum fillMode, GLuint mask); __attribute__((visibility("default"))) void StencilStrokePathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLint reference, GLuint mask); __attribute__((visibility("default"))) void CoverFillPathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum coverMode); __attribute__((visibility("default"))) void CoverStrokePathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum coverMode); __attribute__((visibility("default"))) void StencilThenCoverFillPathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); __attribute__((visibility("default"))) void StencilThenCoverStrokePathCHROMIUMContextANGLE(GLeglContext ctx, GLuint path, GLint reference, GLuint mask, GLenum coverMode); __attribute__((visibility("default"))) void CoverFillPathInstancedCHROMIUMContextANGLE(GLeglContext ctx, GLsizei numPath, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void CoverStrokePathInstancedCHROMIUMContextANGLE(GLeglContext ctx, GLsizei numPath, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void StencilStrokePathInstancedCHROMIUMContextANGLE(GLeglContext ctx, GLsizei numPath, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void StencilFillPathInstancedCHROMIUMContextANGLE(GLeglContext ctx, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void StencilThenCoverFillPathInstancedCHROMIUMContextANGLE(GLeglContext ctx, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void StencilThenCoverStrokePathInstancedCHROMIUMContextANGLE(GLeglContext ctx, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); __attribute__((visibility("default"))) void BindFragmentInputLocationCHROMIUMContextANGLE(GLeglContext ctx, GLuint programs, GLint location, const GLchar *name); __attribute__((visibility("default"))) void ProgramPathFragmentInputGenCHROMIUMContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); __attribute__((visibility("default"))) void CopyTextureCHROMIUMContextANGLE(GLeglContext ctx, GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void CopySubTextureCHROMIUMContextANGLE(GLeglContext ctx, GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint xoffset, GLint yoffset, GLint x, GLint y, GLint width, GLint height, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void CompressedCopyTextureCHROMIUMContextANGLE(GLeglContext ctx, GLuint sourceId, GLuint destId); __attribute__((visibility("default"))) void RequestExtensionANGLEContextANGLE(GLeglContext ctx, const GLchar *name); __attribute__((visibility("default"))) void DisableExtensionANGLEContextANGLE(GLeglContext ctx, const GLchar *name); __attribute__((visibility("default"))) void GetBooleanvRobustANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *params); __attribute__((visibility("default"))) void GetBufferParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetFloatvRobustANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetFramebufferAttachmentParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetIntegervRobustANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data); __attribute__((visibility("default"))) void GetProgramivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetRenderbufferParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetShaderivRobustANGLEContextANGLE(GLeglContext ctx, GLuint shader, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetTexParameterfvRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetTexParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetUniformfvRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetUniformivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetVertexAttribfvRobustANGLEContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetVertexAttribivRobustANGLEContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetVertexAttribPointervRobustANGLEContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer); __attribute__((visibility("default"))) void ReadPixelsRobustANGLEContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *pixels); __attribute__((visibility("default"))) void TexImage2DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); __attribute__((visibility("default"))) void TexParameterfvRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, const GLfloat *params); __attribute__((visibility("default"))) void TexParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, const GLint *params); __attribute__((visibility("default"))) void TexSubImage2DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); __attribute__((visibility("default"))) void TexImage3DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); __attribute__((visibility("default"))) void TexSubImage3DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); __attribute__((visibility("default"))) void CompressedTexImage2DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); __attribute__((visibility("default"))) void CompressedTexSubImage2DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLsizei xoffset, GLsizei yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); __attribute__((visibility("default"))) void CompressedTexImage3DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); __attribute__((visibility("default"))) void CompressedTexSubImage3DRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); __attribute__((visibility("default"))) void GetQueryivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetQueryObjectuivRobustANGLEContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void GetBufferPointervRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, void **params); __attribute__((visibility("default"))) void GetIntegeri_vRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint *data); __attribute__((visibility("default"))) void GetInternalformativRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetVertexAttribIivRobustANGLEContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetVertexAttribIuivRobustANGLEContextANGLE(GLeglContext ctx, GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void GetUniformuivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void GetActiveUniformBlockivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetInteger64vRobustANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data); __attribute__((visibility("default"))) void GetInteger64i_vRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint64 *data); __attribute__((visibility("default"))) void GetBufferParameteri64vRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params); __attribute__((visibility("default"))) void SamplerParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLuint pname, GLsizei bufSize, const GLint *param); __attribute__((visibility("default"))) void SamplerParameterfvRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat *param); __attribute__((visibility("default"))) void GetSamplerParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetSamplerParameterfvRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetFramebufferParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetProgramInterfaceivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetBooleani_vRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLboolean *data); __attribute__((visibility("default"))) void GetMultisamplefvRobustANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, GLfloat *val); __attribute__((visibility("default"))) void GetTexLevelParameterivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetTexLevelParameterfvRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetPointervRobustANGLERobustANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLsizei bufSize, GLsizei *length, void **params); __attribute__((visibility("default"))) void ReadnPixelsRobustANGLEContextANGLE(GLeglContext ctx, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *data); __attribute__((visibility("default"))) void GetnUniformfvRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params); __attribute__((visibility("default"))) void GetnUniformivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetnUniformuivRobustANGLEContextANGLE(GLeglContext ctx, GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void TexParameterIivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, const GLint *params); __attribute__((visibility("default"))) void TexParameterIuivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, const GLuint *params); __attribute__((visibility("default"))) void GetTexParameterIivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetTexParameterIuivRobustANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void SamplerParameterIivRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param); __attribute__((visibility("default"))) void SamplerParameterIuivRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint *param); __attribute__((visibility("default"))) void GetSamplerParameterIivRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetSamplerParameterIuivRobustANGLEContextANGLE(GLeglContext ctx, GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); __attribute__((visibility("default"))) void GetQueryObjectivRobustANGLEContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); __attribute__((visibility("default"))) void GetQueryObjecti64vRobustANGLEContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params); __attribute__((visibility("default"))) void GetQueryObjectui64vRobustANGLEContextANGLE(GLeglContext ctx, GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params); __attribute__((visibility("default"))) void CopyTexture3DANGLEContextANGLE(GLeglContext ctx, GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void CopySubTexture3DANGLEContextANGLE(GLeglContext ctx, GLuint sourceId, GLint sourceLevel, GLenum destTarget, GLuint destId, GLint destLevel, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLint z, GLint width, GLint height, GLint depth, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); __attribute__((visibility("default"))) void TexStorage2DMultisampleANGLEContextANGLE(GLeglContext ctx, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); __attribute__((visibility("default"))) void GetTexLevelParameterivANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLint *params); __attribute__((visibility("default"))) void GetTexLevelParameterfvANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum pname, GLfloat *params); __attribute__((visibility("default"))) void MultiDrawArraysANGLEContextANGLE(GLeglContext ctx, GLenum mode, const GLint *firsts, const GLsizei *counts, GLsizei drawcount); __attribute__((visibility("default"))) void MultiDrawArraysInstancedANGLEContextANGLE(GLeglContext ctx, GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, GLsizei drawcount); __attribute__((visibility("default"))) void MultiDrawElementsANGLEContextANGLE(GLeglContext ctx, GLenum mode, const GLsizei *counts, GLenum type, const GLvoid *const *indices, GLsizei drawcount); __attribute__((visibility("default"))) void MultiDrawElementsInstancedANGLEContextANGLE(GLeglContext ctx, GLenum mode, const GLsizei *counts, GLenum type, const GLvoid *const *indices, const GLsizei *instanceCounts, GLsizei drawcount); __attribute__((visibility("default"))) void DrawArraysInstancedBaseInstanceANGLEContextANGLE(GLeglContext ctx, GLenum mode, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance); __attribute__((visibility("default"))) void DrawElementsInstancedBaseVertexBaseInstanceANGLEContextANGLE(GLeglContext ctx, GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCounts, GLint baseVertex, GLuint baseInstance); __attribute__((visibility("default"))) void MultiDrawArraysInstancedBaseInstanceANGLEContextANGLE(GLeglContext ctx, GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawcount); __attribute__((visibility("default"))) void MultiDrawElementsInstancedBaseVertexBaseInstanceANGLEContextANGLE(GLeglContext ctx, GLenum mode, const GLsizei *counts, GLenum type, const GLvoid *const *indices, const GLsizei *instanceCounts, const GLint *baseVertices, const GLuint *baseInstances, GLsizei drawcount); __attribute__((visibility("default"))) void GetMultisamplefvANGLEContextANGLE(GLeglContext ctx, GLenum pname, GLuint index, GLfloat *val); __attribute__((visibility("default"))) void SampleMaskiANGLEContextANGLE(GLeglContext ctx, GLuint maskNumber, GLbitfield mask); __attribute__((visibility("default"))) void ProvokingVertexANGLEContextANGLE(GLeglContext ctx, GLenum mode); __attribute__((visibility("default"))) void LoseContextCHROMIUMContextANGLE(GLeglContext ctx, GLenum current, GLenum other); __attribute__((visibility("default"))) void TexImage2DExternalANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type); __attribute__((visibility("default"))) void InvalidateTextureANGLEContextANGLE(GLeglContext ctx, GLenum target); __attribute__((visibility("default"))) void GetTexImageANGLEContextANGLE(GLeglContext ctx, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); __attribute__((visibility("default"))) void GetRenderbufferImageANGLEContextANGLE(GLeglContext ctx, GLenum target, GLenum format, GLenum type, void *pixels); } # 12 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp" 2 # 1 "../../third_party/angle/src/libANGLE/Context.h" 1 # 13 "../../third_party/angle/src/libANGLE/Context.h" # 1 "/usr/include/c++/10/set" 1 3 # 58 "/usr/include/c++/10/set" 3 # 59 "/usr/include/c++/10/set" 3 # 1 "/usr/include/c++/10/bits/stl_tree.h" 1 3 # 61 "/usr/include/c++/10/bits/stl_tree.h" 3 # 62 "/usr/include/c++/10/bits/stl_tree.h" 3 # 1 "/usr/include/c++/10/bits/stl_algobase.h" 1 3 # 59 "/usr/include/c++/10/bits/stl_algobase.h" 3 # 1 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++config.h" 1 3 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 4 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++config.h" 2 3 # 2353 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++config.h" 3 # 2353 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++config.h" 3 namespace std { typedef long unsigned int size_t; typedef long int ptrdiff_t; typedef decltype(nullptr) nullptr_t; } # 2375 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++config.h" 3 namespace std { inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } } namespace __gnu_cxx { inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } } # 2613 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++config.h" 3 # 1 "/usr/include/c++/10/x86_64-redhat-linux/bits/os_defines.h" 1 3 # 2614 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++config.h" 2 3 # 1 "/usr/include/c++/10/x86_64-redhat-linux/bits/cpu_defines.h" 1 3 # 2617 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++config.h" 2 3 # 60 "/usr/include/c++/10/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/10/bits/functexcept.h" 1 3 # 40 "/usr/include/c++/10/bits/functexcept.h" 3 # 1 "/usr/include/c++/10/bits/exception_defines.h" 1 3 # 41 "/usr/include/c++/10/bits/functexcept.h" 2 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_ios_failure(const char*, int) __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++/10/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/10/bits/cpp_type_traits.h" 1 3 # 35 "/usr/include/c++/10/bits/cpp_type_traits.h" 3 # 36 "/usr/include/c++/10/bits/cpp_type_traits.h" 3 # 67 "/usr/include/c++/10/bits/cpp_type_traits.h" 3 extern "C++" { 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; }; # 184 "/usr/include/c++/10/bits/cpp_type_traits.h" 3 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; }; # 270 "/usr/include/c++/10/bits/cpp_type_traits.h" 3 template<> struct __is_integer<__int128> { enum { __value = 1 }; typedef __true_type __type; }; template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; # 287 "/usr/include/c++/10/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_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; }; # 426 "/usr/include/c++/10/bits/cpp_type_traits.h" 3 template struct __is_move_iterator { enum { __value = 0 }; typedef __false_type __type; }; template inline _Iterator __miter_base(_Iterator __it) { return __it; } } } # 62 "/usr/include/c++/10/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/10/ext/type_traits.h" 1 3 # 32 "/usr/include/c++/10/ext/type_traits.h" 3 # 33 "/usr/include/c++/10/ext/type_traits.h" 3 extern "C++" { 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; }; } } # 63 "/usr/include/c++/10/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/10/ext/numeric_traits.h" 1 3 # 32 "/usr/include/c++/10/ext/numeric_traits.h" 3 # 33 "/usr/include/c++/10/ext/numeric_traits.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 54 "/usr/include/c++/10/ext/numeric_traits.h" 3 template struct __numeric_traits_integer { static const _Value __min = (((_Value)(-1) < 0) ? -(((_Value)(-1) < 0) ? (((((_Value)1 << ((sizeof(_Value) * 8 - ((_Value)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(_Value)0) - 1 : (_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++/10/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++/10/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/10/bits/stl_pair.h" 1 3 # 59 "/usr/include/c++/10/bits/stl_pair.h" 3 # 1 "/usr/include/c++/10/bits/move.h" 1 3 # 38 "/usr/include/c++/10/bits/move.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline constexpr _Tp* __addressof(_Tp& __r) noexcept { return __builtin_addressof(__r); } } # 1 "/usr/include/c++/10/type_traits" 1 3 # 32 "/usr/include/c++/10/type_traits" 3 # 33 "/usr/include/c++/10/type_traits" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 56 "/usr/include/c++/10/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 noexcept { return value; } constexpr value_type operator()() const noexcept { 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; # 91 "/usr/include/c++/10/type_traits" 3 template struct conditional; template struct __type_identity { using type = _Type; }; template using __type_identity_t = typename __type_identity<_Tp>::type; 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 __bool_constant { }; # 188 "/usr/include/c++/10/type_traits" 3 template struct is_reference; template struct is_function; template struct is_void; template struct __is_array_unknown_bounds; template constexpr true_type __is_complete_or_unbounded(__type_identity<_T>) { return {}; } template constexpr typename __or_< is_reference<_NestedType>, is_function<_NestedType>, is_void<_NestedType>, __is_array_unknown_bounds<_NestedType> >::type __is_complete_or_unbounded(_TypeIdentity) { return {}; } template struct __success_type { typedef _Tp type; }; struct __failure_type { }; template struct remove_cv; template using __remove_cv_t = typename remove_cv<_Tp>::type; template struct is_const; template struct __is_void_helper : public false_type { }; template<> struct __is_void_helper : public true_type { }; template struct is_void : public __is_void_helper<__remove_cv_t<_Tp>>::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 { }; # 284 "/usr/include/c++/10/type_traits" 3 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<__int128> : public true_type { }; template<> struct __is_integral_helper : public true_type { }; # 364 "/usr/include/c++/10/type_traits" 3 template struct is_integral : public __is_integral_helper<__remove_cv_t<_Tp>>::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<__remove_cv_t<_Tp>>::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<__remove_cv_t<_Tp>>::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_member_object_pointer_helper : public false_type { }; template struct __is_member_object_pointer_helper<_Tp _Cp::*> : public __not_>::type { }; template struct is_member_object_pointer : public __is_member_object_pointer_helper<__remove_cv_t<_Tp>>::type { }; template struct __is_member_function_pointer_helper : public false_type { }; template struct __is_member_function_pointer_helper<_Tp _Cp::*> : public is_function<_Tp>::type { }; template struct is_member_function_pointer : public __is_member_function_pointer_helper<__remove_cv_t<_Tp>>::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 __bool_constant::value> { }; template struct is_function<_Tp&> : public false_type { }; template struct is_function<_Tp&&> : public false_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<__remove_cv_t<_Tp>>::type { }; template struct __is_nullptr_t : public is_null_pointer<_Tp> { } __attribute__ ((__deprecated__)); 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 __not_>::type { }; 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<__remove_cv_t<_Tp>>::type { }; template struct is_same; template using __is_one_of = __or_...>; template using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>, signed char, signed short, signed int, signed long, signed long long , signed __int128 # 604 "/usr/include/c++/10/type_traits" 3 >; template using __is_unsigned_integer = __is_one_of<__remove_cv_t<_Tp>, unsigned char, unsigned short, unsigned int, unsigned long, unsigned long long , unsigned __int128 # 623 "/usr/include/c++/10/type_traits" 3 >; template using __void_t = void; template struct __is_referenceable : public false_type { }; template struct __is_referenceable<_Tp, __void_t<_Tp&>> : 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 { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct is_trivially_copyable : public integral_constant { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct is_standard_layout : public integral_constant { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct is_pod : public integral_constant { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct is_literal_type : public integral_constant { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct is_empty : public integral_constant { }; template struct is_polymorphic : public integral_constant { }; template struct is_final : public integral_constant { }; 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_>> { }; # 766 "/usr/include/c++/10/type_traits" 3 template _Up __declval(int); template _Tp __declval(long); template auto declval() noexcept -> decltype(__declval<_Tp>(0)); 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_>> { }; 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 { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; struct __do_is_nt_destructible_impl { template static __bool_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 { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct __is_constructible_impl : public __bool_constant<__is_constructible(_Tp, _Args...)> { }; template struct is_constructible : public __is_constructible_impl<_Tp, _Args...> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct is_default_constructible : public __is_constructible_impl<_Tp>::type { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; 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_impl<_Tp, const _Tp&> { }; template struct is_copy_constructible : public __is_copy_constructible_impl<_Tp> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; 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_impl<_Tp, _Tp&&> { }; template struct is_move_constructible : public __is_move_constructible_impl<_Tp> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; 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>> { }; template struct __is_nt_default_constructible_impl<_Tp, false> : public __is_nt_default_constructible_atom<_Tp> { }; template using __is_nothrow_default_constructible_impl = __and_<__is_constructible_impl<_Tp>, __is_nt_default_constructible_impl<_Tp>>; template struct is_nothrow_default_constructible : public __is_nothrow_default_constructible_impl<_Tp>::type { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; 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_impl<_Tp> { }; template struct __is_nothrow_constructible_impl : public __and_<__is_constructible_impl<_Tp, _Args...>, __is_nt_constructible_impl<_Tp, _Args...>> { }; template struct is_nothrow_constructible : public __is_nothrow_constructible_impl<_Tp, _Args...>::type { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; 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_impl<_Tp, const _Tp&> { }; template struct is_nothrow_copy_constructible : public __is_nothrow_copy_constructible_impl<_Tp>::type { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; 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_impl<_Tp, _Tp&&> { }; template struct is_nothrow_move_constructible : public __is_nothrow_move_constructible_impl<_Tp>::type { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct is_assignable : public __bool_constant<__is_assignable(_Tp, _Up)> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; 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 __bool_constant<__is_assignable(_Tp&, const _Tp&)> { }; template struct is_copy_assignable : public __is_copy_assignable_impl<_Tp>::type { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; 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 __bool_constant<__is_assignable(_Tp&, _Tp&&)> { }; template struct is_move_assignable : public __is_move_assignable_impl<_Tp>::type { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct __is_nt_assignable_impl : public integral_constant() = declval<_Up>())> { }; template struct __is_nothrow_assignable_impl : public __and_<__bool_constant<__is_assignable(_Tp, _Up)>, __is_nt_assignable_impl<_Tp, _Up>> { }; template struct is_nothrow_assignable : public __is_nothrow_assignable_impl<_Tp, _Up> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; 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_impl<_Tp&, const _Tp&> { }; template struct is_nothrow_copy_assignable : public __is_nt_copy_assignable_impl<_Tp> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; 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_impl<_Tp&, _Tp&&> { }; template struct is_nothrow_move_assignable : public __is_nt_move_assignable_impl<_Tp> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct is_trivially_constructible : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct is_trivially_default_constructible : public __bool_constant<__is_trivially_constructible(_Tp)> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; struct __do_is_implicitly_default_constructible_impl { template static void __helper(const _Tp&); template static true_type __test(const _Tp&, decltype(__helper({}))* = 0); static false_type __test(...); }; template struct __is_implicitly_default_constructible_impl : public __do_is_implicitly_default_constructible_impl { typedef decltype(__test(declval<_Tp>())) type; }; template struct __is_implicitly_default_constructible_safe : public __is_implicitly_default_constructible_impl<_Tp>::type { }; template struct __is_implicitly_default_constructible : public __and_<__is_constructible_impl<_Tp>, __is_implicitly_default_constructible_safe<_Tp>> { }; template::value> struct __is_trivially_copy_constructible_impl; template struct __is_trivially_copy_constructible_impl<_Tp, false> : public false_type { }; template struct __is_trivially_copy_constructible_impl<_Tp, true> : public __and_<__is_copy_constructible_impl<_Tp>, integral_constant> { }; template struct is_trivially_copy_constructible : public __is_trivially_copy_constructible_impl<_Tp> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template::value> struct __is_trivially_move_constructible_impl; template struct __is_trivially_move_constructible_impl<_Tp, false> : public false_type { }; template struct __is_trivially_move_constructible_impl<_Tp, true> : public __and_<__is_move_constructible_impl<_Tp>, integral_constant> { }; template struct is_trivially_move_constructible : public __is_trivially_move_constructible_impl<_Tp> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct is_trivially_assignable : public __bool_constant<__is_trivially_assignable(_Tp, _Up)> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template::value> struct __is_trivially_copy_assignable_impl; template struct __is_trivially_copy_assignable_impl<_Tp, false> : public false_type { }; template struct __is_trivially_copy_assignable_impl<_Tp, true> : public __bool_constant<__is_trivially_assignable(_Tp&, const _Tp&)> { }; template struct is_trivially_copy_assignable : public __is_trivially_copy_assignable_impl<_Tp> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template::value> struct __is_trivially_move_assignable_impl; template struct __is_trivially_move_assignable_impl<_Tp, false> : public false_type { }; template struct __is_trivially_move_assignable_impl<_Tp, true> : public __bool_constant<__is_trivially_assignable(_Tp&, _Tp&&)> { }; template struct is_trivially_move_assignable : public __is_trivially_move_assignable_impl<_Tp> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct is_trivially_destructible : public __and_<__is_destructible_safe<_Tp>, __bool_constant<__has_trivial_destructor(_Tp)>> { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct has_virtual_destructor : public integral_constant { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct alignment_of : public integral_constant { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; 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 integral_constant { }; # 1410 "/usr/include/c++/10/type_traits" 3 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; }; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wctor-dtor-privacy" template class __is_convertible_helper<_From, _To, false> { template static void __test_aux(_To1) noexcept; template(std::declval<_From1>()))> static true_type __test(int); template static false_type __test(...); public: typedef decltype(__test<_From, _To>(0)) type; }; #pragma GCC diagnostic pop template struct is_convertible : public __is_convertible_helper<_From, _To>::type { }; template, is_function<_To>, is_array<_To>>::value> struct __is_nt_convertible_helper : is_void<_To> { }; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wctor-dtor-privacy" template class __is_nt_convertible_helper<_From, _To, false> { template static void __test_aux(_To1) noexcept; template static __bool_constant(std::declval<_From1>()))> __test(int); template static false_type __test(...); public: using type = decltype(__test<_From, _To>(0)); }; #pragma GCC diagnostic pop template using __is_array_convertible = is_convertible<_FromElementType(*)[], _ToElementType(*)[]>; template struct __is_nothrow_convertible : public __is_nt_convertible_helper<_From, _To>::type { }; # 1507 "/usr/include/c++/10/type_traits" 3 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 { using type = _Tp; }; template struct remove_cv { using type = _Tp; }; template struct remove_cv { using type = _Tp; }; template struct remove_cv { using type = _Tp; }; 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; }; template using remove_const_t = typename remove_const<_Tp>::type; template using remove_volatile_t = typename remove_volatile<_Tp>::type; template using remove_cv_t = typename remove_cv<_Tp>::type; template using add_const_t = typename add_const<_Tp>::type; template using add_volatile_t = typename add_volatile<_Tp>::type; template using add_cv_t = typename add_cv<_Tp>::type; 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> { }; template using remove_reference_t = typename remove_reference<_Tp>::type; template using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type; template using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type; 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<__int128> { typedef unsigned __int128 __type; }; # 1729 "/usr/include/c++/10/type_traits" 3 template::value, bool _IsEnum = is_enum<_Tp>::value> class __make_unsigned_selector; template class __make_unsigned_selector<_Tp, true, false> { using __unsigned_type = typename __make_unsigned<__remove_cv_t<_Tp>>::__type; public: using __type = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; }; class __make_unsigned_selector_base { protected: template struct _List { }; template struct _List<_Tp, _Up...> : _List<_Up...> { static constexpr size_t __size = sizeof(_Tp); }; template struct __select; template struct __select<_Sz, _List<_Uint, _UInts...>, true> { using __type = _Uint; }; template struct __select<_Sz, _List<_Uint, _UInts...>, false> : __select<_Sz, _List<_UInts...>> { }; }; template class __make_unsigned_selector<_Tp, false, true> : __make_unsigned_selector_base { using _UInts = _List; using __unsigned_type = typename __select::__type; public: using __type = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type; }; template<> struct __make_unsigned { using __type = typename __make_unsigned_selector::__type; }; # 1805 "/usr/include/c++/10/type_traits" 3 template<> struct __make_unsigned { using __type = typename __make_unsigned_selector::__type; }; template<> struct __make_unsigned { using __type = typename __make_unsigned_selector::__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; }; template<> struct __make_signed { typedef __int128 __type; }; # 1883 "/usr/include/c++/10/type_traits" 3 template::value, bool _IsEnum = is_enum<_Tp>::value> class __make_signed_selector; template class __make_signed_selector<_Tp, true, false> { using __signed_type = typename __make_signed<__remove_cv_t<_Tp>>::__type; public: using __type = typename __match_cv_qualifiers<_Tp, __signed_type>::__type; }; template class __make_signed_selector<_Tp, false, true> { typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type; public: typedef typename __make_signed_selector<__unsigned_type>::__type __type; }; template<> struct __make_signed { using __type = typename __make_signed_selector::__type; }; # 1931 "/usr/include/c++/10/type_traits" 3 template<> struct __make_signed { using __type = typename __make_signed_selector::__type; }; template<> struct __make_signed { using __type = typename __make_signed_selector::__type; }; template struct make_signed { typedef typename __make_signed_selector<_Tp>::__type type; }; template<> struct make_signed; template using make_signed_t = typename make_signed<_Tp>::type; template using make_unsigned_t = typename make_unsigned<_Tp>::type; 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; }; template using remove_extent_t = typename remove_extent<_Tp>::type; template using remove_all_extents_t = typename remove_all_extents<_Tp>::type; 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, __remove_cv_t<_Tp>> { }; 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> { }; template using remove_pointer_t = typename remove_pointer<_Tp>::type; template using add_pointer_t = typename add_pointer<_Tp>::type; template struct __aligned_storage_msa { union __type { unsigned char __data[_Len]; struct __attribute__((__aligned__)) { } __align; }; }; # 2066 "/usr/include/c++/10/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; }; # 2105 "/usr/include/c++/10/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 __remove_cv_t<_Up> __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 using __decay_t = typename decay<_Tp>::type; template class reference_wrapper; template struct __strip_reference_wrapper { typedef _Tp __type; }; template struct __strip_reference_wrapper > { typedef _Tp& __type; }; template using __decay_and_strip = __strip_reference_wrapper<__decay_t<_Tp>>; template struct enable_if { }; template struct enable_if { typedef _Tp type; }; template using __enable_if_t = typename enable_if<_Cond, _Tp>::type; template using _Require = __enable_if_t<__and_<_Cond...>::value>; template struct conditional { typedef _Iftrue type; }; template struct conditional { typedef _Iffalse type; }; template using __remove_cvref_t = typename remove_cv::type>::type; template struct common_type; struct __do_common_type_impl { template using __cond_t = decltype(true ? std::declval<_Tp>() : std::declval<_Up>()); template static __success_type<__decay_t<__cond_t<_Tp, _Up>>> _S_test(int); # 2238 "/usr/include/c++/10/type_traits" 3 template static __failure_type _S_test_2(...); template static decltype(_S_test_2<_Tp, _Up>(0)) _S_test(...); }; template<> struct common_type<> { }; template struct common_type<_Tp0> : public common_type<_Tp0, _Tp0> { }; template, typename _Dp2 = __decay_t<_Tp2>> struct __common_type_impl { using type = common_type<_Dp1, _Dp2>; }; template struct __common_type_impl<_Tp1, _Tp2, _Tp1, _Tp2> : private __do_common_type_impl { using type = decltype(_S_test<_Tp1, _Tp2>(0)); }; template struct common_type<_Tp1, _Tp2> : public __common_type_impl<_Tp1, _Tp2>::type { }; template struct __common_type_pack { }; template struct __common_type_fold; template struct common_type<_Tp1, _Tp2, _Rp...> : public __common_type_fold, __common_type_pack<_Rp...>> { }; template struct __common_type_fold<_CTp, __common_type_pack<_Rp...>, __void_t> : public common_type { }; template struct __common_type_fold<_CTp, _Rp, void> { }; template::value> struct __underlying_type_impl { using type = __underlying_type(_Tp); }; template struct __underlying_type_impl<_Tp, false> { }; template struct underlying_type : public __underlying_type_impl<_Tp> { }; template struct __declval_protector { static const bool __stop = false; }; template auto declval() noexcept -> decltype(__declval<_Tp>(0)) { static_assert(__declval_protector<_Tp>::__stop, "declval() must not be used!"); return __declval<_Tp>(0); } template class result_of; struct __invoke_memfun_ref { }; struct __invoke_memfun_deref { }; struct __invoke_memobj_ref { }; struct __invoke_memobj_deref { }; struct __invoke_other { }; template struct __result_of_success : __success_type<_Tp> { using __invoke_type = _Tag; }; struct __result_of_memfun_ref_impl { template static __result_of_success().*std::declval<_Fp>())(std::declval<_Args>()...) ), __invoke_memfun_ref> _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 __result_of_success()).*std::declval<_Fp>())(std::declval<_Args>()...) ), __invoke_memfun_deref> _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 __result_of_success().*std::declval<_Fp>() ), __invoke_memobj_ref> _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 __result_of_success()).*std::declval<_Fp>() ), __invoke_memobj_deref> _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 __remove_cvref_t<_Arg> _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_reference<_Arg>::type _Argval; typedef _Res _Class::* _MemPtr; typedef typename conditional::value, __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, __result_of_memfun_deref<_MemPtr, _Arg, _Args...> >::type::type type; }; template> struct __inv_unwrap { using type = _Tp; }; template struct __inv_unwrap<_Tp, reference_wrapper<_Up>> { using type = _Up&; }; template struct __result_of_impl { typedef __failure_type type; }; template struct __result_of_impl : public __result_of_memobj<__decay_t<_MemPtr>, typename __inv_unwrap<_Arg>::type> { }; template struct __result_of_impl : public __result_of_memfun<__decay_t<_MemPtr>, typename __inv_unwrap<_Arg>::type, _Args...> { }; struct __result_of_other_impl { template static __result_of_success()(std::declval<_Args>()...) ), __invoke_other> _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 __invoke_result : 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 { }; template struct result_of<_Functor(_ArgTypes...)> : public __invoke_result<_Functor, _ArgTypes...> { }; template::__type)> using aligned_storage_t = typename aligned_storage<_Len, _Align>::type; template using aligned_union_t = typename aligned_union<_Len, _Types...>::type; template using decay_t = typename decay<_Tp>::type; template using enable_if_t = typename enable_if<_Cond, _Tp>::type; template using conditional_t = typename conditional<_Cond, _Iftrue, _Iffalse>::type; template using common_type_t = typename common_type<_Tp...>::type; template using underlying_type_t = typename underlying_type<_Tp>::type; template using result_of_t = typename result_of<_Tp>::type; template using void_t = void; template class _Op, typename... _Args> struct __detector { using value_t = false_type; using type = _Default; }; template class _Op, typename... _Args> struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...> { using value_t = true_type; using type = _Op<_Args...>; }; template class _Op, typename... _Args> using __detected_or = __detector<_Default, void, _Op, _Args...>; template class _Op, typename... _Args> using __detected_or_t = typename __detected_or<_Default, _Op, _Args...>::type; # 2623 "/usr/include/c++/10/type_traits" 3 template struct __is_swappable; template struct __is_nothrow_swappable; template class tuple; template struct __is_tuple_like_impl : false_type { }; template struct __is_tuple_like_impl> : true_type { }; template struct __is_tuple_like : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type { }; template inline _Require<__not_<__is_tuple_like<_Tp>>, is_move_constructible<_Tp>, is_move_assignable<_Tp>> swap(_Tp&, _Tp&) noexcept(__and_, is_nothrow_move_assignable<_Tp>>::value); template inline __enable_if_t<__is_swappable<_Tp>::value> swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) noexcept(__is_nothrow_swappable<_Tp>::value); namespace __swappable_details { using std::swap; struct __do_is_swappable_impl { template(), std::declval<_Tp&>()))> static true_type __test(int); template static false_type __test(...); }; struct __do_is_nothrow_swappable_impl { template static __bool_constant< noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>())) > __test(int); template static false_type __test(...); }; } template struct __is_swappable_impl : public __swappable_details::__do_is_swappable_impl { typedef decltype(__test<_Tp>(0)) type; }; template struct __is_nothrow_swappable_impl : public __swappable_details::__do_is_nothrow_swappable_impl { typedef decltype(__test<_Tp>(0)) type; }; template struct __is_swappable : public __is_swappable_impl<_Tp>::type { }; template struct __is_nothrow_swappable : public __is_nothrow_swappable_impl<_Tp>::type { }; template struct is_swappable : public __is_swappable_impl<_Tp>::type { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template struct is_nothrow_swappable : public __is_nothrow_swappable_impl<_Tp>::type { static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}), "template argument must be a complete class or an unbounded array"); }; template constexpr bool is_swappable_v = is_swappable<_Tp>::value; template constexpr bool is_nothrow_swappable_v = is_nothrow_swappable<_Tp>::value; namespace __swappable_with_details { using std::swap; struct __do_is_swappable_with_impl { template(), std::declval<_Up>())), typename = decltype(swap(std::declval<_Up>(), std::declval<_Tp>()))> static true_type __test(int); template static false_type __test(...); }; struct __do_is_nothrow_swappable_with_impl { template static __bool_constant< noexcept(swap(std::declval<_Tp>(), std::declval<_Up>())) && noexcept(swap(std::declval<_Up>(), std::declval<_Tp>())) > __test(int); template static false_type __test(...); }; } template struct __is_swappable_with_impl : public __swappable_with_details::__do_is_swappable_with_impl { typedef decltype(__test<_Tp, _Up>(0)) type; }; template struct __is_swappable_with_impl<_Tp&, _Tp&> : public __swappable_details::__do_is_swappable_impl { typedef decltype(__test<_Tp&>(0)) type; }; template struct __is_nothrow_swappable_with_impl : public __swappable_with_details::__do_is_nothrow_swappable_with_impl { typedef decltype(__test<_Tp, _Up>(0)) type; }; template struct __is_nothrow_swappable_with_impl<_Tp&, _Tp&> : public __swappable_details::__do_is_nothrow_swappable_impl { typedef decltype(__test<_Tp&>(0)) type; }; template struct is_swappable_with : public __is_swappable_with_impl<_Tp, _Up>::type { }; template struct is_nothrow_swappable_with : public __is_nothrow_swappable_with_impl<_Tp, _Up>::type { }; template constexpr bool is_swappable_with_v = is_swappable_with<_Tp, _Up>::value; template constexpr bool is_nothrow_swappable_with_v = is_nothrow_swappable_with<_Tp, _Up>::value; template::value, typename = void> struct __is_invocable_impl : false_type { }; template struct __is_invocable_impl<_Result, _Ret, true, __void_t> : true_type { }; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wctor-dtor-privacy" template struct __is_invocable_impl<_Result, _Ret, false, __void_t> { private: static typename _Result::type _S_get(); template static void _S_conv(_Tp); template(_S_get()))> static true_type _S_test(int); template static false_type _S_test(...); public: using type = decltype(_S_test<_Ret>(1)); }; #pragma GCC diagnostic pop template struct __is_invocable : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type { }; template constexpr bool __call_is_nt(__invoke_memfun_ref) { using _Up = typename __inv_unwrap<_Tp>::type; return noexcept((std::declval<_Up>().*std::declval<_Fn>())( std::declval<_Args>()...)); } template constexpr bool __call_is_nt(__invoke_memfun_deref) { return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())( std::declval<_Args>()...)); } template constexpr bool __call_is_nt(__invoke_memobj_ref) { using _Up = typename __inv_unwrap<_Tp>::type; return noexcept(std::declval<_Up>().*std::declval<_Fn>()); } template constexpr bool __call_is_nt(__invoke_memobj_deref) { return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>()); } template constexpr bool __call_is_nt(__invoke_other) { return noexcept(std::declval<_Fn>()(std::declval<_Args>()...)); } template struct __call_is_nothrow : __bool_constant< std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{}) > { }; template using __call_is_nothrow_ = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>; template struct __is_nothrow_invocable : __and_<__is_invocable<_Fn, _Args...>, __call_is_nothrow_<_Fn, _Args...>>::type { }; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wctor-dtor-privacy" struct __nonesuchbase {}; struct __nonesuch : private __nonesuchbase { ~__nonesuch() = delete; __nonesuch(__nonesuch const&) = delete; void operator=(__nonesuch const&) = delete; }; #pragma GCC diagnostic pop # 3449 "/usr/include/c++/10/type_traits" 3 } # 58 "/usr/include/c++/10/bits/move.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 74 "/usr/include/c++/10/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++/10/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); } # 138 "/usr/include/c++/10/bits/move.h" 3 template inline _Tp* addressof(_Tp& __r) noexcept { return std::__addressof(__r); } template const _Tp* addressof(const _Tp&&) = delete; template inline _Tp __exchange(_Tp& __obj, _Up&& __new_val) { _Tp __old_val = std::move(__obj); __obj = std::forward<_Up>(__new_val); return __old_val; } # 179 "/usr/include/c++/10/bits/move.h" 3 template inline typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>, is_move_constructible<_Tp>, is_move_assignable<_Tp>>::value>::type 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 typename enable_if<__is_swappable<_Tp>::value>::type swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) noexcept(__is_nothrow_swappable<_Tp>::value) { for (size_t __n = 0; __n < _Nm; ++__n) swap(__a[__n], __b[__n]); } } # 60 "/usr/include/c++/10/bits/stl_pair.h" 2 3 # 68 "/usr/include/c++/10/bits/stl_pair.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 79 "/usr/include/c++/10/bits/stl_pair.h" 3 struct piecewise_construct_t { explicit piecewise_construct_t() = default; }; constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t(); template class tuple; template struct _Index_tuple; template struct _PCC { template static constexpr bool _ConstructiblePair() { return __and_, is_constructible<_T2, const _U2&>>::value; } template static constexpr bool _ImplicitlyConvertiblePair() { return __and_, is_convertible>::value; } template static constexpr bool _MoveConstructiblePair() { return __and_, is_constructible<_T2, _U2&&>>::value; } template static constexpr bool _ImplicitlyMoveConvertiblePair() { return __and_, is_convertible<_U2&&, _T2>>::value; } template static constexpr bool _CopyMovePair() { using __do_converts = __and_, is_convertible<_U2&&, _T2>>; using __converts = typename conditional<__implicit, __do_converts, __not_<__do_converts>>::type; return __and_, is_constructible<_T2, _U2&&>, __converts >::value; } template static constexpr bool _MoveCopyPair() { using __do_converts = __and_, is_convertible>; using __converts = typename conditional<__implicit, __do_converts, __not_<__do_converts>>::type; return __and_, is_constructible<_T2, const _U2&&>, __converts >::value; } }; template struct _PCC { template static constexpr bool _ConstructiblePair() { return false; } template static constexpr bool _ImplicitlyConvertiblePair() { return false; } template static constexpr bool _MoveConstructiblePair() { return false; } template static constexpr bool _ImplicitlyMoveConvertiblePair() { return false; } }; template class __pair_base { template friend struct pair; __pair_base() = default; ~__pair_base() = default; __pair_base(const __pair_base&) = default; __pair_base& operator=(const __pair_base&) = delete; }; # 209 "/usr/include/c++/10/bits/stl_pair.h" 3 template struct pair : private __pair_base<_T1, _T2> { typedef _T1 first_type; typedef _T2 second_type; _T1 first; _T2 second; template , __is_implicitly_default_constructible<_U2>> ::value, bool>::type = true> constexpr pair() : first(), second() { } template , is_default_constructible<_U2>, __not_< __and_<__is_implicitly_default_constructible<_U1>, __is_implicitly_default_constructible<_U2>>>> ::value, bool>::type = false> explicit constexpr pair() : first(), second() { } # 255 "/usr/include/c++/10/bits/stl_pair.h" 3 using _PCCP = _PCC; template() && _PCCP::template _ImplicitlyConvertiblePair<_U1, _U2>(), bool>::type=true> constexpr pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) { } template() && !_PCCP::template _ImplicitlyConvertiblePair<_U1, _U2>(), bool>::type=false> explicit constexpr pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) { } # 287 "/usr/include/c++/10/bits/stl_pair.h" 3 template using _PCCFP = _PCC::value || !is_same<_T2, _U2>::value, _T1, _T2>; template::template _ConstructiblePair<_U1, _U2>() && _PCCFP<_U1, _U2>::template _ImplicitlyConvertiblePair<_U1, _U2>(), bool>::type=true> constexpr pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) { } template::template _ConstructiblePair<_U1, _U2>() && !_PCCFP<_U1, _U2>::template _ImplicitlyConvertiblePair<_U1, _U2>(), bool>::type=false> explicit constexpr pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) { } constexpr pair(const pair&) = default; constexpr pair(pair&&) = default; template(), bool>::type=true> constexpr pair(_U1&& __x, const _T2& __y) : first(std::forward<_U1>(__x)), second(__y) { } template(), bool>::type=false> explicit constexpr pair(_U1&& __x, const _T2& __y) : first(std::forward<_U1>(__x)), second(__y) { } template(), bool>::type=true> constexpr pair(const _T1& __x, _U2&& __y) : first(__x), second(std::forward<_U2>(__y)) { } template(), bool>::type=false> explicit pair(const _T1& __x, _U2&& __y) : first(__x), second(std::forward<_U2>(__y)) { } template() && _PCCP::template _ImplicitlyMoveConvertiblePair<_U1, _U2>(), bool>::type=true> constexpr pair(_U1&& __x, _U2&& __y) : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } template() && !_PCCP::template _ImplicitlyMoveConvertiblePair<_U1, _U2>(), bool>::type=false> explicit constexpr pair(_U1&& __x, _U2&& __y) : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } template::template _MoveConstructiblePair<_U1, _U2>() && _PCCFP<_U1, _U2>::template _ImplicitlyMoveConvertiblePair<_U1, _U2>(), bool>::type=true> constexpr pair(pair<_U1, _U2>&& __p) : first(std::forward<_U1>(__p.first)), second(std::forward<_U2>(__p.second)) { } template::template _MoveConstructiblePair<_U1, _U2>() && !_PCCFP<_U1, _U2>::template _ImplicitlyMoveConvertiblePair<_U1, _U2>(), bool>::type=false> explicit 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=(typename conditional< __and_, is_copy_assignable<_T2>>::value, const pair&, const __nonesuch&>::type __p) { first = __p.first; second = __p.second; return *this; } pair& operator=(typename conditional< __and_, is_move_assignable<_T2>>::value, pair&&, __nonesuch&&>::type __p) noexcept(__and_, is_nothrow_move_assignable<_T2>>::value) { first = std::forward(__p.first); second = std::forward(__p.second); return *this; } template typename enable_if<__and_, is_assignable<_T2&, const _U2&>>::value, pair&>::type operator=(const pair<_U1, _U2>& __p) { first = __p.first; second = __p.second; return *this; } template typename enable_if<__and_, is_assignable<_T2&, _U2&&>>::value, pair&>::type operator=(pair<_U1, _U2>&& __p) { first = std::forward<_U1>(__p.first); second = std::forward<_U2>(__p.second); return *this; } void swap(pair& __p) noexcept(__and_<__is_nothrow_swappable<_T1>, __is_nothrow_swappable<_T2>>::value) { using std::swap; swap(first, __p.first); swap(second, __p.second); } private: template pair(tuple<_Args1...>&, tuple<_Args2...>&, _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); }; # 463 "/usr/include/c++/10/bits/stl_pair.h" 3 template inline constexpr bool operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __x.first == __y.first && __x.second == __y.second; } # 486 "/usr/include/c++/10/bits/stl_pair.h" 3 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); } # 523 "/usr/include/c++/10/bits/stl_pair.h" 3 template inline typename enable_if<__and_<__is_swappable<_T1>, __is_swappable<_T2>>::value>::type swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } template typename enable_if, __is_swappable<_T2>>::value>::type swap(pair<_T1, _T2>&, pair<_T1, _T2>&) = delete; # 563 "/usr/include/c++/10/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)); } # 582 "/usr/include/c++/10/bits/stl_pair.h" 3 } # 65 "/usr/include/c++/10/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/10/bits/stl_iterator_base_types.h" 1 3 # 62 "/usr/include/c++/10/bits/stl_iterator_base_types.h" 3 # 63 "/usr/include/c++/10/bits/stl_iterator_base_types.h" 3 # 74 "/usr/include/c++/10/bits/stl_iterator_base_types.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 93 "/usr/include/c++/10/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 { }; # 125 "/usr/include/c++/10/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; }; # 149 "/usr/include/c++/10/bits/stl_iterator_base_types.h" 3 template struct iterator_traits; 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> { }; # 209 "/usr/include/c++/10/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 constexpr typename iterator_traits<_Iter>::iterator_category __iterator_category(const _Iter&) { return typename iterator_traits<_Iter>::iterator_category(); } template using __iterator_category_t = typename iterator_traits<_Iter>::iterator_category; template using _RequireInputIter = __enable_if_t, input_iterator_tag>::value>; template> struct __is_random_access_iter : is_base_of { typedef is_base_of _Base; enum { __value = _Base::value }; }; } # 66 "/usr/include/c++/10/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/10/bits/stl_iterator_base_funcs.h" 1 3 # 62 "/usr/include/c++/10/bits/stl_iterator_base_funcs.h" 3 # 63 "/usr/include/c++/10/bits/stl_iterator_base_funcs.h" 3 # 1 "/usr/include/c++/10/bits/concept_check.h" 1 3 # 33 "/usr/include/c++/10/bits/concept_check.h" 3 # 34 "/usr/include/c++/10/bits/concept_check.h" 3 # 65 "/usr/include/c++/10/bits/stl_iterator_base_funcs.h" 2 3 # 1 "/usr/include/c++/10/debug/assertions.h" 1 3 # 66 "/usr/include/c++/10/bits/stl_iterator_base_funcs.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct _List_iterator; template struct _List_const_iterator; template inline constexpr 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 constexpr typename iterator_traits<_RandomAccessIterator>::difference_type __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag) { return __last - __first; } template ptrdiff_t __distance(std::_List_iterator<_Tp>, std::_List_iterator<_Tp>, input_iterator_tag); template ptrdiff_t __distance(std::_List_const_iterator<_Tp>, std::_List_const_iterator<_Tp>, input_iterator_tag); # 135 "/usr/include/c++/10/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 constexpr void __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) { ; while (__n--) ++__i; } template inline constexpr void __advance(_BidirectionalIterator& __i, _Distance __n, bidirectional_iterator_tag) { if (__n > 0) while (__n--) ++__i; else while (__n++) --__i; } template inline constexpr void __advance(_RandomAccessIterator& __i, _Distance __n, random_access_iterator_tag) { if (__builtin_constant_p(__n) && __n == 1) ++__i; else if (__builtin_constant_p(__n) && __n == -1) --__i; else __i += __n; } # 200 "/usr/include/c++/10/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 _InputIterator next(_InputIterator __x, typename iterator_traits<_InputIterator>::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++/10/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/10/bits/stl_iterator.h" 1 3 # 66 "/usr/include/c++/10/bits/stl_iterator.h" 3 # 1 "/usr/include/c++/10/bits/ptr_traits.h" 1 3 # 37 "/usr/include/c++/10/bits/ptr_traits.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { class __undefined; template struct __get_first_arg { using type = __undefined; }; template class _Template, typename _Tp, typename... _Types> struct __get_first_arg<_Template<_Tp, _Types...>> { using type = _Tp; }; template using __get_first_arg_t = typename __get_first_arg<_Tp>::type; template struct __replace_first_arg { }; template class _Template, typename _Up, typename _Tp, typename... _Types> struct __replace_first_arg<_Template<_Tp, _Types...>, _Up> { using type = _Template<_Up, _Types...>; }; template using __replace_first_arg_t = typename __replace_first_arg<_Tp, _Up>::type; template using __make_not_void = typename conditional::value, __undefined, _Tp>::type; template struct pointer_traits { private: template using __element_type = typename _Tp::element_type; template using __difference_type = typename _Tp::difference_type; template struct __rebind : __replace_first_arg<_Tp, _Up> { }; template struct __rebind<_Tp, _Up, __void_t>> { using type = typename _Tp::template rebind<_Up>; }; public: using pointer = _Ptr; using element_type = __detected_or_t<__get_first_arg_t<_Ptr>, __element_type, _Ptr>; using difference_type = __detected_or_t; template using rebind = typename __rebind<_Ptr, _Up>::type; static _Ptr pointer_to(__make_not_void& __e) { return _Ptr::pointer_to(__e); } static_assert(!is_same::value, "pointer type defines element_type or is like SomePointer"); }; 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(__make_not_void& __r) noexcept { return std::addressof(__r); } }; template using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>; template constexpr _Tp* __to_address(_Tp* __ptr) noexcept { static_assert(!std::is_function<_Tp>::value, "not a function pointer"); return __ptr; } template constexpr typename std::pointer_traits<_Ptr>::element_type* __to_address(const _Ptr& __ptr) { return std::__to_address(__ptr.operator->()); } # 198 "/usr/include/c++/10/bits/ptr_traits.h" 3 } # 67 "/usr/include/c++/10/bits/stl_iterator.h" 2 3 # 81 "/usr/include/c++/10/bits/stl_iterator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 109 "/usr/include/c++/10/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; # 135 "/usr/include/c++/10/bits/stl_iterator.h" 3 reverse_iterator() : current() { } explicit reverse_iterator(iterator_type __x) : current(__x) { } reverse_iterator(const reverse_iterator& __x) : current(__x.current) { } reverse_iterator& operator=(const reverse_iterator&) = default; template reverse_iterator(const reverse_iterator<_Iter>& __x) : current(__x.base()) { } iterator_type base() const { return current; } # 181 "/usr/include/c++/10/bits/stl_iterator.h" 3 reference operator*() const { _Iterator __tmp = current; return *--__tmp; } pointer operator->() const { _Iterator __tmp = current; --__tmp; return _S_to_pointer(__tmp); } 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); } private: template static _Tp* _S_to_pointer(_Tp* __p) { return __p; } template static pointer _S_to_pointer(_Tp __t) { return __t.operator->(); } }; # 332 "/usr/include/c++/10/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 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); } # 422 "/usr/include/c++/10/bits/stl_iterator.h" 3 template inline auto operator-(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) -> decltype(__y.base() - __x.base()) { 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 reverse_iterator<_Iterator> __make_reverse_iterator(_Iterator __i) { return reverse_iterator<_Iterator>(__i); } template inline reverse_iterator<_Iterator> make_reverse_iterator(_Iterator __i) { return reverse_iterator<_Iterator>(__i); } # 463 "/usr/include/c++/10/bits/stl_iterator.h" 3 template auto __niter_base(reverse_iterator<_Iterator> __it) -> decltype(__make_reverse_iterator(__niter_base(__it.base()))) { return __make_reverse_iterator(__niter_base(__it.base())); } template struct __is_move_iterator > : __is_move_iterator<_Iterator> { }; template auto __miter_base(reverse_iterator<_Iterator> __it) -> decltype(__make_reverse_iterator(__miter_base(__it.base()))) { return __make_reverse_iterator(__miter_base(__it.base())); } # 494 "/usr/include/c++/10/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(std::__addressof(__x)) { } # 529 "/usr/include/c++/10/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; } }; # 571 "/usr/include/c++/10/bits/stl_iterator.h" 3 template inline back_insert_iterator<_Container> back_inserter(_Container& __x) { return back_insert_iterator<_Container>(__x); } # 586 "/usr/include/c++/10/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(std::__addressof(__x)) { } # 620 "/usr/include/c++/10/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; } }; # 662 "/usr/include/c++/10/bits/stl_iterator.h" 3 template inline front_insert_iterator<_Container> front_inserter(_Container& __x) { return front_insert_iterator<_Container>(__x); } # 681 "/usr/include/c++/10/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(std::__addressof(__x)), iter(__i) {} # 732 "/usr/include/c++/10/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; } }; # 777 "/usr/include/c++/10/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"))) { # 801 "/usr/include/c++/10/bits/stl_iterator.h" 3 template class __normal_iterator { protected: _Iterator _M_current; typedef std::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; } }; # 916 "/usr/include/c++/10/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"))) { template _Iterator __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) { return __it.base(); } # 1127 "/usr/include/c++/10/bits/stl_iterator.h" 3 template class move_iterator { _Iterator _M_current; using __traits_type = iterator_traits<_Iterator>; using __base_ref = typename __traits_type::reference; public: using iterator_type = _Iterator; # 1151 "/usr/include/c++/10/bits/stl_iterator.h" 3 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(std::move(__i)) { } template move_iterator(const move_iterator<_Iter>& __i) : _M_current(__i.base()) { } iterator_type base() const { return _M_current; } # 1193 "/usr/include/c++/10/bits/stl_iterator.h" 3 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]); } # 1284 "/usr/include/c++/10/bits/stl_iterator.h" 3 }; 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 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>(std::move(__i)); } template::value_type>::value, _Iterator, move_iterator<_Iterator>>::type> inline _ReturnType __make_move_if_noexcept_iterator(_Iterator __i) { return _ReturnType(__i); } template::value, const _Tp*, move_iterator<_Tp*>>::type> inline _ReturnType __make_move_if_noexcept_iterator(_Tp* __i) { return _ReturnType(__i); } # 1987 "/usr/include/c++/10/bits/stl_iterator.h" 3 template auto __niter_base(move_iterator<_Iterator> __it) -> decltype(make_move_iterator(__niter_base(__it.base()))) { return make_move_iterator(__niter_base(__it.base())); } template struct __is_move_iterator > { enum { __value = 1 }; typedef __true_type __type; }; template auto __miter_base(move_iterator<_Iterator> __it) -> decltype(__miter_base(__it.base())) { return __miter_base(__it.base()); } # 2034 "/usr/include/c++/10/bits/stl_iterator.h" 3 } # 68 "/usr/include/c++/10/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/10/debug/debug.h" 1 3 # 48 "/usr/include/c++/10/debug/debug.h" 3 namespace std { namespace __debug { } } namespace __gnu_debug { using namespace std::__debug; template struct _Safe_iterator; } # 70 "/usr/include/c++/10/bits/stl_algobase.h" 2 3 # 1 "/usr/include/c++/10/bits/predefined_ops.h" 1 3 # 33 "/usr/include/c++/10/bits/predefined_ops.h" 3 namespace __gnu_cxx { namespace __ops { struct _Iter_less_iter { template constexpr bool operator()(_Iterator1 __it1, _Iterator2 __it2) const { return *__it1 < *__it2; } }; constexpr inline _Iter_less_iter __iter_less_iter() { return _Iter_less_iter(); } struct _Iter_less_val { constexpr _Iter_less_val() = default; explicit _Iter_less_val(_Iter_less_iter) { } 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 { constexpr _Val_less_iter() = default; explicit _Val_less_iter(_Iter_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; explicit constexpr _Iter_comp_iter(_Compare __comp) : _M_comp(std::move(__comp)) { } template constexpr bool operator()(_Iterator1 __it1, _Iterator2 __it2) { return bool(_M_comp(*__it1, *__it2)); } }; template constexpr inline _Iter_comp_iter<_Compare> __iter_comp_iter(_Compare __comp) { return _Iter_comp_iter<_Compare>(std::move(__comp)); } template struct _Iter_comp_val { _Compare _M_comp; explicit _Iter_comp_val(_Compare __comp) : _M_comp(std::move(__comp)) { } explicit _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp) : _M_comp(__comp._M_comp) { } explicit _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp) : _M_comp(std::move(__comp._M_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>(std::move(__comp)); } template inline _Iter_comp_val<_Compare> __iter_comp_val(_Iter_comp_iter<_Compare> __comp) { return _Iter_comp_val<_Compare>(std::move(__comp)); } template struct _Val_comp_iter { _Compare _M_comp; explicit _Val_comp_iter(_Compare __comp) : _M_comp(std::move(__comp)) { } explicit _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp) : _M_comp(__comp._M_comp) { } explicit _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp) : _M_comp(std::move(__comp._M_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>(std::move(__comp)); } template inline _Val_comp_iter<_Compare> __val_comp_iter(_Iter_comp_iter<_Compare> __comp) { return _Val_comp_iter<_Compare>(std::move(__comp)); } template struct _Iter_equals_val { _Value& _M_value; explicit _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 { _Iterator1 _M_it1; explicit _Iter_equals_iter(_Iterator1 __it1) : _M_it1(__it1) { } template bool operator()(_Iterator2 __it2) { return *__it2 == *_M_it1; } }; 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; explicit _Iter_pred(_Predicate __pred) : _M_pred(std::move(__pred)) { } template bool operator()(_Iterator __it) { return bool(_M_pred(*__it)); } }; template inline _Iter_pred<_Predicate> __pred_iter(_Predicate __pred) { return _Iter_pred<_Predicate>(std::move(__pred)); } template struct _Iter_comp_to_val { _Compare _M_comp; _Value& _M_value; _Iter_comp_to_val(_Compare __comp, _Value& __value) : _M_comp(std::move(__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>(std::move(__comp), __val); } template struct _Iter_comp_to_iter { _Compare _M_comp; _Iterator1 _M_it1; _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) : _M_comp(std::move(__comp)), _M_it1(__it1) { } template bool operator()(_Iterator2 __it2) { return bool(_M_comp(*__it2, *_M_it1)); } }; 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>( std::move(__comp._M_comp), __it); } template struct _Iter_negate { _Predicate _M_pred; explicit _Iter_negate(_Predicate __pred) : _M_pred(std::move(__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>(std::move(__pred._M_pred)); } } } # 72 "/usr/include/c++/10/bits/stl_algobase.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template constexpr inline void* __memmove(_Tp* __dst, const _Tp* __src, size_t __num) { # 108 "/usr/include/c++/10/bits/stl_algobase.h" 3 return __builtin_memmove(__dst, __src, sizeof(_Tp) * __num); return __dst; } template constexpr inline int __memcmp(const _Tp* __first1, const _Tp* __first2, size_t __num) { # 131 "/usr/include/c++/10/bits/stl_algobase.h" 3 return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num); } # 175 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) { # 208 "/usr/include/c++/10/bits/stl_algobase.h" 3 swap(*__a, *__b); } # 224 "/usr/include/c++/10/bits/stl_algobase.h" 3 template _ForwardIterator2 swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2) { ; for (; __first1 != __last1; ++__first1, (void)++__first2) std::iter_swap(__first1, __first2); return __first2; } # 253 "/usr/include/c++/10/bits/stl_algobase.h" 3 template constexpr inline const _Tp& min(const _Tp& __a, const _Tp& __b) { if (__b < __a) return __b; return __a; } # 277 "/usr/include/c++/10/bits/stl_algobase.h" 3 template constexpr inline const _Tp& max(const _Tp& __a, const _Tp& __b) { if (__a < __b) return __b; return __a; } # 301 "/usr/include/c++/10/bits/stl_algobase.h" 3 template constexpr inline const _Tp& min(const _Tp& __a, const _Tp& __b, _Compare __comp) { if (__comp(__b, __a)) return __b; return __a; } # 323 "/usr/include/c++/10/bits/stl_algobase.h" 3 template constexpr inline const _Tp& max(const _Tp& __a, const _Tp& __b, _Compare __comp) { if (__comp(__a, __b)) return __b; return __a; } template inline _Iterator __niter_base(_Iterator __it) noexcept(std::is_nothrow_copy_constructible<_Iterator>::value) { return __it; } template inline _From __niter_wrap(_From __from, _To __res) { return __from + (__res - std::__niter_base(__from)); } template inline _Iterator __niter_wrap(const _Iterator&, _Iterator __res) { return __res; } template struct __copy_move { template static _OI __copy_m(_II __first, _II __last, _OI __result) { for (; __first != __last; ++__result, (void)++__first) *__result = *__first; return __result; } }; template struct __copy_move { template static _OI __copy_m(_II __first, _II __last, _OI __result) { for (; __first != __last; ++__result, (void)++__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) { using __assignable = conditional<_IsMove, is_move_assignable<_Tp>, is_copy_assignable<_Tp>>; static_assert( __assignable::type::value, "type is not assignable" ); const ptrdiff_t _Num = __last - __first; if (_Num) std::__memmove<_IsMove>(__result, __first, _Num); return __result + _Num; } }; 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) { 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_trivially_copyable(_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 _Deque_iterator; template _OI __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>, std::_Deque_iterator<_Tp, _Ref, _Ptr>, _OI); template std::_Deque_iterator<_OTp, _OTp&, _OTp*> __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr>, std::_Deque_iterator<_ITp, _IRef, _IPtr>, std::_Deque_iterator<_OTp, _OTp&, _OTp*>); template typename __gnu_cxx::__enable_if< __is_random_access_iter<_II>::__value, std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type __copy_move_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>); template inline _OI __copy_move_a1(_II __first, _II __last, _OI __result) { return std::__copy_move_a2<_IsMove>(__first, __last, __result); } template inline _OI __copy_move_a(_II __first, _II __last, _OI __result) { return std::__niter_wrap(__result, std::__copy_move_a1<_IsMove>(std::__niter_base(__first), std::__niter_base(__last), std::__niter_base(__result))); } template _OI __copy_move_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, _OI); template __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> __copy_move_a(_II, _II, const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); template ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat> __copy_move_a(const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&); # 584 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline _OI copy(_II __first, _II __last, _OI __result) { ; return std::__copy_move_a<__is_move_iterator<_II>::__value> (std::__miter_base(__first), std::__miter_base(__last), __result); } # 617 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline _OI move(_II __first, _II __last, _OI __result) { ; return std::__copy_move_a(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 = __last - __first; for (; __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 = __last - __first; for (; __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) { using __assignable = conditional<_IsMove, is_move_assignable<_Tp>, is_copy_assignable<_Tp>>; static_assert( __assignable::type::value, "type is not assignable" ); const ptrdiff_t _Num = __last - __first; if (_Num) std::__memmove<_IsMove>(__result - _Num, __first, _Num); return __result - _Num; } }; template inline _BI2 __copy_move_backward_a2(_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_trivially_copyable(_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_a1(_BI1 __first, _BI1 __last, _BI2 __result) { return std::__copy_move_backward_a2<_IsMove>(__first, __last, __result); } template _OI __copy_move_backward_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr>, std::_Deque_iterator<_Tp, _Ref, _Ptr>, _OI); template std::_Deque_iterator<_OTp, _OTp&, _OTp*> __copy_move_backward_a1( std::_Deque_iterator<_ITp, _IRef, _IPtr>, std::_Deque_iterator<_ITp, _IRef, _IPtr>, std::_Deque_iterator<_OTp, _OTp&, _OTp*>); template typename __gnu_cxx::__enable_if< __is_random_access_iter<_II>::__value, std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type __copy_move_backward_a1(_II, _II, std::_Deque_iterator<_Tp, _Tp&, _Tp*>); template inline _OI __copy_move_backward_a(_II __first, _II __last, _OI __result) { return std::__niter_wrap(__result, std::__copy_move_backward_a1<_IsMove> (std::__niter_base(__first), std::__niter_base(__last), std::__niter_base(__result))); } template _OI __copy_move_backward_a( const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, _OI); template __gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> __copy_move_backward_a(_II, _II, const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&); template ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat> __copy_move_backward_a( const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, const ::__gnu_debug::_Safe_iterator<_IIte, _ISeq, _ICat>&, const ::__gnu_debug::_Safe_iterator<_OIte, _OSeq, _OCat>&); # 828 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline _BI2 copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) { ; return std::__copy_move_backward_a<__is_move_iterator<_BI1>::__value> (std::__miter_base(__first), std::__miter_base(__last), __result); } # 864 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline _BI2 move_backward(_BI1 __first, _BI1 __last, _BI2 __result) { ; return std::__copy_move_backward_a(std::__miter_base(__first), std::__miter_base(__last), __result); } template inline typename __gnu_cxx::__enable_if::__value, void>::__type __fill_a1(_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_a1(_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_a1(_Tp* __first, _Tp* __last, const _Tp& __c) { const _Tp __tmp = __c; if (const size_t __len = __last - __first) __builtin_memset(__first, static_cast(__tmp), __len); } template inline void __fill_a1(::__gnu_cxx::__normal_iterator<_Ite, _Cont> __first, ::__gnu_cxx::__normal_iterator<_Ite, _Cont> __last, const _Tp& __value) { std::__fill_a1(__first.base(), __last.base(), __value); } template void __fill_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&, const std::_Deque_iterator<_Tp, _Tp&, _Tp*>&, const _VTp&); template inline void __fill_a(_FIte __first, _FIte __last, const _Tp& __value) { std::__fill_a1(__first, __last, __value); } template void __fill_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>&, const _Tp&); # 959 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline void fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { ; std::__fill_a(__first, __last, __value); } inline constexpr int __size_to_integer(int __n) { return __n; } inline constexpr unsigned __size_to_integer(unsigned __n) { return __n; } inline constexpr long __size_to_integer(long __n) { return __n; } inline constexpr unsigned long __size_to_integer(unsigned long __n) { return __n; } inline constexpr long long __size_to_integer(long long __n) { return __n; } inline constexpr unsigned long long __size_to_integer(unsigned long long __n) { return __n; } inline constexpr __int128 __size_to_integer(__int128 __n) { return __n; } inline constexpr unsigned __int128 __size_to_integer(unsigned __int128 __n) { return __n; } # 1011 "/usr/include/c++/10/bits/stl_algobase.h" 3 inline constexpr long long __size_to_integer(float __n) { return __n; } inline constexpr long long __size_to_integer(double __n) { return __n; } inline constexpr long long __size_to_integer(long double __n) { return __n; } inline constexpr long long __size_to_integer(__float128 __n) { return __n; } template inline typename __gnu_cxx::__enable_if::__value, _OutputIterator>::__type __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value) { for (; __n > 0; --__n, (void) ++__first) *__first = __value; return __first; } template inline typename __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type __fill_n_a1(_OutputIterator __first, _Size __n, const _Tp& __value) { const _Tp __tmp = __value; for (; __n > 0; --__n, (void) ++__first) *__first = __tmp; return __first; } template ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat> __fill_n_a(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, _Cat>& __first, _Size __n, const _Tp& __value, std::input_iterator_tag); template inline _OutputIterator __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, std::output_iterator_tag) { static_assert(is_integral<_Size>{}, "fill_n must pass integral size"); return __fill_n_a1(__first, __n, __value); } template inline _OutputIterator __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, std::input_iterator_tag) { static_assert(is_integral<_Size>{}, "fill_n must pass integral size"); return __fill_n_a1(__first, __n, __value); } template inline _OutputIterator __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, std::random_access_iterator_tag) { static_assert(is_integral<_Size>{}, "fill_n must pass integral size"); if (__n <= 0) return __first; ; std::__fill_a(__first, __first + __n, __value); return __first + __n; } # 1111 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline _OI fill_n(_OI __first, _Size __n, const _Tp& __value) { return std::__fill_n_a(__first, std::__size_to_integer(__n), __value, std::__iterator_category(__first)); } template struct __equal { template static bool equal(_II1 __first1, _II1 __last1, _II2 __first2) { for (; __first1 != __last1; ++__first1, (void) ++__first2) if (!(*__first1 == *__first2)) return false; return true; } }; template<> struct __equal { template static bool equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) { if (const size_t __len = (__last1 - __first1)) return !std::__memcmp(__first1, __first2, __len); return true; } }; template typename __gnu_cxx::__enable_if< __is_random_access_iter<_II>::__value, bool>::__type __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr>, std::_Deque_iterator<_Tp, _Ref, _Ptr>, _II); template bool __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>); template typename __gnu_cxx::__enable_if< __is_random_access_iter<_II>::__value, bool>::__type __equal_aux1(_II, _II, std::_Deque_iterator<_Tp, _Ref, _Ptr>); template inline bool __equal_aux1(_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 inline bool __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2) { return std::__equal_aux1(std::__niter_base(__first1), std::__niter_base(__last1), std::__niter_base(__first2)); } template bool __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, _II2); template bool __equal_aux(_II1, _II1, const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&); template bool __equal_aux(const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, const ::__gnu_debug::_Safe_iterator<_II1, _Seq1, _Cat1>&, const ::__gnu_debug::_Safe_iterator<_II2, _Seq2, _Cat2>&); 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, (void)++__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; if (const size_t __len = std::min(__len1, __len2)) if (int __result = std::__memcmp(__first1, __first2, __len)) return __result < 0; return __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; } # 1373 "/usr/include/c++/10/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 (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); } inline constexpr unsigned __lg(unsigned __n) { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); } inline constexpr long __lg(long __n) { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); } inline constexpr unsigned long __lg(unsigned long __n) { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); } inline constexpr long long __lg(long long __n) { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } inline constexpr unsigned long long __lg(unsigned long long __n) { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } # 1429 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline bool equal(_II1 __first1, _II1 __last1, _II2 __first2) { ; return std::__equal_aux(__first1, __last1, __first2); } # 1460 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline bool equal(_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _BinaryPredicate __binary_pred) { ; for (; __first1 != __last1; ++__first1, (void)++__first2) if (!bool(__binary_pred(*__first1, *__first2))) return false; return true; } template inline bool __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { using _RATag = random_access_iterator_tag; using _Cat1 = typename iterator_traits<_II1>::iterator_category; using _Cat2 = typename iterator_traits<_II2>::iterator_category; using _RAIters = __and_, is_same<_Cat2, _RATag>>; if (_RAIters()) { auto __d1 = std::distance(__first1, __last1); auto __d2 = std::distance(__first2, __last2); if (__d1 != __d2) return false; return std::equal(__first1, __last1, __first2); } for (; __first1 != __last1 && __first2 != __last2; ++__first1, (void)++__first2) if (!(*__first1 == *__first2)) return false; return __first1 == __last1 && __first2 == __last2; } template inline bool __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _BinaryPredicate __binary_pred) { using _RATag = random_access_iterator_tag; using _Cat1 = typename iterator_traits<_II1>::iterator_category; using _Cat2 = typename iterator_traits<_II2>::iterator_category; using _RAIters = __and_, is_same<_Cat2, _RATag>>; if (_RAIters()) { auto __d1 = std::distance(__first1, __last1); auto __d2 = std::distance(__first2, __last2); if (__d1 != __d2) return false; return std::equal(__first1, __last1, __first2, __binary_pred); } for (; __first1 != __last1 && __first2 != __last2; ++__first1, (void)++__first2) if (!bool(__binary_pred(*__first1, *__first2))) return false; return __first1 == __last1 && __first2 == __last2; } # 1550 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline bool equal(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { ; ; return std::__equal4(__first1, __last1, __first2, __last2); } # 1583 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline bool equal(_IIter1 __first1, _IIter1 __last1, _IIter2 __first2, _IIter2 __last2, _BinaryPredicate __binary_pred) { ; ; return std::__equal4(__first1, __last1, __first2, __last2, __binary_pred); } # 1615 "/usr/include/c++/10/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)); } # 1652 "/usr/include/c++/10/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)); } # 1765 "/usr/include/c++/10/bits/stl_algobase.h" 3 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); } # 1793 "/usr/include/c++/10/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()); } # 1827 "/usr/include/c++/10/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)); } template pair<_InputIterator1, _InputIterator2> __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __binary_pred) { while (__first1 != __last1 && __first2 != __last2 && __binary_pred(__first1, __first2)) { ++__first1; ++__first2; } return pair<_InputIterator1, _InputIterator2>(__first1, __first2); } # 1876 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2) { ; ; return std::__mismatch(__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_equal_to_iter()); } # 1912 "/usr/include/c++/10/bits/stl_algobase.h" 3 template inline pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2, _BinaryPredicate __binary_pred) { ; ; return std::__mismatch(__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); } } # 64 "/usr/include/c++/10/bits/stl_tree.h" 2 3 # 1 "/usr/include/c++/10/bits/allocator.h" 1 3 # 46 "/usr/include/c++/10/bits/allocator.h" 3 # 1 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++allocator.h" 1 3 # 33 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++allocator.h" 3 # 1 "/usr/include/c++/10/ext/new_allocator.h" 1 3 # 33 "/usr/include/c++/10/ext/new_allocator.h" 3 # 1 "/usr/include/c++/10/new" 1 3 # 38 "/usr/include/c++/10/new" 3 # 39 "/usr/include/c++/10/new" 3 # 1 "/usr/include/c++/10/exception" 1 3 # 33 "/usr/include/c++/10/exception" 3 # 34 "/usr/include/c++/10/exception" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/10/bits/exception.h" 1 3 # 34 "/usr/include/c++/10/bits/exception.h" 3 # 35 "/usr/include/c++/10/bits/exception.h" 3 #pragma GCC visibility push(default) extern "C++" { namespace std { # 60 "/usr/include/c++/10/bits/exception.h" 3 class exception { public: exception() noexcept { } virtual ~exception() noexcept; exception(const exception&) = default; exception& operator=(const exception&) = default; exception(exception&&) = default; exception& operator=(exception&&) = default; virtual const char* what() const noexcept; }; } } #pragma GCC visibility pop # 39 "/usr/include/c++/10/exception" 2 3 extern "C++" { namespace std { 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__)); # 105 "/usr/include/c++/10/exception" 3 bool uncaught_exception() noexcept __attribute__ ((__pure__)); int uncaught_exceptions() noexcept __attribute__ ((__pure__)); } namespace __gnu_cxx { # 137 "/usr/include/c++/10/exception" 3 void __verbose_terminate_handler(); } } #pragma GCC visibility pop # 1 "/usr/include/c++/10/bits/exception_ptr.h" 1 3 # 34 "/usr/include/c++/10/bits/exception_ptr.h" 3 #pragma GCC visibility push(default) # 1 "/usr/include/c++/10/bits/cxxabi_init_exception.h" 1 3 # 34 "/usr/include/c++/10/bits/cxxabi_init_exception.h" 3 # 35 "/usr/include/c++/10/bits/cxxabi_init_exception.h" 3 #pragma GCC visibility push(default) # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 143 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 3 4 typedef long int ptrdiff_t; # 209 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 3 4 typedef long unsigned int size_t; # 415 "/usr/lib/gcc/x86_64-redhat-linux/10/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)))); # 426 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 3 4 } max_align_t; typedef decltype(nullptr) nullptr_t; # 39 "/usr/include/c++/10/bits/cxxabi_init_exception.h" 2 3 # 50 "/usr/include/c++/10/bits/cxxabi_init_exception.h" 3 namespace std { class type_info; } namespace __cxxabiv1 { struct __cxa_refcounted_exception; extern "C" { void* __cxa_allocate_exception(size_t) noexcept; void __cxa_free_exception(void*) noexcept; __cxa_refcounted_exception* __cxa_init_primary_exception(void *object, std::type_info *tinfo, void ( *dest) (void *)) noexcept; } } #pragma GCC visibility pop # 39 "/usr/include/c++/10/bits/exception_ptr.h" 2 3 # 1 "/usr/include/c++/10/typeinfo" 1 3 # 32 "/usr/include/c++/10/typeinfo" 3 # 33 "/usr/include/c++/10/typeinfo" 3 # 1 "/usr/include/c++/10/bits/hash_bytes.h" 1 3 # 33 "/usr/include/c++/10/bits/hash_bytes.h" 3 # 34 "/usr/include/c++/10/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); } # 37 "/usr/include/c++/10/typeinfo" 2 3 #pragma GCC visibility push(default) extern "C++" { namespace __cxxabiv1 { class __class_type_info; } # 80 "/usr/include/c++/10/typeinfo" 3 namespace std { class type_info { public: virtual ~type_info(); const char* name() const noexcept { return __name[0] == '*' ? __name + 1 : __name; } # 115 "/usr/include/c++/10/typeinfo" 3 bool before(const type_info& __arg) const noexcept { return (__name[0] == '*' && __arg.__name[0] == '*') ? __name < __arg.__name : __builtin_strcmp (__name, __arg.__name) < 0; } bool operator==(const type_info& __arg) const noexcept { return ((__name == __arg.__name) || (__name[0] != '*' && __builtin_strcmp (__name, __arg.__name) == 0)); } # 136 "/usr/include/c++/10/typeinfo" 3 bool operator!=(const type_info& __arg) const noexcept { return !operator==(__arg); } size_t hash_code() const noexcept { return _Hash_bytes(name(), __builtin_strlen(name()), static_cast(0xc70f6907UL)); } virtual bool __is_pointer_p() const; virtual bool __is_function_p() const; virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, unsigned __outer) const; virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, void **__obj_ptr) const; protected: const char *__name; explicit type_info(const char *__n): __name(__n) { } private: type_info& operator=(const type_info&); type_info(const type_info&); }; class bad_cast : public exception { public: bad_cast() noexcept { } virtual ~bad_cast() noexcept; virtual const char* what() const noexcept; }; class bad_typeid : public exception { public: bad_typeid () noexcept { } virtual ~bad_typeid() noexcept; virtual const char* what() const noexcept; }; } } #pragma GCC visibility pop # 40 "/usr/include/c++/10/bits/exception_ptr.h" 2 3 # 1 "/usr/include/c++/10/new" 1 3 # 41 "/usr/include/c++/10/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; template exception_ptr make_exception_ptr(_Ex) noexcept; void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); namespace __exception_ptr { using std::rethrow_exception; 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); template friend exception_ptr std::make_exception_ptr(_Ex) noexcept; 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; } # 118 "/usr/include/c++/10/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; # 145 "/usr/include/c++/10/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 inline void __dest_thunk(void* __x) { static_cast<_Ex*>(__x)->~_Ex(); } } template exception_ptr make_exception_ptr(_Ex __ex) noexcept { # 213 "/usr/include/c++/10/bits/exception_ptr.h" 3 return exception_ptr(); } } } #pragma GCC visibility pop # 148 "/usr/include/c++/10/exception" 2 3 # 1 "/usr/include/c++/10/bits/nested_exception.h" 1 3 # 33 "/usr/include/c++/10/bits/nested_exception.h" 3 #pragma GCC visibility push(default) # 42 "/usr/include/c++/10/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 [[noreturn]] inline void __throw_with_nested_impl(_Tp&& __t, true_type) { using _Up = typename remove_reference<_Tp>::type; throw _Nested_exception<_Up>{std::forward<_Tp>(__t)}; } template [[noreturn]] inline void __throw_with_nested_impl(_Tp&& __t, false_type) { throw std::forward<_Tp>(__t); } template [[noreturn]] inline void throw_with_nested(_Tp&& __t) { using _Up = typename decay<_Tp>::type; using _CopyConstructible = __and_, is_move_constructible<_Up>>; static_assert(_CopyConstructible::value, "throw_with_nested argument must be CopyConstructible"); using __nest = __and_, __bool_constant, __not_>>; std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{}); } template using __rethrow_if_nested_cond = typename enable_if< __and_, __or_<__not_>, is_convertible<_Tp*, nested_exception*>>>::value >::type; template inline __rethrow_if_nested_cond<_Ex> __rethrow_if_nested_impl(const _Ex* __ptr) { if (auto __ne_ptr = dynamic_cast(__ptr)) __ne_ptr->rethrow_nested(); } inline void __rethrow_if_nested_impl(const void*) { } template inline void rethrow_if_nested(const _Ex& __ex) { std::__rethrow_if_nested_impl(std::__addressof(__ex)); } } } #pragma GCC visibility pop # 149 "/usr/include/c++/10/exception" 2 3 # 42 "/usr/include/c++/10/new" 2 3 #pragma GCC visibility push(default) extern "C++" { namespace std { class bad_alloc : public exception { public: bad_alloc() throw() { } bad_alloc(const bad_alloc&) = default; bad_alloc& operator=(const bad_alloc&) = default; 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 { explicit nothrow_t() = default; }; extern const nothrow_t nothrow; typedef void (*new_handler)(); new_handler set_new_handler(new_handler) throw(); new_handler get_new_handler() noexcept; } # 126 "/usr/include/c++/10/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 delete(void*, std::size_t) noexcept __attribute__((__externally_visible__)); void operator delete[](void*, std::size_t) noexcept __attribute__((__externally_visible__)); void* operator new(std::size_t, const std::nothrow_t&) noexcept __attribute__((__externally_visible__, __malloc__)); void* operator new[](std::size_t, const std::nothrow_t&) noexcept __attribute__((__externally_visible__, __malloc__)); void operator delete(void*, const std::nothrow_t&) noexcept __attribute__((__externally_visible__)); void operator delete[](void*, const std::nothrow_t&) noexcept __attribute__((__externally_visible__)); # 174 "/usr/include/c++/10/new" 3 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 { } } # 230 "/usr/include/c++/10/new" 3 #pragma GCC visibility pop # 34 "/usr/include/c++/10/ext/new_allocator.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 54 "/usr/include/c++/10/ext/new_allocator.h" 3 template class new_allocator { public: typedef _Tp value_type; typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; typedef _Tp* pointer; typedef const _Tp* const_pointer; typedef _Tp& reference; typedef const _Tp& const_reference; 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); } _Tp* allocate(size_type __n, const void* = static_cast(0)) { if (__n > this->_M_max_size()) std::__throw_bad_alloc(); # 115 "/usr/include/c++/10/ext/new_allocator.h" 3 return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); } void deallocate(_Tp* __p, size_type __t) { # 133 "/usr/include/c++/10/ext/new_allocator.h" 3 ::operator delete(__p , __t * sizeof(_Tp) ); } size_type max_size() const noexcept { return _M_max_size(); } template void construct(_Up* __p, _Args&&... __args) noexcept(noexcept(::new((void *)__p) _Up(std::forward<_Args>(__args)...))) { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } template void destroy(_Up* __p) noexcept(noexcept( __p->~_Up())) { __p->~_Up(); } # 170 "/usr/include/c++/10/ext/new_allocator.h" 3 template friend bool operator==(const new_allocator&, const new_allocator<_Up>&) noexcept { return true; } template friend bool operator!=(const new_allocator&, const new_allocator<_Up>&) noexcept { return false; } private: constexpr size_type _M_max_size() const noexcept { return std::size_t(0x7fffffffffffffffL) / sizeof(_Tp); } }; } # 34 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++allocator.h" 2 3 namespace std { # 47 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++allocator.h" 3 template using __allocator_base = __gnu_cxx::new_allocator<_Tp>; } # 47 "/usr/include/c++/10/bits/allocator.h" 2 3 # 1 "/usr/include/c++/10/bits/memoryfwd.h" 1 3 # 46 "/usr/include/c++/10/bits/memoryfwd.h" 3 # 47 "/usr/include/c++/10/bits/memoryfwd.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 63 "/usr/include/c++/10/bits/memoryfwd.h" 3 template class allocator; template<> class allocator; template struct uses_allocator; } # 48 "/usr/include/c++/10/bits/allocator.h" 2 3 # 57 "/usr/include/c++/10/bits/allocator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template<> class allocator { public: typedef void value_type; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef void* pointer; typedef const void* const_pointer; template struct rebind { typedef allocator<_Tp1> other; }; # 92 "/usr/include/c++/10/bits/allocator.h" 3 typedef true_type propagate_on_container_move_assignment; typedef true_type is_always_equal; template void construct(_Up* __p, _Args&&... __args) noexcept(noexcept(::new((void *)__p) _Up(std::forward<_Args>(__args)...))) { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } template void destroy(_Up* __p) noexcept(noexcept(__p->~_Up())) { __p->~_Up(); } }; # 119 "/usr/include/c++/10/bits/allocator.h" 3 template class allocator : public __allocator_base<_Tp> { public: typedef _Tp value_type; 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; template struct rebind { typedef allocator<_Tp1> other; }; typedef true_type propagate_on_container_move_assignment; typedef true_type is_always_equal; allocator() noexcept { } allocator(const allocator& __a) noexcept : __allocator_base<_Tp>(__a) { } allocator& operator=(const allocator&) = default; template allocator(const allocator<_Tp1>&) noexcept { } ~allocator() noexcept { } # 195 "/usr/include/c++/10/bits/allocator.h" 3 friend bool operator==(const allocator&, const allocator&) noexcept { return true; } friend bool operator!=(const allocator&, const allocator&) noexcept { return false; } }; template inline bool operator==(const allocator<_T1>&, const allocator<_T2>&) noexcept { return true; } template inline bool operator!=(const allocator<_T1>&, const allocator<_T2>&) noexcept { return false; } template class allocator { public: typedef _Tp value_type; template allocator(const allocator<_Up>&) { } }; template class allocator { public: typedef _Tp value_type; template allocator(const allocator<_Up>&) { } }; template class allocator { public: typedef _Tp value_type; template allocator(const allocator<_Up>&) { } }; 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 { # 314 "/usr/include/c++/10/bits/allocator.h" 3 return false; } }; } # 65 "/usr/include/c++/10/bits/stl_tree.h" 2 3 # 1 "/usr/include/c++/10/bits/stl_function.h" 1 3 # 63 "/usr/include/c++/10/bits/stl_function.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 104 "/usr/include/c++/10/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; }; # 144 "/usr/include/c++/10/bits/stl_function.h" 3 struct __is_transparent; template struct plus; template struct minus; template struct multiplies; template struct divides; template struct modulus; template struct negate; template struct plus : public binary_function<_Tp, _Tp, _Tp> { constexpr _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x + __y; } }; template struct minus : public binary_function<_Tp, _Tp, _Tp> { constexpr _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x - __y; } }; template struct multiplies : public binary_function<_Tp, _Tp, _Tp> { constexpr _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x * __y; } }; template struct divides : public binary_function<_Tp, _Tp, _Tp> { constexpr _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x / __y; } }; template struct modulus : public binary_function<_Tp, _Tp, _Tp> { constexpr _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x % __y; } }; template struct negate : public unary_function<_Tp, _Tp> { constexpr _Tp operator()(const _Tp& __x) const { return -__x; } }; template<> struct plus { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) + std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) + std::forward<_Up>(__u)) { return std::forward<_Tp>(__t) + std::forward<_Up>(__u); } typedef __is_transparent is_transparent; }; template<> struct minus { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) - std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) - std::forward<_Up>(__u)) { return std::forward<_Tp>(__t) - std::forward<_Up>(__u); } typedef __is_transparent is_transparent; }; template<> struct multiplies { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) * std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) * std::forward<_Up>(__u)) { return std::forward<_Tp>(__t) * std::forward<_Up>(__u); } typedef __is_transparent is_transparent; }; template<> struct divides { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) / std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) / std::forward<_Up>(__u)) { return std::forward<_Tp>(__t) / std::forward<_Up>(__u); } typedef __is_transparent is_transparent; }; template<> struct modulus { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) % std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) % std::forward<_Up>(__u)) { return std::forward<_Tp>(__t) % std::forward<_Up>(__u); } typedef __is_transparent is_transparent; }; template<> struct negate { template constexpr auto operator()(_Tp&& __t) const noexcept(noexcept(-std::forward<_Tp>(__t))) -> decltype(-std::forward<_Tp>(__t)) { return -std::forward<_Tp>(__t); } typedef __is_transparent is_transparent; }; # 330 "/usr/include/c++/10/bits/stl_function.h" 3 template struct equal_to; template struct not_equal_to; template struct greater; template struct less; template struct greater_equal; template struct less_equal; template struct equal_to : public binary_function<_Tp, _Tp, bool> { constexpr bool operator()(const _Tp& __x, const _Tp& __y) const { return __x == __y; } }; template struct not_equal_to : public binary_function<_Tp, _Tp, bool> { constexpr bool operator()(const _Tp& __x, const _Tp& __y) const { return __x != __y; } }; template struct greater : public binary_function<_Tp, _Tp, bool> { constexpr bool operator()(const _Tp& __x, const _Tp& __y) const { return __x > __y; } }; template struct less : public binary_function<_Tp, _Tp, bool> { constexpr bool operator()(const _Tp& __x, const _Tp& __y) const { return __x < __y; } }; template struct greater_equal : public binary_function<_Tp, _Tp, bool> { constexpr bool operator()(const _Tp& __x, const _Tp& __y) const { return __x >= __y; } }; template struct less_equal : public binary_function<_Tp, _Tp, bool> { constexpr bool operator()(const _Tp& __x, const _Tp& __y) const { return __x <= __y; } }; template struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool> { constexpr bool operator()(_Tp* __x, _Tp* __y) const noexcept { if (__builtin_is_constant_evaluated()) return __x > __y; return (long unsigned int)__x > (long unsigned int)__y; } }; template struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool> { constexpr bool operator()(_Tp* __x, _Tp* __y) const noexcept { if (__builtin_is_constant_evaluated()) return __x < __y; return (long unsigned int)__x < (long unsigned int)__y; } }; template struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool> { constexpr bool operator()(_Tp* __x, _Tp* __y) const noexcept { if (__builtin_is_constant_evaluated()) return __x >= __y; return (long unsigned int)__x >= (long unsigned int)__y; } }; template struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool> { constexpr bool operator()(_Tp* __x, _Tp* __y) const noexcept { if (__builtin_is_constant_evaluated()) return __x <= __y; return (long unsigned int)__x <= (long unsigned int)__y; } }; template<> struct equal_to { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) == std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) == std::forward<_Up>(__u)) { return std::forward<_Tp>(__t) == std::forward<_Up>(__u); } typedef __is_transparent is_transparent; }; template<> struct not_equal_to { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) != std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) != std::forward<_Up>(__u)) { return std::forward<_Tp>(__t) != std::forward<_Up>(__u); } typedef __is_transparent is_transparent; }; template<> struct greater { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u)) { return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), __ptr_cmp<_Tp, _Up>{}); } template constexpr bool operator()(_Tp* __t, _Up* __u) const noexcept { return greater>{}(__t, __u); } typedef __is_transparent is_transparent; private: template static constexpr decltype(auto) _S_cmp(_Tp&& __t, _Up&& __u, false_type) { return std::forward<_Tp>(__t) > std::forward<_Up>(__u); } template static constexpr bool _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept { return greater{}( static_cast(std::forward<_Tp>(__t)), static_cast(std::forward<_Up>(__u))); } template struct __not_overloaded2 : true_type { }; template struct __not_overloaded2<_Tp, _Up, __void_t< decltype(std::declval<_Tp>().operator>(std::declval<_Up>()))>> : false_type { }; template struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; template struct __not_overloaded<_Tp, _Up, __void_t< decltype(operator>(std::declval<_Tp>(), std::declval<_Up>()))>> : false_type { }; template using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, is_convertible<_Tp, const volatile void*>, is_convertible<_Up, const volatile void*>>; }; template<> struct less { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u)) { return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), __ptr_cmp<_Tp, _Up>{}); } template constexpr bool operator()(_Tp* __t, _Up* __u) const noexcept { return less>{}(__t, __u); } typedef __is_transparent is_transparent; private: template static constexpr decltype(auto) _S_cmp(_Tp&& __t, _Up&& __u, false_type) { return std::forward<_Tp>(__t) < std::forward<_Up>(__u); } template static constexpr bool _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept { return less{}( static_cast(std::forward<_Tp>(__t)), static_cast(std::forward<_Up>(__u))); } template struct __not_overloaded2 : true_type { }; template struct __not_overloaded2<_Tp, _Up, __void_t< decltype(std::declval<_Tp>().operator<(std::declval<_Up>()))>> : false_type { }; template struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; template struct __not_overloaded<_Tp, _Up, __void_t< decltype(operator<(std::declval<_Tp>(), std::declval<_Up>()))>> : false_type { }; template using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, is_convertible<_Tp, const volatile void*>, is_convertible<_Up, const volatile void*>>; }; template<> struct greater_equal { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)) { return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), __ptr_cmp<_Tp, _Up>{}); } template constexpr bool operator()(_Tp* __t, _Up* __u) const noexcept { return greater_equal>{}(__t, __u); } typedef __is_transparent is_transparent; private: template static constexpr decltype(auto) _S_cmp(_Tp&& __t, _Up&& __u, false_type) { return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); } template static constexpr bool _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept { return greater_equal{}( static_cast(std::forward<_Tp>(__t)), static_cast(std::forward<_Up>(__u))); } template struct __not_overloaded2 : true_type { }; template struct __not_overloaded2<_Tp, _Up, __void_t< decltype(std::declval<_Tp>().operator>=(std::declval<_Up>()))>> : false_type { }; template struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; template struct __not_overloaded<_Tp, _Up, __void_t< decltype(operator>=(std::declval<_Tp>(), std::declval<_Up>()))>> : false_type { }; template using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, is_convertible<_Tp, const volatile void*>, is_convertible<_Up, const volatile void*>>; }; template<> struct less_equal { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)) { return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u), __ptr_cmp<_Tp, _Up>{}); } template constexpr bool operator()(_Tp* __t, _Up* __u) const noexcept { return less_equal>{}(__t, __u); } typedef __is_transparent is_transparent; private: template static constexpr decltype(auto) _S_cmp(_Tp&& __t, _Up&& __u, false_type) { return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); } template static constexpr bool _S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept { return less_equal{}( static_cast(std::forward<_Tp>(__t)), static_cast(std::forward<_Up>(__u))); } template struct __not_overloaded2 : true_type { }; template struct __not_overloaded2<_Tp, _Up, __void_t< decltype(std::declval<_Tp>().operator<=(std::declval<_Up>()))>> : false_type { }; template struct __not_overloaded : __not_overloaded2<_Tp, _Up> { }; template struct __not_overloaded<_Tp, _Up, __void_t< decltype(operator<=(std::declval<_Tp>(), std::declval<_Up>()))>> : false_type { }; template using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>, is_convertible<_Tp, const volatile void*>, is_convertible<_Up, const volatile void*>>; }; # 774 "/usr/include/c++/10/bits/stl_function.h" 3 template struct logical_and; template struct logical_or; template struct logical_not; template struct logical_and : public binary_function<_Tp, _Tp, bool> { constexpr bool operator()(const _Tp& __x, const _Tp& __y) const { return __x && __y; } }; template struct logical_or : public binary_function<_Tp, _Tp, bool> { constexpr bool operator()(const _Tp& __x, const _Tp& __y) const { return __x || __y; } }; template struct logical_not : public unary_function<_Tp, bool> { constexpr bool operator()(const _Tp& __x) const { return !__x; } }; template<> struct logical_and { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) && std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) && std::forward<_Up>(__u)) { return std::forward<_Tp>(__t) && std::forward<_Up>(__u); } typedef __is_transparent is_transparent; }; template<> struct logical_or { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) || std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) || std::forward<_Up>(__u)) { return std::forward<_Tp>(__t) || std::forward<_Up>(__u); } typedef __is_transparent is_transparent; }; template<> struct logical_not { template constexpr auto operator()(_Tp&& __t) const noexcept(noexcept(!std::forward<_Tp>(__t))) -> decltype(!std::forward<_Tp>(__t)) { return !std::forward<_Tp>(__t); } typedef __is_transparent is_transparent; }; template struct bit_and; template struct bit_or; template struct bit_xor; template struct bit_not; template struct bit_and : public binary_function<_Tp, _Tp, _Tp> { constexpr _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x & __y; } }; template struct bit_or : public binary_function<_Tp, _Tp, _Tp> { constexpr _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x | __y; } }; template struct bit_xor : public binary_function<_Tp, _Tp, _Tp> { constexpr _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x ^ __y; } }; template struct bit_not : public unary_function<_Tp, _Tp> { constexpr _Tp operator()(const _Tp& __x) const { return ~__x; } }; template <> struct bit_and { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) & std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) & std::forward<_Up>(__u)) { return std::forward<_Tp>(__t) & std::forward<_Up>(__u); } typedef __is_transparent is_transparent; }; template <> struct bit_or { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) | std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) | std::forward<_Up>(__u)) { return std::forward<_Tp>(__t) | std::forward<_Up>(__u); } typedef __is_transparent is_transparent; }; template <> struct bit_xor { template constexpr auto operator()(_Tp&& __t, _Up&& __u) const noexcept(noexcept(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u))) -> decltype(std::forward<_Tp>(__t) ^ std::forward<_Up>(__u)) { return std::forward<_Tp>(__t) ^ std::forward<_Up>(__u); } typedef __is_transparent is_transparent; }; template <> struct bit_not { template constexpr auto operator()(_Tp&& __t) const noexcept(noexcept(~std::forward<_Tp>(__t))) -> decltype(~std::forward<_Tp>(__t)) { return ~std::forward<_Tp>(__t); } typedef __is_transparent is_transparent; }; # 1002 "/usr/include/c++/10/bits/stl_function.h" 3 template class unary_negate : public unary_function { protected: _Predicate _M_pred; public: constexpr explicit unary_negate(const _Predicate& __x) : _M_pred(__x) { } constexpr bool operator()(const typename _Predicate::argument_type& __x) const { return !_M_pred(__x); } }; template constexpr 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: constexpr explicit binary_negate(const _Predicate& __x) : _M_pred(__x) { } constexpr bool operator()(const typename _Predicate::first_argument_type& __x, const typename _Predicate::second_argument_type& __y) const { return !_M_pred(__x, __y); } }; template constexpr inline binary_negate<_Predicate> not2(const _Predicate& __pred) { return binary_negate<_Predicate>(__pred); } # 1079 "/usr/include/c++/10/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 _Identity : _Identity<_Tp> { }; 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; } }; # 1202 "/usr/include/c++/10/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++/10/backward/binders.h" 1 3 # 60 "/usr/include/c++/10/backward/binders.h" 3 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" namespace std __attribute__ ((__visibility__ ("default"))) { # 107 "/usr/include/c++/10/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 # 1393 "/usr/include/c++/10/bits/stl_function.h" 2 3 # 66 "/usr/include/c++/10/bits/stl_tree.h" 2 3 # 1 "/usr/include/c++/10/ext/alloc_traits.h" 1 3 # 32 "/usr/include/c++/10/ext/alloc_traits.h" 3 # 33 "/usr/include/c++/10/ext/alloc_traits.h" 3 # 1 "/usr/include/c++/10/bits/alloc_traits.h" 1 3 # 33 "/usr/include/c++/10/bits/alloc_traits.h" 3 # 1 "/usr/include/c++/10/bits/stl_construct.h" 1 3 # 73 "/usr/include/c++/10/bits/stl_construct.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 106 "/usr/include/c++/10/bits/stl_construct.h" 3 template constexpr _Tp* _Construct(_Tp* __p, _Args&&... __args) { return ::new(static_cast(__p)) _Tp(std::forward<_Args>(__args)...); } # 127 "/usr/include/c++/10/bits/stl_construct.h" 3 template inline void _Construct_novalue(_T1* __p) { ::new(static_cast(__p)) _T1; } template void _Destroy(_ForwardIterator __first, _ForwardIterator __last); template constexpr 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; static_assert(is_destructible<_Value_type>::value, "value type is destructible"); std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: __destroy(__first, __last); } template struct _Destroy_n_aux { template static _ForwardIterator __destroy_n(_ForwardIterator __first, _Size __count) { for (; __count > 0; (void)++__first, --__count) std::_Destroy(std::__addressof(*__first)); return __first; } }; template<> struct _Destroy_n_aux { template static _ForwardIterator __destroy_n(_ForwardIterator __first, _Size __count) { std::advance(__first, __count); return __first; } }; template inline _ForwardIterator _Destroy_n(_ForwardIterator __first, _Size __count) { typedef typename iterator_traits<_ForwardIterator>::value_type _Value_type; static_assert(is_destructible<_Value_type>::value, "value type is destructible"); return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>:: __destroy_n(__first, __count); } # 259 "/usr/include/c++/10/bits/stl_construct.h" 3 } # 34 "/usr/include/c++/10/bits/alloc_traits.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { struct __allocator_traits_base { template struct __rebind : __replace_first_arg<_Tp, _Up> { }; template struct __rebind<_Tp, _Up, __void_t::other>> { using type = typename _Tp::template rebind<_Up>::other; }; protected: template using __pointer = typename _Tp::pointer; template using __c_pointer = typename _Tp::const_pointer; template using __v_pointer = typename _Tp::void_pointer; template using __cv_pointer = typename _Tp::const_void_pointer; template using __pocca = typename _Tp::propagate_on_container_copy_assignment; template using __pocma = typename _Tp::propagate_on_container_move_assignment; template using __pocs = typename _Tp::propagate_on_container_swap; template using __equal = typename _Tp::is_always_equal; }; template using __alloc_rebind = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type; template struct allocator_traits : __allocator_traits_base { typedef _Alloc allocator_type; typedef typename _Alloc::value_type value_type; using pointer = __detected_or_t; private: template class _Func, typename _Tp, typename = void> struct _Ptr { using type = typename pointer_traits::template rebind<_Tp>; }; template class _Func, typename _Tp> struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>> { using type = _Func<_Alloc>; }; template struct _Diff { using type = typename pointer_traits<_PtrT>::difference_type; }; template struct _Diff<_A2, _PtrT, __void_t> { using type = typename _A2::difference_type; }; template struct _Size : make_unsigned<_DiffT> { }; template struct _Size<_A2, _DiffT, __void_t> { using type = typename _A2::size_type; }; public: using const_pointer = typename _Ptr<__c_pointer, const value_type>::type; using void_pointer = typename _Ptr<__v_pointer, void>::type; using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type; using difference_type = typename _Diff<_Alloc, pointer>::type; using size_type = typename _Size<_Alloc, difference_type>::type; using propagate_on_container_copy_assignment = __detected_or_t; using propagate_on_container_move_assignment = __detected_or_t; using propagate_on_container_swap = __detected_or_t; using is_always_equal = __detected_or_t::type, __equal, _Alloc>; template using rebind_alloc = __alloc_rebind<_Alloc, _Tp>; template using rebind_traits = allocator_traits>; private: template static constexpr auto _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int) -> decltype(__a.allocate(__n, __hint)) { return __a.allocate(__n, __hint); } template static constexpr pointer _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...) { 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 constexpr _Require<__has_construct<_Tp, _Args...>> _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args) noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...))) { __a.construct(__p, std::forward<_Args>(__args)...); } template static constexpr _Require<__and_<__not_<__has_construct<_Tp, _Args...>>, is_constructible<_Tp, _Args...>>> _S_construct(_Alloc&, _Tp* __p, _Args&&... __args) noexcept(noexcept(::new((void*)__p) _Tp(std::forward<_Args>(__args)...))) { std::_Construct(__p, std::forward<_Args>(__args)...); } template static constexpr auto _S_destroy(_Alloc2& __a, _Tp* __p, int) noexcept(noexcept(__a.destroy(__p))) -> decltype(__a.destroy(__p)) { __a.destroy(__p); } template static constexpr void _S_destroy(_Alloc2&, _Tp* __p, ...) noexcept(noexcept(__p->~_Tp())) { std::_Destroy(__p); } template static constexpr auto _S_max_size(_Alloc2& __a, int) -> decltype(__a.max_size()) { return __a.max_size(); } template static constexpr size_type _S_max_size(_Alloc2&, ...) { return __gnu_cxx::__numeric_traits::__max / sizeof(value_type); } template static constexpr auto _S_select(_Alloc2& __a, int) -> decltype(__a.select_on_container_copy_construction()) { return __a.select_on_container_copy_construction(); } template static constexpr _Alloc2 _S_select(_Alloc2& __a, ...) { return __a; } public: # 307 "/usr/include/c++/10/bits/alloc_traits.h" 3 static pointer allocate(_Alloc& __a, size_type __n) { return __a.allocate(__n); } # 322 "/usr/include/c++/10/bits/alloc_traits.h" 3 static pointer allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) { return _S_allocate(__a, __n, __hint, 0); } # 334 "/usr/include/c++/10/bits/alloc_traits.h" 3 static void deallocate(_Alloc& __a, pointer __p, size_type __n) { __a.deallocate(__p, __n); } # 349 "/usr/include/c++/10/bits/alloc_traits.h" 3 template static auto construct(_Alloc& __a, _Tp* __p, _Args&&... __args) noexcept(noexcept(_S_construct(__a, __p, std::forward<_Args>(__args)...))) -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...)) { _S_construct(__a, __p, std::forward<_Args>(__args)...); } # 365 "/usr/include/c++/10/bits/alloc_traits.h" 3 template static void destroy(_Alloc& __a, _Tp* __p) noexcept(noexcept(_S_destroy(__a, __p, 0))) { _S_destroy(__a, __p, 0); } # 379 "/usr/include/c++/10/bits/alloc_traits.h" 3 static size_type max_size(const _Alloc& __a) noexcept { return _S_max_size(__a, 0); } # 391 "/usr/include/c++/10/bits/alloc_traits.h" 3 static _Alloc select_on_container_copy_construction(const _Alloc& __rhs) { return _S_select(__rhs, 0); } }; template struct allocator_traits> { using allocator_type = allocator<_Tp>; using value_type = _Tp; using pointer = _Tp*; using const_pointer = const _Tp*; using void_pointer = void*; using const_void_pointer = const void*; using difference_type = std::ptrdiff_t; using size_type = std::size_t; using propagate_on_container_copy_assignment = false_type; using propagate_on_container_move_assignment = true_type; using propagate_on_container_swap = false_type; using is_always_equal = true_type; template using rebind_alloc = allocator<_Up>; template using rebind_traits = allocator_traits>; # 453 "/usr/include/c++/10/bits/alloc_traits.h" 3 static pointer allocate(allocator_type& __a, size_type __n) { return __a.allocate(__n); } # 467 "/usr/include/c++/10/bits/alloc_traits.h" 3 static pointer allocate(allocator_type& __a, size_type __n, const_void_pointer __hint) { return __a.allocate(__n, __hint); } # 485 "/usr/include/c++/10/bits/alloc_traits.h" 3 static void deallocate(allocator_type& __a, pointer __p, size_type __n) { __a.deallocate(__p, __n); } # 500 "/usr/include/c++/10/bits/alloc_traits.h" 3 template static void construct(allocator_type& __a __attribute__((__unused__)), _Up* __p, _Args&&... __args) noexcept(noexcept(::new((void*)__p) _Up(std::declval<_Args>()...))) { __a.construct(__p, std::forward<_Args>(__args)...); } # 520 "/usr/include/c++/10/bits/alloc_traits.h" 3 template static void destroy(allocator_type& __a __attribute__((__unused__)), _Up* __p) noexcept(is_nothrow_destructible<_Up>::value) { __a.destroy(__p); } static size_type max_size(const allocator_type& __a __attribute__((__unused__))) noexcept { return __a.max_size(); } static allocator_type select_on_container_copy_construction(const allocator_type& __rhs) { return __rhs; } }; 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 constexpr 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 constexpr _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 constexpr 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 constexpr 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, typename = void> struct __is_alloc_insertable_impl : false_type { }; template struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT, __void_t::construct( std::declval<_Alloc&>(), std::declval<_ValueT*>(), std::declval<_Tp>()))>> : true_type { }; template struct __is_copy_insertable : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type const&>::type { }; template struct __is_copy_insertable> : is_copy_constructible<_Tp> { }; template struct __is_move_insertable : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type { }; template struct __is_move_insertable> : is_move_constructible<_Tp> { }; template struct __is_allocator : false_type { }; template struct __is_allocator<_Alloc, __void_t().allocate(size_t{}))>> : true_type { }; template using _RequireAllocator = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type; template using _RequireNotAllocator = typename enable_if::value, _Alloc>::type; # 714 "/usr/include/c++/10/bits/alloc_traits.h" 3 template void _Destroy(_ForwardIterator __first, _ForwardIterator __last, _Allocator& __alloc) { for (; __first != __last; ++__first) allocator_traits<_Allocator>::destroy(__alloc, std::__addressof(*__first)); } template inline void _Destroy(_ForwardIterator __first, _ForwardIterator __last, allocator<_Tp>&) { _Destroy(__first, __last); } } # 35 "/usr/include/c++/10/ext/alloc_traits.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { 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 constexpr std::__enable_if_t<__is_custom_pointer<_Ptr>::value> construct(_Alloc& __a, _Ptr __p, _Args&&... __args) noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p), std::forward<_Args>(__args)...))) { _Base_type::construct(__a, std::__to_address(__p), std::forward<_Args>(__args)...); } template static constexpr std::__enable_if_t<__is_custom_pointer<_Ptr>::value> destroy(_Alloc& __a, _Ptr __p) noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p)))) { _Base_type::destroy(__a, std::__to_address(__p)); } static constexpr _Alloc _S_select_on_copy(const _Alloc& __a) { return _Base_type::select_on_container_copy_construction(__a); } static constexpr 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 _Base_type::is_always_equal::value; } static constexpr bool _S_nothrow_move() { return _S_propagate_on_move_assign() || _S_always_equal(); } template struct rebind { typedef typename _Base_type::template rebind_alloc<_Tp> other; }; # 166 "/usr/include/c++/10/ext/alloc_traits.h" 3 }; } # 68 "/usr/include/c++/10/bits/stl_tree.h" 2 3 # 1 "/usr/include/c++/10/ext/aligned_buffer.h" 1 3 # 32 "/usr/include/c++/10/ext/aligned_buffer.h" 3 # 33 "/usr/include/c++/10/ext/aligned_buffer.h" 3 namespace __gnu_cxx { template struct __aligned_membuf { struct _Tp2 { _Tp _M_t; }; alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)]; __aligned_membuf() = default; __aligned_membuf(std::nullptr_t) { } void* _M_addr() noexcept { return static_cast(&_M_storage); } const void* _M_addr() const noexcept { return static_cast(&_M_storage); } _Tp* _M_ptr() noexcept { return static_cast<_Tp*>(_M_addr()); } const _Tp* _M_ptr() const noexcept { return static_cast(_M_addr()); } }; # 89 "/usr/include/c++/10/ext/aligned_buffer.h" 3 template struct __aligned_buffer : std::aligned_storage { typename std::aligned_storage::type _M_storage; __aligned_buffer() = default; __aligned_buffer(std::nullptr_t) { } void* _M_addr() noexcept { return static_cast(&_M_storage); } const void* _M_addr() const noexcept { return static_cast(&_M_storage); } _Tp* _M_ptr() noexcept { return static_cast<_Tp*>(_M_addr()); } const _Tp* _M_ptr() const noexcept { return static_cast(_M_addr()); } }; } # 70 "/usr/include/c++/10/bits/stl_tree.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 99 "/usr/include/c++/10/bits/stl_tree.h" 3 enum _Rb_tree_color { _S_red = false, _S_black = true }; struct _Rb_tree_node_base { typedef _Rb_tree_node_base* _Base_ptr; typedef const _Rb_tree_node_base* _Const_Base_ptr; _Rb_tree_color _M_color; _Base_ptr _M_parent; _Base_ptr _M_left; _Base_ptr _M_right; static _Base_ptr _S_minimum(_Base_ptr __x) noexcept { while (__x->_M_left != 0) __x = __x->_M_left; return __x; } static _Const_Base_ptr _S_minimum(_Const_Base_ptr __x) noexcept { while (__x->_M_left != 0) __x = __x->_M_left; return __x; } static _Base_ptr _S_maximum(_Base_ptr __x) noexcept { while (__x->_M_right != 0) __x = __x->_M_right; return __x; } static _Const_Base_ptr _S_maximum(_Const_Base_ptr __x) noexcept { while (__x->_M_right != 0) __x = __x->_M_right; return __x; } }; template struct _Rb_tree_key_compare { _Key_compare _M_key_compare; _Rb_tree_key_compare() noexcept(is_nothrow_default_constructible<_Key_compare>::value) : _M_key_compare() { } _Rb_tree_key_compare(const _Key_compare& __comp) : _M_key_compare(__comp) { } _Rb_tree_key_compare(const _Rb_tree_key_compare&) = default; _Rb_tree_key_compare(_Rb_tree_key_compare&& __x) noexcept(is_nothrow_copy_constructible<_Key_compare>::value) : _M_key_compare(__x._M_key_compare) { } }; struct _Rb_tree_header { _Rb_tree_node_base _M_header; size_t _M_node_count; _Rb_tree_header() noexcept { _M_header._M_color = _S_red; _M_reset(); } _Rb_tree_header(_Rb_tree_header&& __x) noexcept { if (__x._M_header._M_parent != nullptr) _M_move_data(__x); else { _M_header._M_color = _S_red; _M_reset(); } } void _M_move_data(_Rb_tree_header& __from) { _M_header._M_color = __from._M_header._M_color; _M_header._M_parent = __from._M_header._M_parent; _M_header._M_left = __from._M_header._M_left; _M_header._M_right = __from._M_header._M_right; _M_header._M_parent->_M_parent = &_M_header; _M_node_count = __from._M_node_count; __from._M_reset(); } void _M_reset() { _M_header._M_parent = 0; _M_header._M_left = &_M_header; _M_header._M_right = &_M_header; _M_node_count = 0; } }; template struct _Rb_tree_node : public _Rb_tree_node_base { typedef _Rb_tree_node<_Val>* _Link_type; # 231 "/usr/include/c++/10/bits/stl_tree.h" 3 __gnu_cxx::__aligned_membuf<_Val> _M_storage; _Val* _M_valptr() { return _M_storage._M_ptr(); } const _Val* _M_valptr() const { return _M_storage._M_ptr(); } }; __attribute__ ((__pure__)) _Rb_tree_node_base* _Rb_tree_increment(_Rb_tree_node_base* __x) throw (); __attribute__ ((__pure__)) const _Rb_tree_node_base* _Rb_tree_increment(const _Rb_tree_node_base* __x) throw (); __attribute__ ((__pure__)) _Rb_tree_node_base* _Rb_tree_decrement(_Rb_tree_node_base* __x) throw (); __attribute__ ((__pure__)) const _Rb_tree_node_base* _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw (); template struct _Rb_tree_iterator { typedef _Tp value_type; typedef _Tp& reference; typedef _Tp* pointer; typedef bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef _Rb_tree_iterator<_Tp> _Self; typedef _Rb_tree_node_base::_Base_ptr _Base_ptr; typedef _Rb_tree_node<_Tp>* _Link_type; _Rb_tree_iterator() noexcept : _M_node() { } explicit _Rb_tree_iterator(_Base_ptr __x) noexcept : _M_node(__x) { } reference operator*() const noexcept { return *static_cast<_Link_type>(_M_node)->_M_valptr(); } pointer operator->() const noexcept { return static_cast<_Link_type> (_M_node)->_M_valptr(); } _Self& operator++() noexcept { _M_node = _Rb_tree_increment(_M_node); return *this; } _Self operator++(int) noexcept { _Self __tmp = *this; _M_node = _Rb_tree_increment(_M_node); return __tmp; } _Self& operator--() noexcept { _M_node = _Rb_tree_decrement(_M_node); return *this; } _Self operator--(int) noexcept { _Self __tmp = *this; _M_node = _Rb_tree_decrement(_M_node); return __tmp; } friend bool operator==(const _Self& __x, const _Self& __y) noexcept { return __x._M_node == __y._M_node; } friend bool operator!=(const _Self& __x, const _Self& __y) noexcept { return __x._M_node != __y._M_node; } _Base_ptr _M_node; }; template struct _Rb_tree_const_iterator { typedef _Tp value_type; typedef const _Tp& reference; typedef const _Tp* pointer; typedef _Rb_tree_iterator<_Tp> iterator; typedef bidirectional_iterator_tag iterator_category; typedef ptrdiff_t difference_type; typedef _Rb_tree_const_iterator<_Tp> _Self; typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr; typedef const _Rb_tree_node<_Tp>* _Link_type; _Rb_tree_const_iterator() noexcept : _M_node() { } explicit _Rb_tree_const_iterator(_Base_ptr __x) noexcept : _M_node(__x) { } _Rb_tree_const_iterator(const iterator& __it) noexcept : _M_node(__it._M_node) { } iterator _M_const_cast() const noexcept { return iterator(const_cast(_M_node)); } reference operator*() const noexcept { return *static_cast<_Link_type>(_M_node)->_M_valptr(); } pointer operator->() const noexcept { return static_cast<_Link_type>(_M_node)->_M_valptr(); } _Self& operator++() noexcept { _M_node = _Rb_tree_increment(_M_node); return *this; } _Self operator++(int) noexcept { _Self __tmp = *this; _M_node = _Rb_tree_increment(_M_node); return __tmp; } _Self& operator--() noexcept { _M_node = _Rb_tree_decrement(_M_node); return *this; } _Self operator--(int) noexcept { _Self __tmp = *this; _M_node = _Rb_tree_decrement(_M_node); return __tmp; } friend bool operator==(const _Self& __x, const _Self& __y) noexcept { return __x._M_node == __y._M_node; } friend bool operator!=(const _Self& __x, const _Self& __y) noexcept { return __x._M_node != __y._M_node; } _Base_ptr _M_node; }; void _Rb_tree_insert_and_rebalance(const bool __insert_left, _Rb_tree_node_base* __x, _Rb_tree_node_base* __p, _Rb_tree_node_base& __header) throw (); _Rb_tree_node_base* _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z, _Rb_tree_node_base& __header) throw (); template> struct __has_is_transparent { }; template struct __has_is_transparent<_Cmp, _SfinaeType, __void_t> { typedef void type; }; template using __has_is_transparent_t = typename __has_is_transparent<_Cmp, _SfinaeType>::type; template > class _Rb_tree { typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template rebind<_Rb_tree_node<_Val> >::other _Node_allocator; typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits; protected: typedef _Rb_tree_node_base* _Base_ptr; typedef const _Rb_tree_node_base* _Const_Base_ptr; typedef _Rb_tree_node<_Val>* _Link_type; typedef const _Rb_tree_node<_Val>* _Const_Link_type; private: struct _Reuse_or_alloc_node { _Reuse_or_alloc_node(_Rb_tree& __t) : _M_root(__t._M_root()), _M_nodes(__t._M_rightmost()), _M_t(__t) { if (_M_root) { _M_root->_M_parent = 0; if (_M_nodes->_M_left) _M_nodes = _M_nodes->_M_left; } else _M_nodes = 0; } _Reuse_or_alloc_node(const _Reuse_or_alloc_node&) = delete; ~_Reuse_or_alloc_node() { _M_t._M_erase(static_cast<_Link_type>(_M_root)); } template _Link_type operator()(_Arg&& __arg) { _Link_type __node = static_cast<_Link_type>(_M_extract()); if (__node) { _M_t._M_destroy_node(__node); _M_t._M_construct_node(__node, std::forward<_Arg>(__arg)); return __node; } return _M_t._M_create_node(std::forward<_Arg>(__arg)); } private: _Base_ptr _M_extract() { if (!_M_nodes) return _M_nodes; _Base_ptr __node = _M_nodes; _M_nodes = _M_nodes->_M_parent; if (_M_nodes) { if (_M_nodes->_M_right == __node) { _M_nodes->_M_right = 0; if (_M_nodes->_M_left) { _M_nodes = _M_nodes->_M_left; while (_M_nodes->_M_right) _M_nodes = _M_nodes->_M_right; if (_M_nodes->_M_left) _M_nodes = _M_nodes->_M_left; } } else _M_nodes->_M_left = 0; } else _M_root = 0; return __node; } _Base_ptr _M_root; _Base_ptr _M_nodes; _Rb_tree& _M_t; }; struct _Alloc_node { _Alloc_node(_Rb_tree& __t) : _M_t(__t) { } template _Link_type operator()(_Arg&& __arg) const { return _M_t._M_create_node(std::forward<_Arg>(__arg)); } private: _Rb_tree& _M_t; }; public: typedef _Key key_type; typedef _Val value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef size_t size_type; typedef ptrdiff_t difference_type; typedef _Alloc allocator_type; _Node_allocator& _M_get_Node_allocator() noexcept { return this->_M_impl; } const _Node_allocator& _M_get_Node_allocator() const noexcept { return this->_M_impl; } allocator_type get_allocator() const noexcept { return allocator_type(_M_get_Node_allocator()); } protected: _Link_type _M_get_node() { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); } void _M_put_node(_Link_type __p) noexcept { _Alloc_traits::deallocate(_M_get_Node_allocator(), __p, 1); } # 607 "/usr/include/c++/10/bits/stl_tree.h" 3 template void _M_construct_node(_Link_type __node, _Args&&... __args) { if (true) { ::new(__node) _Rb_tree_node<_Val>; _Alloc_traits::construct(_M_get_Node_allocator(), __node->_M_valptr(), std::forward<_Args>(__args)...); } if (false) { __node->~_Rb_tree_node<_Val>(); _M_put_node(__node); ; } } template _Link_type _M_create_node(_Args&&... __args) { _Link_type __tmp = _M_get_node(); _M_construct_node(__tmp, std::forward<_Args>(__args)...); return __tmp; } void _M_destroy_node(_Link_type __p) noexcept { _Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr()); __p->~_Rb_tree_node<_Val>(); } void _M_drop_node(_Link_type __p) noexcept { _M_destroy_node(__p); _M_put_node(__p); } template _Link_type _M_clone_node(_Const_Link_type __x, _NodeGen& __node_gen) { _Link_type __tmp = __node_gen(*__x->_M_valptr()); __tmp->_M_color = __x->_M_color; __tmp->_M_left = 0; __tmp->_M_right = 0; return __tmp; } protected: template struct _Rb_tree_impl : public _Node_allocator , public _Rb_tree_key_compare<_Key_compare> , public _Rb_tree_header { typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare; _Rb_tree_impl() noexcept(is_nothrow_default_constructible<_Node_allocator>::value && is_nothrow_default_constructible<_Base_key_compare>::value) : _Node_allocator() { } _Rb_tree_impl(const _Rb_tree_impl& __x) : _Node_allocator(_Alloc_traits::_S_select_on_copy(__x)) , _Base_key_compare(__x._M_key_compare) { } _Rb_tree_impl(_Rb_tree_impl&&) = default; explicit _Rb_tree_impl(_Node_allocator&& __a) : _Node_allocator(std::move(__a)) { } _Rb_tree_impl(_Rb_tree_impl&& __x, _Node_allocator&& __a) : _Node_allocator(std::move(__a)), _Base_key_compare(std::move(__x)), _Rb_tree_header(std::move(__x)) { } _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a) : _Node_allocator(std::move(__a)), _Base_key_compare(__comp) { } }; _Rb_tree_impl<_Compare> _M_impl; protected: _Base_ptr& _M_root() noexcept { return this->_M_impl._M_header._M_parent; } _Const_Base_ptr _M_root() const noexcept { return this->_M_impl._M_header._M_parent; } _Base_ptr& _M_leftmost() noexcept { return this->_M_impl._M_header._M_left; } _Const_Base_ptr _M_leftmost() const noexcept { return this->_M_impl._M_header._M_left; } _Base_ptr& _M_rightmost() noexcept { return this->_M_impl._M_header._M_right; } _Const_Base_ptr _M_rightmost() const noexcept { return this->_M_impl._M_header._M_right; } _Link_type _M_begin() noexcept { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); } _Const_Link_type _M_begin() const noexcept { return static_cast<_Const_Link_type> (this->_M_impl._M_header._M_parent); } _Base_ptr _M_end() noexcept { return &this->_M_impl._M_header; } _Const_Base_ptr _M_end() const noexcept { return &this->_M_impl._M_header; } static const _Key& _S_key(_Const_Link_type __x) { static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{}, "comparison object must be invocable " "with two arguments of key type"); # 781 "/usr/include/c++/10/bits/stl_tree.h" 3 return _KeyOfValue()(*__x->_M_valptr()); } static _Link_type _S_left(_Base_ptr __x) noexcept { return static_cast<_Link_type>(__x->_M_left); } static _Const_Link_type _S_left(_Const_Base_ptr __x) noexcept { return static_cast<_Const_Link_type>(__x->_M_left); } static _Link_type _S_right(_Base_ptr __x) noexcept { return static_cast<_Link_type>(__x->_M_right); } static _Const_Link_type _S_right(_Const_Base_ptr __x) noexcept { return static_cast<_Const_Link_type>(__x->_M_right); } static const _Key& _S_key(_Const_Base_ptr __x) { return _S_key(static_cast<_Const_Link_type>(__x)); } static _Base_ptr _S_minimum(_Base_ptr __x) noexcept { return _Rb_tree_node_base::_S_minimum(__x); } static _Const_Base_ptr _S_minimum(_Const_Base_ptr __x) noexcept { return _Rb_tree_node_base::_S_minimum(__x); } static _Base_ptr _S_maximum(_Base_ptr __x) noexcept { return _Rb_tree_node_base::_S_maximum(__x); } static _Const_Base_ptr _S_maximum(_Const_Base_ptr __x) noexcept { return _Rb_tree_node_base::_S_maximum(__x); } public: typedef _Rb_tree_iterator iterator; typedef _Rb_tree_const_iterator const_iterator; typedef std::reverse_iterator reverse_iterator; typedef std::reverse_iterator const_reverse_iterator; # 834 "/usr/include/c++/10/bits/stl_tree.h" 3 pair<_Base_ptr, _Base_ptr> _M_get_insert_unique_pos(const key_type& __k); pair<_Base_ptr, _Base_ptr> _M_get_insert_equal_pos(const key_type& __k); pair<_Base_ptr, _Base_ptr> _M_get_insert_hint_unique_pos(const_iterator __pos, const key_type& __k); pair<_Base_ptr, _Base_ptr> _M_get_insert_hint_equal_pos(const_iterator __pos, const key_type& __k); private: template iterator _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&); iterator _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z); template iterator _M_insert_lower(_Base_ptr __y, _Arg&& __v); template iterator _M_insert_equal_lower(_Arg&& __x); iterator _M_insert_lower_node(_Base_ptr __p, _Link_type __z); iterator _M_insert_equal_lower_node(_Link_type __z); # 885 "/usr/include/c++/10/bits/stl_tree.h" 3 template _Link_type _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen&); template _Link_type _M_copy(const _Rb_tree& __x, _NodeGen& __gen) { _Link_type __root = _M_copy(__x._M_begin(), _M_end(), __gen); _M_leftmost() = _S_minimum(__root); _M_rightmost() = _S_maximum(__root); _M_impl._M_node_count = __x._M_impl._M_node_count; return __root; } _Link_type _M_copy(const _Rb_tree& __x) { _Alloc_node __an(*this); return _M_copy(__x, __an); } void _M_erase(_Link_type __x); iterator _M_lower_bound(_Link_type __x, _Base_ptr __y, const _Key& __k); const_iterator _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, const _Key& __k) const; iterator _M_upper_bound(_Link_type __x, _Base_ptr __y, const _Key& __k); const_iterator _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y, const _Key& __k) const; public: _Rb_tree() = default; _Rb_tree(const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_impl(__comp, _Node_allocator(__a)) { } _Rb_tree(const _Rb_tree& __x) : _M_impl(__x._M_impl) { if (__x._M_root() != 0) _M_root() = _M_copy(__x); } _Rb_tree(const allocator_type& __a) : _M_impl(_Node_allocator(__a)) { } _Rb_tree(const _Rb_tree& __x, const allocator_type& __a) : _M_impl(__x._M_impl._M_key_compare, _Node_allocator(__a)) { if (__x._M_root() != nullptr) _M_root() = _M_copy(__x); } _Rb_tree(_Rb_tree&&) = default; _Rb_tree(_Rb_tree&& __x, const allocator_type& __a) : _Rb_tree(std::move(__x), _Node_allocator(__a)) { } private: _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, true_type) noexcept(is_nothrow_default_constructible<_Compare>::value) : _M_impl(std::move(__x._M_impl), std::move(__a)) { } _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, false_type) : _M_impl(__x._M_impl._M_key_compare, std::move(__a)) { if (__x._M_root() != nullptr) _M_move_data(__x, false_type{}); } public: _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a) noexcept( noexcept( _Rb_tree(std::declval<_Rb_tree&&>(), std::declval<_Node_allocator&&>(), std::declval())) ) : _Rb_tree(std::move(__x), std::move(__a), typename _Alloc_traits::is_always_equal{}) { } ~_Rb_tree() noexcept { _M_erase(_M_begin()); } _Rb_tree& operator=(const _Rb_tree& __x); _Compare key_comp() const { return _M_impl._M_key_compare; } iterator begin() noexcept { return iterator(this->_M_impl._M_header._M_left); } const_iterator begin() const noexcept { return const_iterator(this->_M_impl._M_header._M_left); } iterator end() noexcept { return iterator(&this->_M_impl._M_header); } const_iterator end() const noexcept { return const_iterator(&this->_M_impl._M_header); } 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()); } bool empty() const noexcept { return _M_impl._M_node_count == 0; } size_type size() const noexcept { return _M_impl._M_node_count; } size_type max_size() const noexcept { return _Alloc_traits::max_size(_M_get_Node_allocator()); } void swap(_Rb_tree& __t) noexcept(__is_nothrow_swappable<_Compare>::value); template pair _M_insert_unique(_Arg&& __x); template iterator _M_insert_equal(_Arg&& __x); template iterator _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&); template iterator _M_insert_unique_(const_iterator __pos, _Arg&& __x) { _Alloc_node __an(*this); return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an); } template iterator _M_insert_equal_(const_iterator __pos, _Arg&& __x, _NodeGen&); template iterator _M_insert_equal_(const_iterator __pos, _Arg&& __x) { _Alloc_node __an(*this); return _M_insert_equal_(__pos, std::forward<_Arg>(__x), __an); } template pair _M_emplace_unique(_Args&&... __args); template iterator _M_emplace_equal(_Args&&... __args); template iterator _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args); template iterator _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args); template using __same_value_type = is_same::value_type>; template __enable_if_t<__same_value_type<_InputIterator>::value> _M_insert_range_unique(_InputIterator __first, _InputIterator __last) { _Alloc_node __an(*this); for (; __first != __last; ++__first) _M_insert_unique_(end(), *__first, __an); } template __enable_if_t::value> _M_insert_range_unique(_InputIterator __first, _InputIterator __last) { for (; __first != __last; ++__first) _M_emplace_unique(*__first); } template __enable_if_t<__same_value_type<_InputIterator>::value> _M_insert_range_equal(_InputIterator __first, _InputIterator __last) { _Alloc_node __an(*this); for (; __first != __last; ++__first) _M_insert_equal_(end(), *__first, __an); } template __enable_if_t::value> _M_insert_range_equal(_InputIterator __first, _InputIterator __last) { _Alloc_node __an(*this); for (; __first != __last; ++__first) _M_emplace_equal(*__first); } # 1182 "/usr/include/c++/10/bits/stl_tree.h" 3 private: void _M_erase_aux(const_iterator __position); void _M_erase_aux(const_iterator __first, const_iterator __last); public: __attribute ((__abi_tag__ ("cxx11"))) iterator erase(const_iterator __position) { ; const_iterator __result = __position; ++__result; _M_erase_aux(__position); return __result._M_const_cast(); } __attribute ((__abi_tag__ ("cxx11"))) iterator erase(iterator __position) { ; iterator __result = __position; ++__result; _M_erase_aux(__position); return __result; } # 1231 "/usr/include/c++/10/bits/stl_tree.h" 3 size_type erase(const key_type& __x); __attribute ((__abi_tag__ ("cxx11"))) iterator erase(const_iterator __first, const_iterator __last) { _M_erase_aux(__first, __last); return __last._M_const_cast(); } # 1254 "/usr/include/c++/10/bits/stl_tree.h" 3 void clear() noexcept { _M_erase(_M_begin()); _M_impl._M_reset(); } iterator find(const key_type& __k); const_iterator find(const key_type& __k) const; size_type count(const key_type& __k) const; iterator lower_bound(const key_type& __k) { return _M_lower_bound(_M_begin(), _M_end(), __k); } const_iterator lower_bound(const key_type& __k) const { return _M_lower_bound(_M_begin(), _M_end(), __k); } iterator upper_bound(const key_type& __k) { return _M_upper_bound(_M_begin(), _M_end(), __k); } const_iterator upper_bound(const key_type& __k) const { return _M_upper_bound(_M_begin(), _M_end(), __k); } pair equal_range(const key_type& __k); pair equal_range(const key_type& __k) const; template> iterator _M_find_tr(const _Kt& __k) { const _Rb_tree* __const_this = this; return __const_this->_M_find_tr(__k)._M_const_cast(); } template> const_iterator _M_find_tr(const _Kt& __k) const { auto __j = _M_lower_bound_tr(__k); if (__j != end() && _M_impl._M_key_compare(__k, _S_key(__j._M_node))) __j = end(); return __j; } template> size_type _M_count_tr(const _Kt& __k) const { auto __p = _M_equal_range_tr(__k); return std::distance(__p.first, __p.second); } template> iterator _M_lower_bound_tr(const _Kt& __k) { const _Rb_tree* __const_this = this; return __const_this->_M_lower_bound_tr(__k)._M_const_cast(); } template> const_iterator _M_lower_bound_tr(const _Kt& __k) const { auto __x = _M_begin(); auto __y = _M_end(); while (__x != 0) if (!_M_impl._M_key_compare(_S_key(__x), __k)) { __y = __x; __x = _S_left(__x); } else __x = _S_right(__x); return const_iterator(__y); } template> iterator _M_upper_bound_tr(const _Kt& __k) { const _Rb_tree* __const_this = this; return __const_this->_M_upper_bound_tr(__k)._M_const_cast(); } template> const_iterator _M_upper_bound_tr(const _Kt& __k) const { auto __x = _M_begin(); auto __y = _M_end(); while (__x != 0) if (_M_impl._M_key_compare(__k, _S_key(__x))) { __y = __x; __x = _S_left(__x); } else __x = _S_right(__x); return const_iterator(__y); } template> pair _M_equal_range_tr(const _Kt& __k) { const _Rb_tree* __const_this = this; auto __ret = __const_this->_M_equal_range_tr(__k); return { __ret.first._M_const_cast(), __ret.second._M_const_cast() }; } template> pair _M_equal_range_tr(const _Kt& __k) const { auto __low = _M_lower_bound_tr(__k); auto __high = __low; auto& __cmp = _M_impl._M_key_compare; while (__high != end() && !__cmp(__k, _S_key(__high._M_node))) ++__high; return { __low, __high }; } bool __rb_verify() const; _Rb_tree& operator=(_Rb_tree&&) noexcept(_Alloc_traits::_S_nothrow_move() && is_nothrow_move_assignable<_Compare>::value); template void _M_assign_unique(_Iterator, _Iterator); template void _M_assign_equal(_Iterator, _Iterator); private: void _M_move_data(_Rb_tree& __x, true_type) { _M_impl._M_move_data(__x._M_impl); } void _M_move_data(_Rb_tree&, false_type); void _M_move_assign(_Rb_tree&, true_type); void _M_move_assign(_Rb_tree&, false_type); # 1606 "/usr/include/c++/10/bits/stl_tree.h" 3 friend bool operator==(const _Rb_tree& __x, const _Rb_tree& __y) { return __x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin()); } friend bool operator<(const _Rb_tree& __x, const _Rb_tree& __y) { return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } friend bool __attribute__ ((__deprecated__)) operator!=(const _Rb_tree& __x, const _Rb_tree& __y) { return !(__x == __y); } friend bool __attribute__ ((__deprecated__)) operator>(const _Rb_tree& __x, const _Rb_tree& __y) { return __y < __x; } friend bool __attribute__ ((__deprecated__)) operator<=(const _Rb_tree& __x, const _Rb_tree& __y) { return !(__y < __x); } friend bool __attribute__ ((__deprecated__)) operator>=(const _Rb_tree& __x, const _Rb_tree& __y) { return !(__x < __y); } }; template inline void swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) { __x.swap(__y); } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_move_data(_Rb_tree& __x, false_type) { if (_M_get_Node_allocator() == __x._M_get_Node_allocator()) _M_move_data(__x, true_type()); else { _Alloc_node __an(*this); auto __lbd = [&__an](const value_type& __cval) { auto& __val = const_cast(__cval); return __an(std::move_if_noexcept(__val)); }; _M_root() = _M_copy(__x, __lbd); } } template inline void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_move_assign(_Rb_tree& __x, true_type) { clear(); if (__x._M_root() != nullptr) _M_move_data(__x, true_type()); std::__alloc_on_move(_M_get_Node_allocator(), __x._M_get_Node_allocator()); } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_move_assign(_Rb_tree& __x, false_type) { if (_M_get_Node_allocator() == __x._M_get_Node_allocator()) return _M_move_assign(__x, true_type{}); _Reuse_or_alloc_node __roan(*this); _M_impl._M_reset(); if (__x._M_root() != nullptr) { auto __lbd = [&__roan](const value_type& __cval) { auto& __val = const_cast(__cval); return __roan(std::move(__val)); }; _M_root() = _M_copy(__x, __lbd); __x.clear(); } } template inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: operator=(_Rb_tree&& __x) noexcept(_Alloc_traits::_S_nothrow_move() && is_nothrow_move_assignable<_Compare>::value) { _M_impl._M_key_compare = std::move(__x._M_impl._M_key_compare); _M_move_assign(__x, __bool_constant<_Alloc_traits::_S_nothrow_move()>()); return *this; } template template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_assign_unique(_Iterator __first, _Iterator __last) { _Reuse_or_alloc_node __roan(*this); _M_impl._M_reset(); for (; __first != __last; ++__first) _M_insert_unique_(end(), *__first, __roan); } template template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_assign_equal(_Iterator __first, _Iterator __last) { _Reuse_or_alloc_node __roan(*this); _M_impl._M_reset(); for (; __first != __last; ++__first) _M_insert_equal_(end(), *__first, __roan); } template _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: operator=(const _Rb_tree& __x) { if (this != &__x) { if (_Alloc_traits::_S_propagate_on_copy_assign()) { auto& __this_alloc = this->_M_get_Node_allocator(); auto& __that_alloc = __x._M_get_Node_allocator(); if (!_Alloc_traits::_S_always_equal() && __this_alloc != __that_alloc) { clear(); std::__alloc_on_copy(__this_alloc, __that_alloc); } } _Reuse_or_alloc_node __roan(*this); _M_impl._M_reset(); _M_impl._M_key_compare = __x._M_impl._M_key_compare; if (__x._M_root() != 0) _M_root() = _M_copy(__x, __roan); } return *this; } template template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_(_Base_ptr __x, _Base_ptr __p, _Arg&& __v, _NodeGen& __node_gen) { bool __insert_left = (__x != 0 || __p == _M_end() || _M_impl._M_key_compare(_KeyOfValue()(__v), _S_key(__p))); _Link_type __z = __node_gen(std::forward<_Arg>(__v)); _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, this->_M_impl._M_header); ++_M_impl._M_node_count; return iterator(__z); } template template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_lower(_Base_ptr __p, _Arg&& __v) { bool __insert_left = (__p == _M_end() || !_M_impl._M_key_compare(_S_key(__p), _KeyOfValue()(__v))); _Link_type __z = _M_create_node(std::forward<_Arg>(__v)); _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, this->_M_impl._M_header); ++_M_impl._M_node_count; return iterator(__z); } template template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_equal_lower(_Arg&& __v) { _Link_type __x = _M_begin(); _Base_ptr __y = _M_end(); while (__x != 0) { __y = __x; __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ? _S_left(__x) : _S_right(__x); } return _M_insert_lower(__y, std::forward<_Arg>(__v)); } template template typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>:: _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen& __node_gen) { _Link_type __top = _M_clone_node(__x, __node_gen); __top->_M_parent = __p; if (true) { if (__x->_M_right) __top->_M_right = _M_copy(_S_right(__x), __top, __node_gen); __p = __top; __x = _S_left(__x); while (__x != 0) { _Link_type __y = _M_clone_node(__x, __node_gen); __p->_M_left = __y; __y->_M_parent = __p; if (__x->_M_right) __y->_M_right = _M_copy(_S_right(__x), __y, __node_gen); __p = __y; __x = _S_left(__x); } } if (false) { _M_erase(__top); ; } return __top; } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_erase(_Link_type __x) { while (__x != 0) { _M_erase(_S_right(__x)); _Link_type __y = _S_left(__x); _M_drop_node(__x); __x = __y; } } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_lower_bound(_Link_type __x, _Base_ptr __y, const _Key& __k) { while (__x != 0) if (!_M_impl._M_key_compare(_S_key(__x), __k)) __y = __x, __x = _S_left(__x); else __x = _S_right(__x); return iterator(__y); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, const _Key& __k) const { while (__x != 0) if (!_M_impl._M_key_compare(_S_key(__x), __k)) __y = __x, __x = _S_left(__x); else __x = _S_right(__x); return const_iterator(__y); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_upper_bound(_Link_type __x, _Base_ptr __y, const _Key& __k) { while (__x != 0) if (_M_impl._M_key_compare(__k, _S_key(__x))) __y = __x, __x = _S_left(__x); else __x = _S_right(__x); return iterator(__y); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y, const _Key& __k) const { while (__x != 0) if (_M_impl._M_key_compare(__k, _S_key(__x))) __y = __x, __x = _S_left(__x); else __x = _S_right(__x); return const_iterator(__y); } template pair::iterator, typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: equal_range(const _Key& __k) { _Link_type __x = _M_begin(); _Base_ptr __y = _M_end(); while (__x != 0) { if (_M_impl._M_key_compare(_S_key(__x), __k)) __x = _S_right(__x); else if (_M_impl._M_key_compare(__k, _S_key(__x))) __y = __x, __x = _S_left(__x); else { _Link_type __xu(__x); _Base_ptr __yu(__y); __y = __x, __x = _S_left(__x); __xu = _S_right(__xu); return pair(_M_lower_bound(__x, __y, __k), _M_upper_bound(__xu, __yu, __k)); } } return pair(iterator(__y), iterator(__y)); } template pair::const_iterator, typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: equal_range(const _Key& __k) const { _Const_Link_type __x = _M_begin(); _Const_Base_ptr __y = _M_end(); while (__x != 0) { if (_M_impl._M_key_compare(_S_key(__x), __k)) __x = _S_right(__x); else if (_M_impl._M_key_compare(__k, _S_key(__x))) __y = __x, __x = _S_left(__x); else { _Const_Link_type __xu(__x); _Const_Base_ptr __yu(__y); __y = __x, __x = _S_left(__x); __xu = _S_right(__xu); return pair(_M_lower_bound(__x, __y, __k), _M_upper_bound(__xu, __yu, __k)); } } return pair(const_iterator(__y), const_iterator(__y)); } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: swap(_Rb_tree& __t) noexcept(__is_nothrow_swappable<_Compare>::value) { if (_M_root() == 0) { if (__t._M_root() != 0) _M_impl._M_move_data(__t._M_impl); } else if (__t._M_root() == 0) __t._M_impl._M_move_data(_M_impl); else { std::swap(_M_root(),__t._M_root()); std::swap(_M_leftmost(),__t._M_leftmost()); std::swap(_M_rightmost(),__t._M_rightmost()); _M_root()->_M_parent = _M_end(); __t._M_root()->_M_parent = __t._M_end(); std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count); } std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare); _Alloc_traits::_S_on_swap(_M_get_Node_allocator(), __t._M_get_Node_allocator()); } template pair::_Base_ptr, typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_get_insert_unique_pos(const key_type& __k) { typedef pair<_Base_ptr, _Base_ptr> _Res; _Link_type __x = _M_begin(); _Base_ptr __y = _M_end(); bool __comp = true; while (__x != 0) { __y = __x; __comp = _M_impl._M_key_compare(__k, _S_key(__x)); __x = __comp ? _S_left(__x) : _S_right(__x); } iterator __j = iterator(__y); if (__comp) { if (__j == begin()) return _Res(__x, __y); else --__j; } if (_M_impl._M_key_compare(_S_key(__j._M_node), __k)) return _Res(__x, __y); return _Res(__j._M_node, 0); } template pair::_Base_ptr, typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_get_insert_equal_pos(const key_type& __k) { typedef pair<_Base_ptr, _Base_ptr> _Res; _Link_type __x = _M_begin(); _Base_ptr __y = _M_end(); while (__x != 0) { __y = __x; __x = _M_impl._M_key_compare(__k, _S_key(__x)) ? _S_left(__x) : _S_right(__x); } return _Res(__x, __y); } template template pair::iterator, bool> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_unique(_Arg&& __v) { typedef pair _Res; pair<_Base_ptr, _Base_ptr> __res = _M_get_insert_unique_pos(_KeyOfValue()(__v)); if (__res.second) { _Alloc_node __an(*this); return _Res(_M_insert_(__res.first, __res.second, std::forward<_Arg>(__v), __an), true); } return _Res(iterator(__res.first), false); } template template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_equal(_Arg&& __v) { pair<_Base_ptr, _Base_ptr> __res = _M_get_insert_equal_pos(_KeyOfValue()(__v)); _Alloc_node __an(*this); return _M_insert_(__res.first, __res.second, std::forward<_Arg>(__v), __an); } template pair::_Base_ptr, typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_get_insert_hint_unique_pos(const_iterator __position, const key_type& __k) { iterator __pos = __position._M_const_cast(); typedef pair<_Base_ptr, _Base_ptr> _Res; if (__pos._M_node == _M_end()) { if (size() > 0 && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k)) return _Res(0, _M_rightmost()); else return _M_get_insert_unique_pos(__k); } else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node))) { iterator __before = __pos; if (__pos._M_node == _M_leftmost()) return _Res(_M_leftmost(), _M_leftmost()); else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k)) { if (_S_right(__before._M_node) == 0) return _Res(0, __before._M_node); else return _Res(__pos._M_node, __pos._M_node); } else return _M_get_insert_unique_pos(__k); } else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k)) { iterator __after = __pos; if (__pos._M_node == _M_rightmost()) return _Res(0, _M_rightmost()); else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node))) { if (_S_right(__pos._M_node) == 0) return _Res(0, __pos._M_node); else return _Res(__after._M_node, __after._M_node); } else return _M_get_insert_unique_pos(__k); } else return _Res(__pos._M_node, 0); } template template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_unique_(const_iterator __position, _Arg&& __v, _NodeGen& __node_gen) { pair<_Base_ptr, _Base_ptr> __res = _M_get_insert_hint_unique_pos(__position, _KeyOfValue()(__v)); if (__res.second) return _M_insert_(__res.first, __res.second, std::forward<_Arg>(__v), __node_gen); return iterator(__res.first); } template pair::_Base_ptr, typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k) { iterator __pos = __position._M_const_cast(); typedef pair<_Base_ptr, _Base_ptr> _Res; if (__pos._M_node == _M_end()) { if (size() > 0 && !_M_impl._M_key_compare(__k, _S_key(_M_rightmost()))) return _Res(0, _M_rightmost()); else return _M_get_insert_equal_pos(__k); } else if (!_M_impl._M_key_compare(_S_key(__pos._M_node), __k)) { iterator __before = __pos; if (__pos._M_node == _M_leftmost()) return _Res(_M_leftmost(), _M_leftmost()); else if (!_M_impl._M_key_compare(__k, _S_key((--__before)._M_node))) { if (_S_right(__before._M_node) == 0) return _Res(0, __before._M_node); else return _Res(__pos._M_node, __pos._M_node); } else return _M_get_insert_equal_pos(__k); } else { iterator __after = __pos; if (__pos._M_node == _M_rightmost()) return _Res(0, _M_rightmost()); else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), __k)) { if (_S_right(__pos._M_node) == 0) return _Res(0, __pos._M_node); else return _Res(__after._M_node, __after._M_node); } else return _Res(0, 0); } } template template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_equal_(const_iterator __position, _Arg&& __v, _NodeGen& __node_gen) { pair<_Base_ptr, _Base_ptr> __res = _M_get_insert_hint_equal_pos(__position, _KeyOfValue()(__v)); if (__res.second) return _M_insert_(__res.first, __res.second, std::forward<_Arg>(__v), __node_gen); return _M_insert_equal_lower(std::forward<_Arg>(__v)); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z) { bool __insert_left = (__x != 0 || __p == _M_end() || _M_impl._M_key_compare(_S_key(__z), _S_key(__p))); _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, this->_M_impl._M_header); ++_M_impl._M_node_count; return iterator(__z); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_lower_node(_Base_ptr __p, _Link_type __z) { bool __insert_left = (__p == _M_end() || !_M_impl._M_key_compare(_S_key(__p), _S_key(__z))); _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, this->_M_impl._M_header); ++_M_impl._M_node_count; return iterator(__z); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_insert_equal_lower_node(_Link_type __z) { _Link_type __x = _M_begin(); _Base_ptr __y = _M_end(); while (__x != 0) { __y = __x; __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ? _S_left(__x) : _S_right(__x); } return _M_insert_lower_node(__y, __z); } template template pair::iterator, bool> _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_emplace_unique(_Args&&... __args) { _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); if (true) { typedef pair _Res; auto __res = _M_get_insert_unique_pos(_S_key(__z)); if (__res.second) return _Res(_M_insert_node(__res.first, __res.second, __z), true); _M_drop_node(__z); return _Res(iterator(__res.first), false); } if (false) { _M_drop_node(__z); ; } } template template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_emplace_equal(_Args&&... __args) { _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); if (true) { auto __res = _M_get_insert_equal_pos(_S_key(__z)); return _M_insert_node(__res.first, __res.second, __z); } if (false) { _M_drop_node(__z); ; } } template template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args) { _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); if (true) { auto __res = _M_get_insert_hint_unique_pos(__pos, _S_key(__z)); if (__res.second) return _M_insert_node(__res.first, __res.second, __z); _M_drop_node(__z); return iterator(__res.first); } if (false) { _M_drop_node(__z); ; } } template template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args) { _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); if (true) { auto __res = _M_get_insert_hint_equal_pos(__pos, _S_key(__z)); if (__res.second) return _M_insert_node(__res.first, __res.second, __z); return _M_insert_equal_lower_node(__z); } if (false) { _M_drop_node(__z); ; } } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_erase_aux(const_iterator __position) { _Link_type __y = static_cast<_Link_type>(_Rb_tree_rebalance_for_erase (const_cast<_Base_ptr>(__position._M_node), this->_M_impl._M_header)); _M_drop_node(__y); --_M_impl._M_node_count; } template void _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: _M_erase_aux(const_iterator __first, const_iterator __last) { if (__first == begin() && __last == end()) clear(); else while (__first != __last) _M_erase_aux(__first++); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: erase(const _Key& __x) { pair __p = equal_range(__x); const size_type __old_size = size(); _M_erase_aux(__p.first, __p.second); return __old_size - size(); } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: find(const _Key& __k) { iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); return (__j == end() || _M_impl._M_key_compare(__k, _S_key(__j._M_node))) ? end() : __j; } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: find(const _Key& __k) const { const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); return (__j == end() || _M_impl._M_key_compare(__k, _S_key(__j._M_node))) ? end() : __j; } template typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: count(const _Key& __k) const { pair __p = equal_range(__k); const size_type __n = std::distance(__p.first, __p.second); return __n; } __attribute__ ((__pure__)) unsigned int _Rb_tree_black_count(const _Rb_tree_node_base* __node, const _Rb_tree_node_base* __root) throw (); template bool _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const { if (_M_impl._M_node_count == 0 || begin() == end()) return _M_impl._M_node_count == 0 && begin() == end() && this->_M_impl._M_header._M_left == _M_end() && this->_M_impl._M_header._M_right == _M_end(); unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root()); for (const_iterator __it = begin(); __it != end(); ++__it) { _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node); _Const_Link_type __L = _S_left(__x); _Const_Link_type __R = _S_right(__x); if (__x->_M_color == _S_red) if ((__L && __L->_M_color == _S_red) || (__R && __R->_M_color == _S_red)) return false; if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L))) return false; if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x))) return false; if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len) return false; } if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root())) return false; if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root())) return false; return true; } # 2626 "/usr/include/c++/10/bits/stl_tree.h" 3 } # 61 "/usr/include/c++/10/set" 2 3 # 1 "/usr/include/c++/10/bits/stl_set.h" 1 3 # 61 "/usr/include/c++/10/bits/stl_set.h" 3 # 1 "/usr/include/c++/10/initializer_list" 1 3 # 33 "/usr/include/c++/10/initializer_list" 3 # 34 "/usr/include/c++/10/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 # 62 "/usr/include/c++/10/bits/stl_set.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class multiset; # 92 "/usr/include/c++/10/bits/stl_set.h" 3 template, typename _Alloc = std::allocator<_Key> > class set { # 108 "/usr/include/c++/10/bits/stl_set.h" 3 static_assert(is_same::type, _Key>::value, "std::set must have a non-const, non-volatile value_type"); public: typedef _Key key_type; typedef _Key value_type; typedef _Compare key_compare; typedef _Compare value_compare; typedef _Alloc allocator_type; private: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template rebind<_Key>::other _Key_alloc_type; typedef _Rb_tree, key_compare, _Key_alloc_type> _Rep_type; _Rep_type _M_t; typedef __gnu_cxx::__alloc_traits<_Key_alloc_type> _Alloc_traits; public: 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 _Rep_type::const_iterator iterator; typedef typename _Rep_type::const_iterator const_iterator; typedef typename _Rep_type::const_reverse_iterator reverse_iterator; typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; typedef typename _Rep_type::size_type size_type; typedef typename _Rep_type::difference_type difference_type; # 167 "/usr/include/c++/10/bits/stl_set.h" 3 set() = default; explicit set(const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, _Key_alloc_type(__a)) { } # 190 "/usr/include/c++/10/bits/stl_set.h" 3 template set(_InputIterator __first, _InputIterator __last) : _M_t() { _M_t._M_insert_range_unique(__first, __last); } # 207 "/usr/include/c++/10/bits/stl_set.h" 3 template set(_InputIterator __first, _InputIterator __last, const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, _Key_alloc_type(__a)) { _M_t._M_insert_range_unique(__first, __last); } # 223 "/usr/include/c++/10/bits/stl_set.h" 3 set(const set&) = default; set(set&&) = default; # 243 "/usr/include/c++/10/bits/stl_set.h" 3 set(initializer_list __l, const _Compare& __comp = _Compare(), const allocator_type& __a = allocator_type()) : _M_t(__comp, _Key_alloc_type(__a)) { _M_t._M_insert_range_unique(__l.begin(), __l.end()); } explicit set(const allocator_type& __a) : _M_t(_Key_alloc_type(__a)) { } set(const set& __x, const allocator_type& __a) : _M_t(__x._M_t, _Key_alloc_type(__a)) { } set(set&& __x, const allocator_type& __a) noexcept(is_nothrow_copy_constructible<_Compare>::value && _Alloc_traits::_S_always_equal()) : _M_t(std::move(__x._M_t), _Key_alloc_type(__a)) { } set(initializer_list __l, const allocator_type& __a) : _M_t(_Key_alloc_type(__a)) { _M_t._M_insert_range_unique(__l.begin(), __l.end()); } template set(_InputIterator __first, _InputIterator __last, const allocator_type& __a) : _M_t(_Key_alloc_type(__a)) { _M_t._M_insert_range_unique(__first, __last); } ~set() = default; # 297 "/usr/include/c++/10/bits/stl_set.h" 3 set& operator=(const set&) = default; set& operator=(set&&) = default; # 315 "/usr/include/c++/10/bits/stl_set.h" 3 set& operator=(initializer_list __l) { _M_t._M_assign_unique(__l.begin(), __l.end()); return *this; } key_compare key_comp() const { return _M_t.key_comp(); } value_compare value_comp() const { return _M_t.key_comp(); } allocator_type get_allocator() const noexcept { return allocator_type(_M_t.get_allocator()); } iterator begin() const noexcept { return _M_t.begin(); } iterator end() const noexcept { return _M_t.end(); } reverse_iterator rbegin() const noexcept { return _M_t.rbegin(); } reverse_iterator rend() const noexcept { return _M_t.rend(); } iterator cbegin() const noexcept { return _M_t.begin(); } iterator cend() const noexcept { return _M_t.end(); } reverse_iterator crbegin() const noexcept { return _M_t.rbegin(); } reverse_iterator crend() const noexcept { return _M_t.rend(); } bool empty() const noexcept { return _M_t.empty(); } size_type size() const noexcept { return _M_t.size(); } size_type max_size() const noexcept { return _M_t.max_size(); } # 440 "/usr/include/c++/10/bits/stl_set.h" 3 void swap(set& __x) noexcept(__is_nothrow_swappable<_Compare>::value) { _M_t.swap(__x._M_t); } # 460 "/usr/include/c++/10/bits/stl_set.h" 3 template std::pair emplace(_Args&&... __args) { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); } # 486 "/usr/include/c++/10/bits/stl_set.h" 3 template iterator emplace_hint(const_iterator __pos, _Args&&... __args) { return _M_t._M_emplace_hint_unique(__pos, std::forward<_Args>(__args)...); } # 508 "/usr/include/c++/10/bits/stl_set.h" 3 std::pair insert(const value_type& __x) { std::pair __p = _M_t._M_insert_unique(__x); return std::pair(__p.first, __p.second); } std::pair insert(value_type&& __x) { std::pair __p = _M_t._M_insert_unique(std::move(__x)); return std::pair(__p.first, __p.second); } # 545 "/usr/include/c++/10/bits/stl_set.h" 3 iterator insert(const_iterator __position, const value_type& __x) { return _M_t._M_insert_unique_(__position, __x); } iterator insert(const_iterator __position, value_type&& __x) { return _M_t._M_insert_unique_(__position, std::move(__x)); } # 564 "/usr/include/c++/10/bits/stl_set.h" 3 template void insert(_InputIterator __first, _InputIterator __last) { _M_t._M_insert_range_unique(__first, __last); } # 577 "/usr/include/c++/10/bits/stl_set.h" 3 void insert(initializer_list __l) { this->insert(__l.begin(), __l.end()); } # 652 "/usr/include/c++/10/bits/stl_set.h" 3 __attribute ((__abi_tag__ ("cxx11"))) iterator erase(const_iterator __position) { return _M_t.erase(__position); } # 683 "/usr/include/c++/10/bits/stl_set.h" 3 size_type erase(const key_type& __x) { return _M_t.erase(__x); } # 704 "/usr/include/c++/10/bits/stl_set.h" 3 __attribute ((__abi_tag__ ("cxx11"))) iterator erase(const_iterator __first, const_iterator __last) { return _M_t.erase(__first, __last); } # 732 "/usr/include/c++/10/bits/stl_set.h" 3 void clear() noexcept { _M_t.clear(); } # 747 "/usr/include/c++/10/bits/stl_set.h" 3 size_type count(const key_type& __x) const { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } template auto count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x)) { return _M_t._M_count_tr(__x); } # 793 "/usr/include/c++/10/bits/stl_set.h" 3 iterator find(const key_type& __x) { return _M_t.find(__x); } const_iterator find(const key_type& __x) const { return _M_t.find(__x); } template auto find(const _Kt& __x) -> decltype(iterator{_M_t._M_find_tr(__x)}) { return iterator{_M_t._M_find_tr(__x)}; } template auto find(const _Kt& __x) const -> decltype(const_iterator{_M_t._M_find_tr(__x)}) { return const_iterator{_M_t._M_find_tr(__x)}; } # 828 "/usr/include/c++/10/bits/stl_set.h" 3 iterator lower_bound(const key_type& __x) { return _M_t.lower_bound(__x); } const_iterator lower_bound(const key_type& __x) const { return _M_t.lower_bound(__x); } template auto lower_bound(const _Kt& __x) -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) { return iterator(_M_t._M_lower_bound_tr(__x)); } template auto lower_bound(const _Kt& __x) const -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x))) { return const_iterator(_M_t._M_lower_bound_tr(__x)); } # 858 "/usr/include/c++/10/bits/stl_set.h" 3 iterator upper_bound(const key_type& __x) { return _M_t.upper_bound(__x); } const_iterator upper_bound(const key_type& __x) const { return _M_t.upper_bound(__x); } template auto upper_bound(const _Kt& __x) -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) { return iterator(_M_t._M_upper_bound_tr(__x)); } template auto upper_bound(const _Kt& __x) const -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) { return const_iterator(_M_t._M_upper_bound_tr(__x)); } # 897 "/usr/include/c++/10/bits/stl_set.h" 3 std::pair equal_range(const key_type& __x) { return _M_t.equal_range(__x); } std::pair equal_range(const key_type& __x) const { return _M_t.equal_range(__x); } template auto equal_range(const _Kt& __x) -> decltype(pair(_M_t._M_equal_range_tr(__x))) { return pair(_M_t._M_equal_range_tr(__x)); } template auto equal_range(const _Kt& __x) const -> decltype(pair(_M_t._M_equal_range_tr(__x))) { return pair(_M_t._M_equal_range_tr(__x)); } template friend bool operator==(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&); template friend bool operator<(const set<_K1, _C1, _A1>&, const set<_K1, _C1, _A1>&); }; # 977 "/usr/include/c++/10/bits/stl_set.h" 3 template inline bool operator==(const set<_Key, _Compare, _Alloc>& __x, const set<_Key, _Compare, _Alloc>& __y) { return __x._M_t == __y._M_t; } # 994 "/usr/include/c++/10/bits/stl_set.h" 3 template inline bool operator<(const set<_Key, _Compare, _Alloc>& __x, const set<_Key, _Compare, _Alloc>& __y) { return __x._M_t < __y._M_t; } template inline bool operator!=(const set<_Key, _Compare, _Alloc>& __x, const set<_Key, _Compare, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const set<_Key, _Compare, _Alloc>& __x, const set<_Key, _Compare, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const set<_Key, _Compare, _Alloc>& __x, const set<_Key, _Compare, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const set<_Key, _Compare, _Alloc>& __x, const set<_Key, _Compare, _Alloc>& __y) { return !(__x < __y); } template inline void swap(set<_Key, _Compare, _Alloc>& __x, set<_Key, _Compare, _Alloc>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } # 1065 "/usr/include/c++/10/bits/stl_set.h" 3 } # 62 "/usr/include/c++/10/set" 2 3 # 1 "/usr/include/c++/10/bits/stl_multiset.h" 1 3 # 64 "/usr/include/c++/10/bits/stl_multiset.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class set; # 94 "/usr/include/c++/10/bits/stl_multiset.h" 3 template , typename _Alloc = std::allocator<_Key> > class multiset { # 110 "/usr/include/c++/10/bits/stl_multiset.h" 3 static_assert(is_same::type, _Key>::value, "std::multiset must have a non-const, non-volatile value_type"); public: typedef _Key key_type; typedef _Key value_type; typedef _Compare key_compare; typedef _Compare value_compare; typedef _Alloc allocator_type; private: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template rebind<_Key>::other _Key_alloc_type; typedef _Rb_tree, key_compare, _Key_alloc_type> _Rep_type; _Rep_type _M_t; typedef __gnu_cxx::__alloc_traits<_Key_alloc_type> _Alloc_traits; public: 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 _Rep_type::const_iterator iterator; typedef typename _Rep_type::const_iterator const_iterator; typedef typename _Rep_type::const_reverse_iterator reverse_iterator; typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; typedef typename _Rep_type::size_type size_type; typedef typename _Rep_type::difference_type difference_type; # 164 "/usr/include/c++/10/bits/stl_multiset.h" 3 multiset() = default; explicit multiset(const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, _Key_alloc_type(__a)) { } # 186 "/usr/include/c++/10/bits/stl_multiset.h" 3 template multiset(_InputIterator __first, _InputIterator __last) : _M_t() { _M_t._M_insert_range_equal(__first, __last); } # 202 "/usr/include/c++/10/bits/stl_multiset.h" 3 template multiset(_InputIterator __first, _InputIterator __last, const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, _Key_alloc_type(__a)) { _M_t._M_insert_range_equal(__first, __last); } # 218 "/usr/include/c++/10/bits/stl_multiset.h" 3 multiset(const multiset&) = default; # 227 "/usr/include/c++/10/bits/stl_multiset.h" 3 multiset(multiset&&) = default; # 239 "/usr/include/c++/10/bits/stl_multiset.h" 3 multiset(initializer_list __l, const _Compare& __comp = _Compare(), const allocator_type& __a = allocator_type()) : _M_t(__comp, _Key_alloc_type(__a)) { _M_t._M_insert_range_equal(__l.begin(), __l.end()); } explicit multiset(const allocator_type& __a) : _M_t(_Key_alloc_type(__a)) { } multiset(const multiset& __m, const allocator_type& __a) : _M_t(__m._M_t, _Key_alloc_type(__a)) { } multiset(multiset&& __m, const allocator_type& __a) noexcept(is_nothrow_copy_constructible<_Compare>::value && _Alloc_traits::_S_always_equal()) : _M_t(std::move(__m._M_t), _Key_alloc_type(__a)) { } multiset(initializer_list __l, const allocator_type& __a) : _M_t(_Key_alloc_type(__a)) { _M_t._M_insert_range_equal(__l.begin(), __l.end()); } template multiset(_InputIterator __first, _InputIterator __last, const allocator_type& __a) : _M_t(_Key_alloc_type(__a)) { _M_t._M_insert_range_equal(__first, __last); } ~multiset() = default; # 293 "/usr/include/c++/10/bits/stl_multiset.h" 3 multiset& operator=(const multiset&) = default; multiset& operator=(multiset&&) = default; # 311 "/usr/include/c++/10/bits/stl_multiset.h" 3 multiset& operator=(initializer_list __l) { _M_t._M_assign_equal(__l.begin(), __l.end()); return *this; } key_compare key_comp() const { return _M_t.key_comp(); } value_compare value_comp() const { return _M_t.key_comp(); } allocator_type get_allocator() const noexcept { return allocator_type(_M_t.get_allocator()); } iterator begin() const noexcept { return _M_t.begin(); } iterator end() const noexcept { return _M_t.end(); } reverse_iterator rbegin() const noexcept { return _M_t.rbegin(); } reverse_iterator rend() const noexcept { return _M_t.rend(); } iterator cbegin() const noexcept { return _M_t.begin(); } iterator cend() const noexcept { return _M_t.end(); } reverse_iterator crbegin() const noexcept { return _M_t.rbegin(); } reverse_iterator crend() const noexcept { return _M_t.rend(); } bool empty() const noexcept { return _M_t.empty(); } size_type size() const noexcept { return _M_t.size(); } size_type max_size() const noexcept { return _M_t.max_size(); } # 436 "/usr/include/c++/10/bits/stl_multiset.h" 3 void swap(multiset& __x) noexcept(__is_nothrow_swappable<_Compare>::value) { _M_t.swap(__x._M_t); } # 455 "/usr/include/c++/10/bits/stl_multiset.h" 3 template iterator emplace(_Args&&... __args) { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); } # 481 "/usr/include/c++/10/bits/stl_multiset.h" 3 template iterator emplace_hint(const_iterator __pos, _Args&&... __args) { return _M_t._M_emplace_hint_equal(__pos, std::forward<_Args>(__args)...); } # 501 "/usr/include/c++/10/bits/stl_multiset.h" 3 iterator insert(const value_type& __x) { return _M_t._M_insert_equal(__x); } iterator insert(value_type&& __x) { return _M_t._M_insert_equal(std::move(__x)); } # 531 "/usr/include/c++/10/bits/stl_multiset.h" 3 iterator insert(const_iterator __position, const value_type& __x) { return _M_t._M_insert_equal_(__position, __x); } iterator insert(const_iterator __position, value_type&& __x) { return _M_t._M_insert_equal_(__position, std::move(__x)); } # 549 "/usr/include/c++/10/bits/stl_multiset.h" 3 template void insert(_InputIterator __first, _InputIterator __last) { _M_t._M_insert_range_equal(__first, __last); } # 562 "/usr/include/c++/10/bits/stl_multiset.h" 3 void insert(initializer_list __l) { this->insert(__l.begin(), __l.end()); } # 637 "/usr/include/c++/10/bits/stl_multiset.h" 3 __attribute ((__abi_tag__ ("cxx11"))) iterator erase(const_iterator __position) { return _M_t.erase(__position); } # 668 "/usr/include/c++/10/bits/stl_multiset.h" 3 size_type erase(const key_type& __x) { return _M_t.erase(__x); } # 689 "/usr/include/c++/10/bits/stl_multiset.h" 3 __attribute ((__abi_tag__ ("cxx11"))) iterator erase(const_iterator __first, const_iterator __last) { return _M_t.erase(__first, __last); } # 717 "/usr/include/c++/10/bits/stl_multiset.h" 3 void clear() noexcept { _M_t.clear(); } # 729 "/usr/include/c++/10/bits/stl_multiset.h" 3 size_type count(const key_type& __x) const { return _M_t.count(__x); } template auto count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x)) { return _M_t._M_count_tr(__x); } # 774 "/usr/include/c++/10/bits/stl_multiset.h" 3 iterator find(const key_type& __x) { return _M_t.find(__x); } const_iterator find(const key_type& __x) const { return _M_t.find(__x); } template auto find(const _Kt& __x) -> decltype(iterator{_M_t._M_find_tr(__x)}) { return iterator{_M_t._M_find_tr(__x)}; } template auto find(const _Kt& __x) const -> decltype(const_iterator{_M_t._M_find_tr(__x)}) { return const_iterator{_M_t._M_find_tr(__x)}; } # 809 "/usr/include/c++/10/bits/stl_multiset.h" 3 iterator lower_bound(const key_type& __x) { return _M_t.lower_bound(__x); } const_iterator lower_bound(const key_type& __x) const { return _M_t.lower_bound(__x); } template auto lower_bound(const _Kt& __x) -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) { return iterator(_M_t._M_lower_bound_tr(__x)); } template auto lower_bound(const _Kt& __x) const -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) { return iterator(_M_t._M_lower_bound_tr(__x)); } # 839 "/usr/include/c++/10/bits/stl_multiset.h" 3 iterator upper_bound(const key_type& __x) { return _M_t.upper_bound(__x); } const_iterator upper_bound(const key_type& __x) const { return _M_t.upper_bound(__x); } template auto upper_bound(const _Kt& __x) -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) { return iterator(_M_t._M_upper_bound_tr(__x)); } template auto upper_bound(const _Kt& __x) const -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) { return iterator(_M_t._M_upper_bound_tr(__x)); } # 878 "/usr/include/c++/10/bits/stl_multiset.h" 3 std::pair equal_range(const key_type& __x) { return _M_t.equal_range(__x); } std::pair equal_range(const key_type& __x) const { return _M_t.equal_range(__x); } template auto equal_range(const _Kt& __x) -> decltype(pair(_M_t._M_equal_range_tr(__x))) { return pair(_M_t._M_equal_range_tr(__x)); } template auto equal_range(const _Kt& __x) const -> decltype(pair(_M_t._M_equal_range_tr(__x))) { return pair(_M_t._M_equal_range_tr(__x)); } template friend bool operator==(const multiset<_K1, _C1, _A1>&, const multiset<_K1, _C1, _A1>&); template friend bool operator< (const multiset<_K1, _C1, _A1>&, const multiset<_K1, _C1, _A1>&); }; # 962 "/usr/include/c++/10/bits/stl_multiset.h" 3 template inline bool operator==(const multiset<_Key, _Compare, _Alloc>& __x, const multiset<_Key, _Compare, _Alloc>& __y) { return __x._M_t == __y._M_t; } # 979 "/usr/include/c++/10/bits/stl_multiset.h" 3 template inline bool operator<(const multiset<_Key, _Compare, _Alloc>& __x, const multiset<_Key, _Compare, _Alloc>& __y) { return __x._M_t < __y._M_t; } template inline bool operator!=(const multiset<_Key, _Compare, _Alloc>& __x, const multiset<_Key, _Compare, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const multiset<_Key,_Compare,_Alloc>& __x, const multiset<_Key,_Compare,_Alloc>& __y) { return __y < __x; } template inline bool operator<=(const multiset<_Key, _Compare, _Alloc>& __x, const multiset<_Key, _Compare, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const multiset<_Key, _Compare, _Alloc>& __x, const multiset<_Key, _Compare, _Alloc>& __y) { return !(__x < __y); } template inline void swap(multiset<_Key, _Compare, _Alloc>& __x, multiset<_Key, _Compare, _Alloc>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } # 1054 "/usr/include/c++/10/bits/stl_multiset.h" 3 } # 63 "/usr/include/c++/10/set" 2 3 # 1 "/usr/include/c++/10/bits/range_access.h" 1 3 # 33 "/usr/include/c++/10/bits/range_access.h" 3 # 34 "/usr/include/c++/10/bits/range_access.h" 3 # 1 "/usr/include/c++/10/bits/iterator_concepts.h" 1 3 # 33 "/usr/include/c++/10/bits/iterator_concepts.h" 3 # 34 "/usr/include/c++/10/bits/iterator_concepts.h" 3 # 1 "/usr/include/c++/10/concepts" 1 3 # 36 "/usr/include/c++/10/bits/iterator_concepts.h" 2 3 # 1 "/usr/include/c++/10/bits/range_cmp.h" 1 3 # 38 "/usr/include/c++/10/bits/iterator_concepts.h" 2 3 # 38 "/usr/include/c++/10/bits/range_access.h" 2 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 constexpr _Tp* begin(_Tp (&__arr)[_Nm]) { return __arr; } template inline constexpr _Tp* end(_Tp (&__arr)[_Nm]) { return __arr + _Nm; } template class valarray; template _Tp* begin(valarray<_Tp>&); template const _Tp* begin(const valarray<_Tp>&); template _Tp* end(valarray<_Tp>&); template const _Tp* end(const valarray<_Tp>&); template inline constexpr auto cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont))) -> decltype(std::begin(__cont)) { return std::begin(__cont); } template inline constexpr auto cend(const _Container& __cont) noexcept(noexcept(std::end(__cont))) -> decltype(std::end(__cont)) { return std::end(__cont); } template inline auto rbegin(_Container& __cont) -> decltype(__cont.rbegin()) { return __cont.rbegin(); } template inline auto rbegin(const _Container& __cont) -> decltype(__cont.rbegin()) { return __cont.rbegin(); } template inline auto rend(_Container& __cont) -> decltype(__cont.rend()) { return __cont.rend(); } template inline auto rend(const _Container& __cont) -> decltype(__cont.rend()) { return __cont.rend(); } template inline reverse_iterator<_Tp*> rbegin(_Tp (&__arr)[_Nm]) { return reverse_iterator<_Tp*>(__arr + _Nm); } template inline reverse_iterator<_Tp*> rend(_Tp (&__arr)[_Nm]) { return reverse_iterator<_Tp*>(__arr); } template inline reverse_iterator rbegin(initializer_list<_Tp> __il) { return reverse_iterator(__il.end()); } template inline reverse_iterator rend(initializer_list<_Tp> __il) { return reverse_iterator(__il.begin()); } template inline auto crbegin(const _Container& __cont) -> decltype(std::rbegin(__cont)) { return std::rbegin(__cont); } template inline auto crend(const _Container& __cont) -> decltype(std::rend(__cont)) { return std::rend(__cont); } # 1121 "/usr/include/c++/10/bits/range_access.h" 3 } # 64 "/usr/include/c++/10/set" 2 3 # 1 "/usr/include/c++/10/bits/erase_if.h" 1 3 # 33 "/usr/include/c++/10/bits/erase_if.h" 3 # 34 "/usr/include/c++/10/bits/erase_if.h" 3 namespace std { namespace __detail { template typename _Container::size_type __erase_nodes_if(_Container& __cont, _Predicate __pred) { typename _Container::size_type __num = 0; for (auto __iter = __cont.begin(), __last = __cont.end(); __iter != __last;) { if (__pred(*__iter)) { __iter = __cont.erase(__iter); ++__num; } else ++__iter; } return __num; } } } # 65 "/usr/include/c++/10/set" 2 3 # 14 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "/usr/include/c++/10/string" 1 3 # 36 "/usr/include/c++/10/string" 3 # 37 "/usr/include/c++/10/string" 3 # 1 "/usr/include/c++/10/bits/stringfwd.h" 1 3 # 37 "/usr/include/c++/10/bits/stringfwd.h" 3 # 38 "/usr/include/c++/10/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; namespace __cxx11 { template, typename _Alloc = allocator<_CharT> > class basic_string; } typedef basic_string string; typedef basic_string wstring; # 93 "/usr/include/c++/10/bits/stringfwd.h" 3 typedef basic_string u16string; typedef basic_string u32string; } # 40 "/usr/include/c++/10/string" 2 3 # 1 "/usr/include/c++/10/bits/char_traits.h" 1 3 # 37 "/usr/include/c++/10/bits/char_traits.h" 3 # 38 "/usr/include/c++/10/bits/char_traits.h" 3 # 1 "/usr/include/c++/10/bits/postypes.h" 1 3 # 38 "/usr/include/c++/10/bits/postypes.h" 3 # 39 "/usr/include/c++/10/bits/postypes.h" 3 # 1 "/usr/include/c++/10/cwchar" 1 3 # 39 "/usr/include/c++/10/cwchar" 3 # 40 "/usr/include/c++/10/cwchar" 3 # 1 "/usr/include/wchar.h" 1 3 4 # 27 "/usr/include/wchar.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 28 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/floatn.h" 1 3 4 # 74 "/usr/include/bits/floatn.h" 3 4 typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__))); # 86 "/usr/include/bits/floatn.h" 3 4 typedef __float128 _Float128; # 119 "/usr/include/bits/floatn.h" 3 4 # 1 "/usr/include/bits/floatn-common.h" 1 3 4 # 24 "/usr/include/bits/floatn-common.h" 3 4 # 1 "/usr/include/bits/long-double.h" 1 3 4 # 25 "/usr/include/bits/floatn-common.h" 2 3 4 # 214 "/usr/include/bits/floatn-common.h" 3 4 typedef float _Float32; # 251 "/usr/include/bits/floatn-common.h" 3 4 typedef double _Float64; # 268 "/usr/include/bits/floatn-common.h" 3 4 typedef double _Float32x; # 285 "/usr/include/bits/floatn-common.h" 3 4 typedef long double _Float64x; # 120 "/usr/include/bits/floatn.h" 2 3 4 # 31 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 36 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stdarg.h" 1 3 4 # 40 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 39 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/types/wint_t.h" 1 3 4 # 20 "/usr/include/bits/types/wint_t.h" 3 4 typedef unsigned int wint_t; # 42 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/types/mbstate_t.h" 1 3 4 # 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 # 13 "/usr/include/bits/types/__mbstate_t.h" 3 4 typedef struct { int __count; union { unsigned int __wch; char __wchb[4]; } __value; } __mbstate_t; # 5 "/usr/include/bits/types/mbstate_t.h" 2 3 4 typedef __mbstate_t mbstate_t; # 43 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/types/__FILE.h" 1 3 4 struct _IO_FILE; typedef struct _IO_FILE __FILE; # 44 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/types/FILE.h" 1 3 4 struct _IO_FILE; typedef struct _IO_FILE FILE; # 47 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/types/locale_t.h" 1 3 4 # 22 "/usr/include/bits/types/locale_t.h" 3 4 # 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 # 28 "/usr/include/bits/types/__locale_t.h" 3 4 struct __locale_struct { struct __locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; }; typedef struct __locale_struct *__locale_t; # 23 "/usr/include/bits/types/locale_t.h" 2 3 4 typedef __locale_t locale_t; # 50 "/usr/include/wchar.h" 2 3 4 # 79 "/usr/include/wchar.h" 3 4 extern "C" { struct tm; extern wchar_t *wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern wchar_t *wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern wchar_t *wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __attribute__ ((__nonnull__ (1, 2))); extern wchar_t *wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 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 (); 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__)); # 181 "/usr/include/wchar.h" 3 4 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__)); # 240 "/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 (); extern wint_t __btowc_alias (int __c) __asm ("btowc"); extern __inline __attribute__ ((__gnu_inline__)) wint_t __attribute__ ((__leaf__)) btowc (int __c) throw () { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' ? (wint_t) __c : __btowc_alias (__c)); } extern int __wctob_alias (wint_t __c) __asm ("wctob"); extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__leaf__)) wctob (wint_t __wc) throw () { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' ? (int) __wc : __wctob_alias (__wc)); } extern __inline __attribute__ ((__gnu_inline__)) size_t __attribute__ ((__leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw () { return (__ps != __null ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); } 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 (); # 396 "/usr/include/wchar.h" 3 4 extern _Float32 wcstof32 (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern _Float64 wcstof64 (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern _Float128 wcstof128 (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern _Float32x wcstof32x (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); extern _Float64x wcstof64x (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw (); # 428 "/usr/include/wchar.h" 3 4 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 (); 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 (); # 511 "/usr/include/wchar.h" 3 4 extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, locale_t __loc) throw (); extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, locale_t __loc) throw (); extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, locale_t __loc) throw (); extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, locale_t __loc) throw (); extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, locale_t __loc) throw (); # 551 "/usr/include/wchar.h" 3 4 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 (); # 567 "/usr/include/wchar.h" 3 4 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 () ; extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_fwscanf") ; extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_wscanf") ; extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) throw () __asm__ ("" "__isoc99_swscanf") ; # 671 "/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 () ; extern int vfwscanf (__FILE *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfwscanf") ; extern int vwscanf (const wchar_t *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vwscanf") ; extern int vswscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, __gnuc_va_list __arg) throw () __asm__ ("" "__isoc99_vswscanf") ; # 726 "/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); # 781 "/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); # 807 "/usr/include/wchar.h" 3 4 extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); extern wint_t putwchar_unlocked (wchar_t __wc); # 817 "/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 (); 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 (); # 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); } # 850 "/usr/include/wchar.h" 2 3 4 } # 45 "/usr/include/c++/10/cwchar" 2 3 # 62 "/usr/include/c++/10/cwchar" 3 namespace std { using ::mbstate_t; } # 135 "/usr/include/c++/10/cwchar" 3 extern "C++" { 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; # 234 "/usr/include/c++/10/cwchar" 3 } } namespace __gnu_cxx { using ::wcstold; # 260 "/usr/include/c++/10/cwchar" 3 using ::wcstoll; using ::wcstoull; } namespace std { using ::__gnu_cxx::wcstold; using ::__gnu_cxx::wcstoll; using ::__gnu_cxx::wcstoull; } # 280 "/usr/include/c++/10/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; } # 41 "/usr/include/c++/10/bits/postypes.h" 2 3 # 68 "/usr/include/c++/10/bits/postypes.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 88 "/usr/include/c++/10/bits/postypes.h" 3 typedef long streamoff; # 98 "/usr/include/c++/10/bits/postypes.h" 3 typedef ptrdiff_t streamsize; # 111 "/usr/include/c++/10/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++/10/bits/postypes.h" 3 fpos(streamoff __off) : _M_off(__off), _M_state() { } fpos(const fpos&) = default; fpos& operator=(const fpos&) = default; ~fpos() = default; 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; # 245 "/usr/include/c++/10/bits/postypes.h" 3 typedef fpos u16streampos; typedef fpos u32streampos; } # 41 "/usr/include/c++/10/bits/char_traits.h" 2 3 # 1 "/usr/include/c++/10/cwchar" 1 3 # 39 "/usr/include/c++/10/cwchar" 3 # 40 "/usr/include/c++/10/cwchar" 3 # 42 "/usr/include/c++/10/bits/char_traits.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 61 "/usr/include/c++/10/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; }; # 86 "/usr/include/c++/10/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 constexpr 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 constexpr int compare(const char_type* __s1, const char_type* __s2, std::size_t __n); static constexpr std::size_t length(const char_type* __s); static constexpr 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 constexpr 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 constexpr 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 constexpr 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) { if (__n == 0) return __s1; 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"))) { # 283 "/usr/include/c++/10/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) { if (__n == 0) return 0; 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) { if (__n == 0) return 0; return static_cast(__builtin_memchr(__s, __a, __n)); } static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) { if (__n == 0) return __s1; return static_cast(__builtin_memmove(__s1, __s2, __n)); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) { if (__n == 0) return __s1; return static_cast(__builtin_memcpy(__s1, __s2, __n)); } static char_type* assign(char_type* __s, size_t __n, char_type __a) { if (__n == 0) return __s; 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) { if (__n == 0) return 0; 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) { if (__n == 0) return 0; return wmemchr(__s, __a, __n); } static char_type* move(char_type* __s1, const char_type* __s2, size_t __n) { if (__n == 0) return __s1; return wmemmove(__s1, __s2, __n); } static char_type* copy(char_type* __s1, const char_type* __s2, size_t __n) { if (__n == 0) return __s1; return wmemcpy(__s1, __s2, __n); } static char_type* assign(char_type* __s, size_t __n, char_type __a) { if (__n == 0) return __s; 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; } }; # 616 "/usr/include/c++/10/bits/char_traits.h" 3 } # 1 "/usr/include/c++/10/cstdint" 1 3 # 32 "/usr/include/c++/10/cstdint" 3 # 33 "/usr/include/c++/10/cstdint" 3 # 44 "/usr/include/c++/10/cstdint" 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; } # 622 "/usr/include/c++/10/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) { if (__n == 0) return __s1; 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) { if (__n == 0) return __s1; 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 __c == eof() ? int_type(0xfffd) : 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) { if (__n == 0) return __s1; 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) { if (__n == 0) return __s1; 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++/10/string" 2 3 # 1 "/usr/include/c++/10/bits/localefwd.h" 1 3 # 37 "/usr/include/c++/10/bits/localefwd.h" 3 # 38 "/usr/include/c++/10/bits/localefwd.h" 3 # 1 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++locale.h" 1 3 # 39 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++locale.h" 3 # 40 "/usr/include/c++/10/x86_64-redhat-linux/bits/c++locale.h" 3 # 1 "/usr/include/c++/10/clocale" 1 3 # 39 "/usr/include/c++/10/clocale" 3 # 40 "/usr/include/c++/10/clocale" 3 # 1 "/usr/include/locale.h" 1 3 4 # 28 "/usr/include/locale.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 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" { # 51 "/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; # 118 "/usr/include/locale.h" 3 4 }; extern char *setlocale (int __category, const char *__locale) throw (); extern struct lconv *localeconv (void) throw (); # 141 "/usr/include/locale.h" 3 4 extern locale_t newlocale (int __category_mask, const char *__locale, locale_t __base) throw (); # 176 "/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 (); } # 43 "/usr/include/c++/10/clocale" 2 3 # 51 "/usr/include/c++/10/clocale" 3 namespace std { using ::lconv; using ::setlocale; using ::localeconv; } # 42 "/usr/include/c++/10/x86_64-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++/10/x86_64-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++/10/bits/localefwd.h" 2 3 # 1 "/usr/include/c++/10/iosfwd" 1 3 # 36 "/usr/include/c++/10/iosfwd" 3 # 37 "/usr/include/c++/10/iosfwd" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 74 "/usr/include/c++/10/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; namespace __cxx11 { 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; } # 42 "/usr/include/c++/10/bits/localefwd.h" 2 3 # 1 "/usr/include/c++/10/cctype" 1 3 # 39 "/usr/include/c++/10/cctype" 3 # 40 "/usr/include/c++/10/cctype" 3 # 1 "/usr/include/ctype.h" 1 3 4 # 28 "/usr/include/ctype.h" 3 4 extern "C" { # 39 "/usr/include/ctype.h" 3 4 # 1 "/usr/include/bits/endian.h" 1 3 4 # 35 "/usr/include/bits/endian.h" 3 4 # 1 "/usr/include/bits/endianness.h" 1 3 4 # 36 "/usr/include/bits/endian.h" 2 3 4 # 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__)); # 108 "/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 (); # 251 "/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 (); # 327 "/usr/include/ctype.h" 3 4 } # 43 "/usr/include/c++/10/cctype" 2 3 # 62 "/usr/include/c++/10/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; } # 43 "/usr/include/c++/10/bits/localefwd.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 55 "/usr/include/c++/10/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; template<> class codecvt; template class codecvt_byname; template > class num_get; template > class num_put; namespace __cxx11 { template class numpunct; template class numpunct_byname; } namespace __cxx11 { template class collate; template class collate_byname; } class time_base; namespace __cxx11 { template > class time_get; template > class time_get_byname; } template > class time_put; template > class time_put_byname; class money_base; namespace __cxx11 { template > class money_get; template > class money_put; } namespace __cxx11 { template class moneypunct; template class moneypunct_byname; } class messages_base; namespace __cxx11 { template class messages; template class messages_byname; } } # 44 "/usr/include/c++/10/string" 2 3 # 1 "/usr/include/c++/10/bits/ostream_insert.h" 1 3 # 33 "/usr/include/c++/10/bits/ostream_insert.h" 3 # 34 "/usr/include/c++/10/bits/ostream_insert.h" 3 # 1 "/usr/include/c++/10/bits/cxxabi_forced.h" 1 3 # 34 "/usr/include/c++/10/bits/cxxabi_forced.h" 3 # 35 "/usr/include/c++/10/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++/10/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++/10/string" 2 3 # 55 "/usr/include/c++/10/string" 3 # 1 "/usr/include/c++/10/bits/basic_string.h" 1 3 # 37 "/usr/include/c++/10/bits/basic_string.h" 3 # 38 "/usr/include/c++/10/bits/basic_string.h" 3 # 1 "/usr/include/c++/10/ext/atomicity.h" 1 3 # 32 "/usr/include/c++/10/ext/atomicity.h" 3 # 33 "/usr/include/c++/10/ext/atomicity.h" 3 # 1 "/usr/include/c++/10/x86_64-redhat-linux/bits/gthr.h" 1 3 # 30 "/usr/include/c++/10/x86_64-redhat-linux/bits/gthr.h" 3 #pragma GCC visibility push(default) # 148 "/usr/include/c++/10/x86_64-redhat-linux/bits/gthr.h" 3 # 1 "/usr/include/c++/10/x86_64-redhat-linux/bits/gthr-default.h" 1 3 # 35 "/usr/include/c++/10/x86_64-redhat-linux/bits/gthr-default.h" 3 # 1 "/usr/include/pthread.h" 1 3 4 # 22 "/usr/include/pthread.h" 3 4 # 1 "/usr/include/sched.h" 1 3 4 # 29 "/usr/include/sched.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 30 "/usr/include/sched.h" 2 3 4 # 1 "/usr/include/bits/types/time_t.h" 1 3 4 typedef __time_t time_t; # 32 "/usr/include/sched.h" 2 3 4 # 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 # 10 "/usr/include/bits/types/struct_timespec.h" 3 4 struct timespec { __time_t tv_sec; __syscall_slong_t tv_nsec; # 26 "/usr/include/bits/types/struct_timespec.h" 3 4 }; # 33 "/usr/include/sched.h" 2 3 4 typedef __pid_t pid_t; # 1 "/usr/include/bits/sched.h" 1 3 4 # 76 "/usr/include/bits/sched.h" 3 4 # 1 "/usr/include/bits/types/struct_sched_param.h" 1 3 4 # 23 "/usr/include/bits/types/struct_sched_param.h" 3 4 struct sched_param { int sched_priority; }; # 77 "/usr/include/bits/sched.h" 2 3 4 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 getcpu (unsigned int *, unsigned int *) throw (); extern int setns (int __fd, int __nstype) throw (); } # 44 "/usr/include/sched.h" 2 3 4 # 1 "/usr/include/bits/cpu-set.h" 1 3 4 # 32 "/usr/include/bits/cpu-set.h" 3 4 typedef unsigned long int __cpu_mask; typedef struct { __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; } cpu_set_t; # 115 "/usr/include/bits/cpu-set.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 (); } # 45 "/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 (); # 121 "/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 (); } # 23 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/time.h" 1 3 4 # 29 "/usr/include/time.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 30 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 73 "/usr/include/bits/time.h" 3 4 # 1 "/usr/include/bits/timex.h" 1 3 4 # 22 "/usr/include/bits/timex.h" 3 4 # 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 23 "/usr/include/bits/timex.h" 2 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; }; # 74 "/usr/include/bits/time.h" 2 3 4 extern "C" { extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) throw (); } # 34 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/types/clock_t.h" 1 3 4 typedef __clock_t clock_t; # 38 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/types/struct_tm.h" 1 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; }; # 40 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 typedef __clockid_t clockid_t; # 47 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/types/timer_t.h" 1 3 4 typedef __timer_t timer_t; # 48 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/types/struct_itimerspec.h" 1 3 4 struct itimerspec { struct timespec it_interval; struct timespec it_value; }; # 49 "/usr/include/time.h" 2 3 4 struct sigevent; # 68 "/usr/include/time.h" 3 4 extern "C" { 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 (); 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; # 190 "/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__)); # 205 "/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))); # 274 "/usr/include/time.h" 3 4 extern int getdate_err; # 283 "/usr/include/time.h" 3 4 extern struct tm *getdate (const char *__string); # 297 "/usr/include/time.h" 3 4 extern int getdate_r (const char *__restrict __string, struct tm *__restrict __resbufp); } # 24 "/usr/include/pthread.h" 2 3 4 # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 23 "/usr/include/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 # 44 "/usr/include/bits/thread-shared-types.h" 3 4 # 1 "/usr/include/bits/pthreadtypes-arch.h" 1 3 4 # 21 "/usr/include/bits/pthreadtypes-arch.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 22 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 # 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 typedef struct __pthread_internal_list { struct __pthread_internal_list *__prev; struct __pthread_internal_list *__next; } __pthread_list_t; typedef struct __pthread_internal_slist { struct __pthread_internal_slist *__next; } __pthread_slist_t; # 74 "/usr/include/bits/thread-shared-types.h" 3 4 # 1 "/usr/include/bits/struct_mutex.h" 1 3 4 # 22 "/usr/include/bits/struct_mutex.h" 3 4 struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; unsigned int __nusers; int __kind; short __spins; short __elision; __pthread_list_t __list; # 53 "/usr/include/bits/struct_mutex.h" 3 4 }; # 75 "/usr/include/bits/thread-shared-types.h" 2 3 4 # 87 "/usr/include/bits/thread-shared-types.h" 3 4 # 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 # 23 "/usr/include/bits/struct_rwlock.h" 3 4 struct __pthread_rwlock_arch_t { unsigned int __readers; unsigned int __writers; unsigned int __wrphase_futex; unsigned int __writers_futex; unsigned int __pad3; unsigned int __pad4; int __cur_writer; int __shared; signed char __rwelision; unsigned char __pad1[7]; unsigned long int __pad2; unsigned int __flags; # 55 "/usr/include/bits/struct_rwlock.h" 3 4 }; # 88 "/usr/include/bits/thread-shared-types.h" 2 3 4 struct __pthread_cond_s { __extension__ union { __extension__ unsigned long long int __wseq; struct { unsigned int __low; unsigned int __high; } __wseq32; }; __extension__ union { __extension__ unsigned long long int __g1_start; struct { unsigned int __low; unsigned int __high; } __g1_start32; }; unsigned int __g_refs[2] ; unsigned int __g_size[2]; unsigned int __g1_orig_size; unsigned int __wrefs; unsigned int __g_signals[2]; }; # 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 typedef unsigned long int pthread_t; typedef union { char __size[4]; int __align; } pthread_mutexattr_t; typedef union { char __size[4]; int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; union pthread_attr_t { char __size[56]; long int __align; }; typedef union pthread_attr_t pthread_attr_t; typedef union { struct __pthread_mutex_s __data; char __size[40]; long int __align; } pthread_mutex_t; typedef union { struct __pthread_cond_s __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { struct __pthread_rwlock_arch_t __data; char __size[56]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[32]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 27 "/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 typedef long int __jmp_buf[8]; # 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 }; # 100 "/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 }; # 120 "/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 }; # 155 "/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 }; # 193 "/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); # 238 "/usr/include/pthread.h" 3 4 extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return, clockid_t __clockid, 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))); # 470 "/usr/include/pthread.h" 3 4 extern int pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); # 482 "/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__)); # 516 "/usr/include/pthread.h" 3 4 struct __pthread_cleanup_frame { void (*__cancel_routine) (void *); void *__cancel_arg; int __do_it; int __cancel_type; }; # 656 "/usr/include/pthread.h" 3 4 extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf) ; # 668 "/usr/include/pthread.h" 3 4 extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf) ; # 691 "/usr/include/pthread.h" 3 4 extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf) ; # 704 "/usr/include/pthread.h" 3 4 extern void __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *__buf) ; extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf) __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_clocklock (pthread_mutex_t *__restrict __mutex, clockid_t __clockid, const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 3))); 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))); # 789 "/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))); # 871 "/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_clockrdlock (pthread_rwlock_t *__restrict __rwlock, clockid_t __clockid, const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 3))); 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_clockwrlock (pthread_rwlock_t *__restrict __rwlock, clockid_t __clockid, const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 3))); 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))); # 997 "/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))); # 1010 "/usr/include/pthread.h" 3 4 extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex, __clockid_t __clock_id, const struct timespec *__restrict __abstime) __attribute__ ((__nonnull__ (1, 2, 4))); 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))); # 1056 "/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))); # 1123 "/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))); # 1157 "/usr/include/pthread.h" 3 4 extern int pthread_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void)) throw (); extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__leaf__)) pthread_equal (pthread_t __thread1, pthread_t __thread2) throw () { return __thread1 == __thread2; } } # 36 "/usr/include/c++/10/x86_64-redhat-linux/bits/gthr-default.h" 2 3 # 47 "/usr/include/c++/10/x86_64-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; # 102 "/usr/include/c++/10/x86_64-redhat-linux/bits/gthr-default.h" 3 static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"), __copy__ (pthread_once))); static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"), __copy__ (pthread_getspecific))); static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"), __copy__ (pthread_setspecific))); static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"), __copy__ (pthread_create))); static __typeof(pthread_join) __gthrw_pthread_join __attribute__ ((__weakref__("pthread_join"), __copy__ (pthread_join))); static __typeof(pthread_equal) __gthrw_pthread_equal __attribute__ ((__weakref__("pthread_equal"), __copy__ (pthread_equal))); static __typeof(pthread_self) __gthrw_pthread_self __attribute__ ((__weakref__("pthread_self"), __copy__ (pthread_self))); static __typeof(pthread_detach) __gthrw_pthread_detach __attribute__ ((__weakref__("pthread_detach"), __copy__ (pthread_detach))); static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"), __copy__ (pthread_cancel))); static __typeof(sched_yield) __gthrw_sched_yield __attribute__ ((__weakref__("sched_yield"), __copy__ (sched_yield))); static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"), __copy__ (pthread_mutex_lock))); static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"), __copy__ (pthread_mutex_trylock))); static __typeof(pthread_mutex_timedlock) __gthrw_pthread_mutex_timedlock __attribute__ ((__weakref__("pthread_mutex_timedlock"), __copy__ (pthread_mutex_timedlock))); static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"), __copy__ (pthread_mutex_unlock))); static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"), __copy__ (pthread_mutex_init))); static __typeof(pthread_mutex_destroy) __gthrw_pthread_mutex_destroy __attribute__ ((__weakref__("pthread_mutex_destroy"), __copy__ (pthread_mutex_destroy))); static __typeof(pthread_cond_init) __gthrw_pthread_cond_init __attribute__ ((__weakref__("pthread_cond_init"), __copy__ (pthread_cond_init))); static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast"), __copy__ (pthread_cond_broadcast))); static __typeof(pthread_cond_signal) __gthrw_pthread_cond_signal __attribute__ ((__weakref__("pthread_cond_signal"), __copy__ (pthread_cond_signal))); static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait"), __copy__ (pthread_cond_wait))); static __typeof(pthread_cond_timedwait) __gthrw_pthread_cond_timedwait __attribute__ ((__weakref__("pthread_cond_timedwait"), __copy__ (pthread_cond_timedwait))); static __typeof(pthread_cond_destroy) __gthrw_pthread_cond_destroy __attribute__ ((__weakref__("pthread_cond_destroy"), __copy__ (pthread_cond_destroy))); static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"), __copy__ (pthread_key_create))); static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"), __copy__ (pthread_key_delete))); static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"), __copy__ (pthread_mutexattr_init))); static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"), __copy__ (pthread_mutexattr_settype))); static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"), __copy__ (pthread_mutexattr_destroy))); # 237 "/usr/include/c++/10/x86_64-redhat-linux/bits/gthr-default.h" 3 static __typeof(pthread_key_create) __gthrw___pthread_key_create __attribute__ ((__weakref__("__pthread_key_create"), __copy__ (pthread_key_create))); # 247 "/usr/include/c++/10/x86_64-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; } # 659 "/usr/include/c++/10/x86_64-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; } # 808 "/usr/include/c++/10/x86_64-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); } # 850 "/usr/include/c++/10/x86_64-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++/10/x86_64-redhat-linux/bits/gthr.h" 2 3 #pragma GCC visibility pop # 36 "/usr/include/c++/10/ext/atomicity.h" 2 3 # 1 "/usr/include/c++/10/x86_64-redhat-linux/bits/atomic_word.h" 1 3 # 32 "/usr/include/c++/10/x86_64-redhat-linux/bits/atomic_word.h" 3 typedef int _Atomic_word; # 37 "/usr/include/c++/10/ext/atomicity.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { inline _Atomic_word __attribute__((__always_inline__)) __exchange_and_add(volatile _Atomic_word* __mem, int __val) { return __atomic_fetch_add(__mem, __val, 4); } inline void __attribute__((__always_inline__)) __atomic_add(volatile _Atomic_word* __mem, int __val) { __atomic_fetch_add(__mem, __val, 4); } # 64 "/usr/include/c++/10/ext/atomicity.h" 3 inline _Atomic_word __attribute__((__always_inline__)) __exchange_and_add_single(_Atomic_word* __mem, int __val) { _Atomic_word __result = *__mem; *__mem += __val; return __result; } inline void __attribute__((__always_inline__)) __atomic_add_single(_Atomic_word* __mem, int __val) { *__mem += __val; } inline _Atomic_word __attribute__ ((__always_inline__)) __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) { if (__gthread_active_p()) return __exchange_and_add(__mem, __val); return __exchange_and_add_single(__mem, __val); } inline void __attribute__ ((__always_inline__)) __atomic_add_dispatch(_Atomic_word* __mem, int __val) { if (__gthread_active_p()) { __atomic_add(__mem, __val); return; } __atomic_add_single(__mem, __val); } } # 40 "/usr/include/c++/10/bits/basic_string.h" 2 3 # 52 "/usr/include/c++/10/bits/basic_string.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace __cxx11 { # 76 "/usr/include/c++/10/bits/basic_string.h" 3 template class basic_string { typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template rebind<_CharT>::other _Char_alloc_type; typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; public: typedef _Traits traits_type; typedef typename _Traits::char_type value_type; typedef _Char_alloc_type allocator_type; typedef typename _Alloc_traits::size_type size_type; typedef typename _Alloc_traits::difference_type difference_type; typedef typename _Alloc_traits::reference reference; typedef typename _Alloc_traits::const_reference const_reference; typedef typename _Alloc_traits::pointer pointer; typedef typename _Alloc_traits::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; static const size_type npos = static_cast(-1); protected: typedef const_iterator __const_iterator; private: # 150 "/usr/include/c++/10/bits/basic_string.h" 3 struct _Alloc_hider : allocator_type { _Alloc_hider(pointer __dat, const _Alloc& __a) : allocator_type(__a), _M_p(__dat) { } _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc()) : allocator_type(std::move(__a)), _M_p(__dat) { } pointer _M_p; }; _Alloc_hider _M_dataplus; size_type _M_string_length; enum { _S_local_capacity = 15 / sizeof(_CharT) }; union { _CharT _M_local_buf[_S_local_capacity + 1]; size_type _M_allocated_capacity; }; void _M_data(pointer __p) { _M_dataplus._M_p = __p; } void _M_length(size_type __length) { _M_string_length = __length; } pointer _M_data() const { return _M_dataplus._M_p; } pointer _M_local_data() { return std::pointer_traits::pointer_to(*_M_local_buf); } const_pointer _M_local_data() const { return std::pointer_traits::pointer_to(*_M_local_buf); } void _M_capacity(size_type __capacity) { _M_allocated_capacity = __capacity; } void _M_set_length(size_type __n) { _M_length(__n); traits_type::assign(_M_data()[__n], _CharT()); } bool _M_is_local() const { return _M_data() == _M_local_data(); } pointer _M_create(size_type&, size_type); void _M_dispose() { if (!_M_is_local()) _M_destroy(_M_allocated_capacity); } void _M_destroy(size_type __size) throw() { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); } template void _M_construct_aux(_InIterator __beg, _InIterator __end, std::__false_type) { typedef typename iterator_traits<_InIterator>::iterator_category _Tag; _M_construct(__beg, __end, _Tag()); } template void _M_construct_aux(_Integer __beg, _Integer __end, std::__true_type) { _M_construct_aux_2(static_cast(__beg), __end); } void _M_construct_aux_2(size_type __req, _CharT __c) { _M_construct(__req, __c); } template void _M_construct(_InIterator __beg, _InIterator __end) { typedef typename std::__is_integer<_InIterator>::__type _Integral; _M_construct_aux(__beg, __end, _Integral()); } template void _M_construct(_InIterator __beg, _InIterator __end, std::input_iterator_tag); template void _M_construct(_FwdIterator __beg, _FwdIterator __end, std::forward_iterator_tag); void _M_construct(size_type __req, _CharT __c); allocator_type& _M_get_allocator() { return _M_dataplus; } const allocator_type& _M_get_allocator() const { return _M_dataplus; } private: # 309 "/usr/include/c++/10/bits/basic_string.h" 3 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 _S_copy(_CharT* __d, const _CharT* __s, size_type __n) { if (__n == 1) traits_type::assign(*__d, *__s); else traits_type::copy(__d, __s, __n); } static void _S_move(_CharT* __d, const _CharT* __s, size_type __n) { if (__n == 1) traits_type::assign(*__d, *__s); else traits_type::move(__d, __s, __n); } static void _S_assign(_CharT* __d, size_type __n, _CharT __c) { 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) { for (; __k1 != __k2; ++__k1, (void)++__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 { _S_copy(__p, __k1, __k2 - __k1); } static void _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) noexcept { _S_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_assign(const basic_string&); void _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, size_type __len2); void _M_erase(size_type __pos, size_type __n); public: basic_string() noexcept(is_nothrow_default_constructible<_Alloc>::value) : _M_dataplus(_M_local_data()) { _M_set_length(0); } explicit basic_string(const _Alloc& __a) noexcept : _M_dataplus(_M_local_data(), __a) { _M_set_length(0); } basic_string(const basic_string& __str) : _M_dataplus(_M_local_data(), _Alloc_traits::_S_select_on_copy(__str._M_get_allocator())) { _M_construct(__str._M_data(), __str._M_data() + __str.length()); } # 461 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string(const basic_string& __str, size_type __pos, const _Alloc& __a = _Alloc()) : _M_dataplus(_M_local_data(), __a) { const _CharT* __start = __str._M_data() + __str._M_check(__pos, "basic_string::basic_string"); _M_construct(__start, __start + __str._M_limit(__pos, npos)); } basic_string(const basic_string& __str, size_type __pos, size_type __n) : _M_dataplus(_M_local_data()) { const _CharT* __start = __str._M_data() + __str._M_check(__pos, "basic_string::basic_string"); _M_construct(__start, __start + __str._M_limit(__pos, __n)); } # 492 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string(const basic_string& __str, size_type __pos, size_type __n, const _Alloc& __a) : _M_dataplus(_M_local_data(), __a) { const _CharT* __start = __str._M_data() + __str._M_check(__pos, "string::string"); _M_construct(__start, __start + __str._M_limit(__pos, __n)); } # 510 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string(const _CharT* __s, size_type __n, const _Alloc& __a = _Alloc()) : _M_dataplus(_M_local_data(), __a) { _M_construct(__s, __s + __n); } # 525 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) : _M_dataplus(_M_local_data(), __a) { _M_construct(__s, __s ? __s + traits_type::length(__s) : __s+npos); } # 540 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) : _M_dataplus(_M_local_data(), __a) { _M_construct(__n, __c); } # 552 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string(basic_string&& __str) noexcept : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator())) { if (__str._M_is_local()) { traits_type::copy(_M_local_buf, __str._M_local_buf, _S_local_capacity + 1); } else { _M_data(__str._M_data()); _M_capacity(__str._M_allocated_capacity); } _M_length(__str.length()); __str._M_data(__str._M_local_data()); __str._M_set_length(0); } basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) : _M_dataplus(_M_local_data(), __a) { _M_construct(__l.begin(), __l.end()); } basic_string(const basic_string& __str, const _Alloc& __a) : _M_dataplus(_M_local_data(), __a) { _M_construct(__str.begin(), __str.end()); } basic_string(basic_string&& __str, const _Alloc& __a) noexcept(_Alloc_traits::_S_always_equal()) : _M_dataplus(_M_local_data(), __a) { if (__str._M_is_local()) { traits_type::copy(_M_local_buf, __str._M_local_buf, _S_local_capacity + 1); _M_length(__str.length()); __str._M_set_length(0); } else if (_Alloc_traits::_S_always_equal() || __str.get_allocator() == __a) { _M_data(__str._M_data()); _M_length(__str.length()); _M_capacity(__str._M_allocated_capacity); __str._M_data(__str._M_local_buf); __str._M_set_length(0); } else _M_construct(__str.begin(), __str.end()); } # 620 "/usr/include/c++/10/bits/basic_string.h" 3 template> basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a = _Alloc()) : _M_dataplus(_M_local_data(), __a) { _M_construct(__beg, __end); } # 657 "/usr/include/c++/10/bits/basic_string.h" 3 ~basic_string() { _M_dispose(); } basic_string& operator=(const basic_string& __str) { return this->assign(__str); } basic_string& operator=(const _CharT* __s) { return this->assign(__s); } # 685 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& operator=(_CharT __c) { this->assign(1, __c); return *this; } # 702 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& operator=(basic_string&& __str) noexcept(_Alloc_traits::_S_nothrow_move()) { if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign() && !_Alloc_traits::_S_always_equal() && _M_get_allocator() != __str._M_get_allocator()) { _M_destroy(_M_allocated_capacity); _M_data(_M_local_data()); _M_set_length(0); } std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator()); if (__str._M_is_local()) { if (__str.size()) this->_S_copy(_M_data(), __str._M_data(), __str.size()); _M_set_length(__str.size()); } else if (_Alloc_traits::_S_propagate_on_move_assign() || _Alloc_traits::_S_always_equal() || _M_get_allocator() == __str._M_get_allocator()) { pointer __data = nullptr; size_type __capacity; if (!_M_is_local()) { if (_Alloc_traits::_S_always_equal()) { __data = _M_data(); __capacity = _M_allocated_capacity; } else _M_destroy(_M_allocated_capacity); } _M_data(__str._M_data()); _M_length(__str.length()); _M_capacity(__str._M_allocated_capacity); if (__data) { __str._M_data(__data); __str._M_capacity(__capacity); } else __str._M_data(__str._M_local_buf); } else assign(__str); __str.clear(); return *this; } basic_string& operator=(initializer_list<_CharT> __l) { this->assign(__l.begin(), __l.size()); return *this; } # 796 "/usr/include/c++/10/bits/basic_string.h" 3 iterator begin() noexcept { return iterator(_M_data()); } const_iterator begin() const noexcept { return const_iterator(_M_data()); } iterator end() noexcept { return iterator(_M_data() + this->size()); } const_iterator end() const noexcept { return const_iterator(_M_data() + this->size()); } reverse_iterator rbegin() noexcept { return reverse_iterator(this->end()); } const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(this->end()); } reverse_iterator rend() noexcept { 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_string_length; } size_type length() const noexcept { return _M_string_length; } size_type max_size() const noexcept { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; } # 925 "/usr/include/c++/10/bits/basic_string.h" 3 void resize(size_type __n, _CharT __c); # 938 "/usr/include/c++/10/bits/basic_string.h" 3 void resize(size_type __n) { this->resize(__n, _CharT()); } void shrink_to_fit() noexcept { # 956 "/usr/include/c++/10/bits/basic_string.h" 3 } size_type capacity() const noexcept { return _M_is_local() ? size_type(_S_local_capacity) : _M_allocated_capacity; } # 987 "/usr/include/c++/10/bits/basic_string.h" 3 void reserve(size_type __res_arg = 0); void clear() noexcept { _M_set_length(0); } bool empty() const noexcept { return this->size() == 0; } # 1016 "/usr/include/c++/10/bits/basic_string.h" 3 const_reference operator[] (size_type __pos) const noexcept { ; return _M_data()[__pos]; } # 1033 "/usr/include/c++/10/bits/basic_string.h" 3 reference operator[](size_type __pos) { ; ; return _M_data()[__pos]; } # 1054 "/usr/include/c++/10/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]; } # 1075 "/usr/include/c++/10/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()); return _M_data()[__n]; } reference front() noexcept { ; return operator[](0); } const_reference front() const noexcept { ; return operator[](0); } reference back() noexcept { ; return operator[](this->size() - 1); } const_reference back() const noexcept { ; return operator[](this->size() - 1); } # 1138 "/usr/include/c++/10/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()); } # 1191 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& append(const basic_string& __str) { return _M_append(__str._M_data(), __str.size()); } # 1208 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& append(const basic_string& __str, size_type __pos, size_type __n = npos) { return _M_append(__str._M_data() + __str._M_check(__pos, "basic_string::append"), __str._M_limit(__pos, __n)); } basic_string& append(const _CharT* __s, size_type __n) { ; _M_check_length(size_type(0), __n, "basic_string::append"); return _M_append(__s, __n); } basic_string& append(const _CharT* __s) { ; const size_type __n = traits_type::length(__s); _M_check_length(size_type(0), __n, "basic_string::append"); return _M_append(__s, __n); } # 1250 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& append(size_type __n, _CharT __c) { return _M_replace_aux(this->size(), size_type(0), __n, __c); } basic_string& append(initializer_list<_CharT> __l) { return this->append(__l.begin(), __l.size()); } # 1274 "/usr/include/c++/10/bits/basic_string.h" 3 template> basic_string& append(_InputIterator __first, _InputIterator __last) { return this->replace(end(), end(), __first, __last); } # 1319 "/usr/include/c++/10/bits/basic_string.h" 3 void push_back(_CharT __c) { const size_type __size = this->size(); if (__size + 1 > this->capacity()) this->_M_mutate(__size, size_type(0), 0, size_type(1)); traits_type::assign(this->_M_data()[__size], __c); this->_M_set_length(__size + 1); } basic_string& assign(const basic_string& __str) { if (_Alloc_traits::_S_propagate_on_copy_assign()) { if (!_Alloc_traits::_S_always_equal() && !_M_is_local() && _M_get_allocator() != __str._M_get_allocator()) { if (__str.size() <= _S_local_capacity) { _M_destroy(_M_allocated_capacity); _M_data(_M_local_data()); _M_set_length(0); } else { const auto __len = __str.size(); auto __alloc = __str._M_get_allocator(); auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1); _M_destroy(_M_allocated_capacity); _M_data(__ptr); _M_capacity(__len); _M_set_length(__len); } } std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator()); } this->_M_assign(__str); return *this; } # 1379 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& assign(basic_string&& __str) noexcept(_Alloc_traits::_S_nothrow_move()) { return *this = std::move(__str); } # 1402 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& assign(const basic_string& __str, size_type __pos, size_type __n = npos) { return _M_replace(size_type(0), this->size(), __str._M_data() + __str._M_check(__pos, "basic_string::assign"), __str._M_limit(__pos, __n)); } # 1418 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& assign(const _CharT* __s, size_type __n) { ; return _M_replace(size_type(0), this->size(), __s, __n); } # 1434 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& assign(const _CharT* __s) { ; return _M_replace(size_type(0), this->size(), __s, traits_type::length(__s)); } # 1451 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& assign(size_type __n, _CharT __c) { return _M_replace_aux(size_type(0), this->size(), __n, __c); } # 1464 "/usr/include/c++/10/bits/basic_string.h" 3 template> basic_string& assign(_InputIterator __first, _InputIterator __last) { return this->replace(begin(), end(), __first, __last); } basic_string& assign(initializer_list<_CharT> __l) { return this->assign(__l.begin(), __l.size()); } # 1533 "/usr/include/c++/10/bits/basic_string.h" 3 iterator insert(const_iterator __p, size_type __n, _CharT __c) { ; const size_type __pos = __p - begin(); this->replace(__p, __p, __n, __c); return iterator(this->_M_data() + __pos); } # 1575 "/usr/include/c++/10/bits/basic_string.h" 3 template> iterator insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) { ; const size_type __pos = __p - begin(); this->replace(__p, __p, __beg, __end); return iterator(this->_M_data() + __pos); } # 1611 "/usr/include/c++/10/bits/basic_string.h" 3 iterator insert(const_iterator __p, initializer_list<_CharT> __l) { return this->insert(__p, __l.begin(), __l.end()); } # 1638 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& insert(size_type __pos1, const basic_string& __str) { return this->replace(__pos1, size_type(0), __str._M_data(), __str.size()); } # 1661 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n = npos) { return this->replace(__pos1, size_type(0), __str._M_data() + __str._M_check(__pos2, "basic_string::insert"), __str._M_limit(__pos2, __n)); } # 1684 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& insert(size_type __pos, const _CharT* __s, size_type __n) { return this->replace(__pos, size_type(0), __s, __n); } # 1703 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& insert(size_type __pos, const _CharT* __s) { ; return this->replace(__pos, size_type(0), __s, traits_type::length(__s)); } # 1727 "/usr/include/c++/10/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); } # 1745 "/usr/include/c++/10/bits/basic_string.h" 3 iterator insert(__const_iterator __p, _CharT __c) { ; const size_type __pos = __p - begin(); _M_replace_aux(__pos, size_type(0), size_type(1), __c); return iterator(_M_data() + __pos); } # 1805 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& erase(size_type __pos = 0, size_type __n = npos) { _M_check(__pos, "basic_string::erase"); if (__n == npos) this->_M_set_length(__pos); else if (__n != 0) this->_M_erase(__pos, _M_limit(__pos, __n)); return *this; } # 1824 "/usr/include/c++/10/bits/basic_string.h" 3 iterator erase(__const_iterator __position) { ; const size_type __pos = __position - begin(); this->_M_erase(__pos, size_type(1)); return iterator(_M_data() + __pos); } # 1843 "/usr/include/c++/10/bits/basic_string.h" 3 iterator erase(__const_iterator __first, __const_iterator __last) { ; const size_type __pos = __first - begin(); if (__last == end()) this->_M_set_length(__pos); else this->_M_erase(__pos, __last - __first); return iterator(this->_M_data() + __pos); } void pop_back() noexcept { ; _M_erase(size() - 1, 1); } # 1887 "/usr/include/c++/10/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()); } # 1909 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2 = npos) { return this->replace(__pos1, __n1, __str._M_data() + __str._M_check(__pos2, "basic_string::replace"), __str._M_limit(__pos2, __n2)); } # 1934 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2) { ; return _M_replace(_M_check(__pos, "basic_string::replace"), _M_limit(__pos, __n1), __s, __n2); } # 1959 "/usr/include/c++/10/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)); } # 1983 "/usr/include/c++/10/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); } # 2001 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& replace(__const_iterator __i1, __const_iterator __i2, const basic_string& __str) { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } # 2021 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s, size_type __n) { ; return this->replace(__i1 - begin(), __i2 - __i1, __s, __n); } # 2043 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s) { ; return this->replace(__i1, __i2, __s, traits_type::length(__s)); } # 2064 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& replace(__const_iterator __i1, __const_iterator __i2, size_type __n, _CharT __c) { ; return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c); } # 2089 "/usr/include/c++/10/bits/basic_string.h" 3 template> basic_string& replace(const_iterator __i1, const_iterator __i2, _InputIterator __k1, _InputIterator __k2) { ; ; return this->_M_replace_dispatch(__i1, __i2, __k1, __k2, std::__false_type()); } # 2121 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& replace(__const_iterator __i1, __const_iterator __i2, _CharT* __k1, _CharT* __k2) { ; ; return this->replace(__i1 - begin(), __i2 - __i1, __k1, __k2 - __k1); } basic_string& replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __k1, const _CharT* __k2) { ; ; return this->replace(__i1 - begin(), __i2 - __i1, __k1, __k2 - __k1); } basic_string& replace(__const_iterator __i1, __const_iterator __i2, iterator __k1, iterator __k2) { ; ; return this->replace(__i1 - begin(), __i2 - __i1, __k1.base(), __k2 - __k1); } basic_string& replace(__const_iterator __i1, __const_iterator __i2, const_iterator __k1, const_iterator __k2) { ; ; return this->replace(__i1 - begin(), __i2 - __i1, __k1.base(), __k2 - __k1); } # 2180 "/usr/include/c++/10/bits/basic_string.h" 3 basic_string& replace(const_iterator __i1, const_iterator __i2, initializer_list<_CharT> __l) { return this->replace(__i1, __i2, __l.begin(), __l.size()); } # 2240 "/usr/include/c++/10/bits/basic_string.h" 3 private: template basic_string& _M_replace_dispatch(const_iterator __i1, const_iterator __i2, _Integer __n, _Integer __val, __true_type) { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); } template basic_string& _M_replace_dispatch(const_iterator __i1, const_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(size_type __pos, size_type __len1, const _CharT* __s, const size_type __len2); basic_string& _M_append(const _CharT* __s, size_type __n); public: # 2278 "/usr/include/c++/10/bits/basic_string.h" 3 size_type copy(_CharT* __s, size_type __n, size_type __pos = 0) const; # 2288 "/usr/include/c++/10/bits/basic_string.h" 3 void swap(basic_string& __s) noexcept; # 2298 "/usr/include/c++/10/bits/basic_string.h" 3 const _CharT* c_str() const noexcept { return _M_data(); } # 2310 "/usr/include/c++/10/bits/basic_string.h" 3 const _CharT* data() const noexcept { return _M_data(); } # 2329 "/usr/include/c++/10/bits/basic_string.h" 3 allocator_type get_allocator() const noexcept { return _M_get_allocator(); } # 2345 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find(const _CharT* __s, size_type __pos, size_type __n) const noexcept; # 2359 "/usr/include/c++/10/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()); } # 2391 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find(const _CharT* __s, size_type __pos = 0) const noexcept { ; return this->find(__s, __pos, traits_type::length(__s)); } # 2408 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find(_CharT __c, size_type __pos = 0) const noexcept; # 2421 "/usr/include/c++/10/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()); } # 2455 "/usr/include/c++/10/bits/basic_string.h" 3 size_type rfind(const _CharT* __s, size_type __pos, size_type __n) const noexcept; # 2469 "/usr/include/c++/10/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)); } # 2486 "/usr/include/c++/10/bits/basic_string.h" 3 size_type rfind(_CharT __c, size_type __pos = npos) const noexcept; # 2500 "/usr/include/c++/10/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()); } # 2535 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find_first_of(const _CharT* __s, size_type __pos, size_type __n) const noexcept; # 2549 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find_first_of(const _CharT* __s, size_type __pos = 0) const noexcept { ; return this->find_first_of(__s, __pos, traits_type::length(__s)); } # 2569 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find_first_of(_CharT __c, size_type __pos = 0) const noexcept { return this->find(__c, __pos); } # 2584 "/usr/include/c++/10/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()); } # 2619 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find_last_of(const _CharT* __s, size_type __pos, size_type __n) const noexcept; # 2633 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find_last_of(const _CharT* __s, size_type __pos = npos) const noexcept { ; return this->find_last_of(__s, __pos, traits_type::length(__s)); } # 2653 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find_last_of(_CharT __c, size_type __pos = npos) const noexcept { return this->rfind(__c, __pos); } # 2667 "/usr/include/c++/10/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()); } # 2702 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const noexcept; # 2716 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find_first_not_of(const _CharT* __s, size_type __pos = 0) const noexcept { ; return this->find_first_not_of(__s, __pos, traits_type::length(__s)); } # 2734 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find_first_not_of(_CharT __c, size_type __pos = 0) const noexcept; # 2749 "/usr/include/c++/10/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()); } # 2784 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const noexcept; # 2798 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find_last_not_of(const _CharT* __s, size_type __pos = npos) const noexcept { ; return this->find_last_not_of(__s, __pos, traits_type::length(__s)); } # 2816 "/usr/include/c++/10/bits/basic_string.h" 3 size_type find_last_not_of(_CharT __c, size_type __pos = npos) const noexcept; # 2832 "/usr/include/c++/10/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); } # 2851 "/usr/include/c++/10/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; } # 2944 "/usr/include/c++/10/bits/basic_string.h" 3 int compare(size_type __pos, size_type __n, const basic_string& __str) const; # 2970 "/usr/include/c++/10/bits/basic_string.h" 3 int compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2 = npos) const; # 2988 "/usr/include/c++/10/bits/basic_string.h" 3 int compare(const _CharT* __s) const noexcept; # 3012 "/usr/include/c++/10/bits/basic_string.h" 3 int compare(size_type __pos, size_type __n1, const _CharT* __s) const; # 3039 "/usr/include/c++/10/bits/basic_string.h" 3 int compare(size_type __pos, size_type __n1, const _CharT* __s, size_type __n2) const; # 3070 "/usr/include/c++/10/bits/basic_string.h" 3 template friend class basic_stringbuf; }; } # 6020 "/usr/include/c++/10/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) { using _Alloc_traits = allocator_traits<_Alloc>; bool __use_rhs = false; if (typename _Alloc_traits::is_always_equal{}) __use_rhs = true; else if (__lhs.get_allocator() == __rhs.get_allocator()) __use_rhs = true; if (__use_rhs) { const auto __size = __lhs.size() + __rhs.size(); if (__size > __lhs.capacity() && __size <= __rhs.capacity()) return std::move(__rhs.insert(0, __lhs)); } return 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)); } # 6151 "/usr/include/c++/10/bits/basic_string.h" 3 template inline bool operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) noexcept { 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) noexcept { 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; } # 6198 "/usr/include/c++/10/bits/basic_string.h" 3 template inline bool operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) noexcept { 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); } # 6236 "/usr/include/c++/10/bits/basic_string.h" 3 template inline bool operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) noexcept { 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; } # 6274 "/usr/include/c++/10/bits/basic_string.h" 3 template inline bool operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) noexcept { 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; } # 6312 "/usr/include/c++/10/bits/basic_string.h" 3 template inline bool operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) noexcept { 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; } # 6350 "/usr/include/c++/10/bits/basic_string.h" 3 template inline bool operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) noexcept { 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; } # 6388 "/usr/include/c++/10/bits/basic_string.h" 3 template inline void swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, basic_string<_CharT, _Traits, _Alloc>& __rhs) noexcept(noexcept(__lhs.swap(__rhs))) { __lhs.swap(__rhs); } # 6408 "/usr/include/c++/10/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); # 6426 "/usr/include/c++/10/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()); } # 6449 "/usr/include/c++/10/bits/basic_string.h" 3 template basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); # 6466 "/usr/include/c++/10/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++/10/ext/string_conversions.h" 1 3 # 32 "/usr/include/c++/10/ext/string_conversions.h" 3 # 33 "/usr/include/c++/10/ext/string_conversions.h" 3 # 41 "/usr/include/c++/10/ext/string_conversions.h" 3 # 1 "/usr/include/c++/10/cstdlib" 1 3 # 39 "/usr/include/c++/10/cstdlib" 3 # 40 "/usr/include/c++/10/cstdlib" 3 # 75 "/usr/include/c++/10/cstdlib" 3 # 1 "/usr/include/stdlib.h" 1 3 4 # 25 "/usr/include/stdlib.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 26 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 32 "/usr/include/stdlib.h" 2 3 4 extern "C" { # 1 "/usr/include/bits/waitflags.h" 1 3 4 # 40 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitstatus.h" 1 3 4 # 41 "/usr/include/stdlib.h" 2 3 4 # 58 "/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; # 97 "/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))); # 140 "/usr/include/stdlib.h" 3 4 extern _Float32 strtof32 (const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); extern _Float64 strtof64 (const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); extern _Float128 strtof128 (const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); extern _Float32x strtof32x (const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); extern _Float64x strtof64x (const char *__restrict __nptr, char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); # 176 "/usr/include/stdlib.h" 3 4 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))); extern int strfromd (char *__dest, size_t __size, const char *__format, double __f) throw () __attribute__ ((__nonnull__ (3))); extern int strfromf (char *__dest, size_t __size, const char *__format, float __f) throw () __attribute__ ((__nonnull__ (3))); extern int strfroml (char *__dest, size_t __size, const char *__format, long double __f) throw () __attribute__ ((__nonnull__ (3))); # 232 "/usr/include/stdlib.h" 3 4 extern int strfromf32 (char *__dest, size_t __size, const char * __format, _Float32 __f) throw () __attribute__ ((__nonnull__ (3))); extern int strfromf64 (char *__dest, size_t __size, const char * __format, _Float64 __f) throw () __attribute__ ((__nonnull__ (3))); extern int strfromf128 (char *__dest, size_t __size, const char * __format, _Float128 __f) throw () __attribute__ ((__nonnull__ (3))); extern int strfromf32x (char *__dest, size_t __size, const char * __format, _Float32x __f) throw () __attribute__ ((__nonnull__ (3))); extern int strfromf64x (char *__dest, size_t __size, const char * __format, _Float64x __f) throw () __attribute__ ((__nonnull__ (3))); # 274 "/usr/include/stdlib.h" 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))); # 316 "/usr/include/stdlib.h" 3 4 extern _Float32 strtof32_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))); extern _Float64 strtof64_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))); extern _Float128 strtof128_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))); extern _Float32x strtof32x_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))); extern _Float64x strtof64x_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))); # 360 "/usr/include/stdlib.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__leaf__)) atoi (const char *__nptr) throw () { return (int) strtol (__nptr, (char **) __null, 10); } extern __inline __attribute__ ((__gnu_inline__)) long int __attribute__ ((__leaf__)) atol (const char *__nptr) throw () { return strtol (__nptr, (char **) __null, 10); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int __attribute__ ((__leaf__)) atoll (const char *__nptr) throw () { return strtoll (__nptr, (char **) __null, 10); } # 385 "/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 "/usr/include/sys/types.h" 1 3 4 # 27 "/usr/include/sys/types.h" 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 __ino64_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; typedef __off64_t off_t; typedef __off64_t off64_t; # 103 "/usr/include/sys/types.h" 3 4 typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 134 "/usr/include/sys/types.h" 3 4 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 145 "/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; typedef __uint8_t u_int8_t; typedef __uint16_t u_int16_t; typedef __uint32_t u_int32_t; typedef __uint64_t u_int64_t; typedef int register_t __attribute__ ((__mode__ (__word__))); # 176 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 35 "/usr/include/endian.h" 3 4 # 1 "/usr/include/bits/byteswap.h" 1 3 4 # 33 "/usr/include/bits/byteswap.h" 3 4 static __inline __uint16_t __bswap_16 (__uint16_t __bsx) { return __builtin_bswap16 (__bsx); } static __inline __uint32_t __bswap_32 (__uint32_t __bsx) { return __builtin_bswap32 (__bsx); } # 69 "/usr/include/bits/byteswap.h" 3 4 __extension__ static __inline __uint64_t __bswap_64 (__uint64_t __bsx) { return __builtin_bswap64 (__bsx); } # 36 "/usr/include/endian.h" 2 3 4 # 1 "/usr/include/bits/uintn-identity.h" 1 3 4 # 32 "/usr/include/bits/uintn-identity.h" 3 4 static __inline __uint16_t __uint16_identity (__uint16_t __x) { return __x; } static __inline __uint32_t __uint32_identity (__uint32_t __x) { return __x; } static __inline __uint64_t __uint64_identity (__uint64_t __x) { return __x; } # 37 "/usr/include/endian.h" 2 3 4 # 177 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 30 "/usr/include/sys/select.h" 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/types/sigset_t.h" 1 3 4 # 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 5 "/usr/include/bits/types/sigset_t.h" 2 3 4 typedef __sigset_t sigset_t; # 34 "/usr/include/sys/select.h" 2 3 4 # 49 "/usr/include/sys/select.h" 3 4 typedef long int __fd_mask; # 59 "/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; # 91 "/usr/include/sys/select.h" 3 4 extern "C" { # 101 "/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); # 113 "/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"))); # 124 "/usr/include/sys/select.h" 2 3 4 } # 180 "/usr/include/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; # 205 "/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt_t; typedef __fsblkcnt64_t fsblkcnt_t; typedef __fsfilcnt64_t fsfilcnt_t; typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 230 "/usr/include/sys/types.h" 3 4 } # 395 "/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__ ((__alloc_size__ (1))) __attribute__ ((__warn_unused_result__)); extern void *calloc (size_t __nmemb, size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) __attribute__ ((__warn_unused_result__)); extern void *realloc (void *__ptr, size_t __size) throw () __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) throw () __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2, 3))); extern void free (void *__ptr) throw (); # 1 "/usr/include/alloca.h" 1 3 4 # 24 "/usr/include/alloca.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 25 "/usr/include/alloca.h" 2 3 4 extern "C" { extern void *alloca (size_t __size) throw (); } # 569 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1))) __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))); # 610 "/usr/include/stdlib.h" 3 4 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 (); # 675 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))); # 691 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __asm__ ("" "mkstemp64") __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 713 "/usr/include/stdlib.h" 3 4 extern int mkstemps (char *__template, int __suffixlen) __asm__ ("" "mkstemps64") __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int mkstemps64 (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 731 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 745 "/usr/include/stdlib.h" 3 4 extern int mkostemp (char *__template, int __flags) __asm__ ("" "mkostemp64") __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 766 "/usr/include/stdlib.h" 3 4 extern int mkostemps (char *__template, int __suffixlen, int __flags) __asm__ ("" "mkostemps64") __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern int mkostemps64 (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); # 784 "/usr/include/stdlib.h" 3 4 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__)); # 800 "/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__)); # 1 "/usr/include/bits/stdlib-bsearch.h" 1 3 4 # 19 "/usr/include/bits/stdlib-bsearch.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) void * bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) { size_t __l, __u, __idx; const void *__p; int __comparison; __l = 0; __u = __nmemb; while (__l < __u) { __idx = (__l + __u) / 2; __p = (void *) (((const char *) __base) + (__idx * __size)); __comparison = (*__compar) (__key, __p); if (__comparison < 0) __u = __idx; else if (__comparison > 0) __l = __idx + 1; else return (void *) __p; } return __null; } # 826 "/usr/include/stdlib.h" 2 3 4 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__)); # 872 "/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__)); # 957 "/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 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))); # 1013 "/usr/include/stdlib.h" 3 4 # 1 "/usr/include/bits/stdlib-float.h" 1 3 4 # 24 "/usr/include/bits/stdlib-float.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) double __attribute__ ((__leaf__)) atof (const char *__nptr) throw () { return strtod (__nptr, (char **) __null); } # 1014 "/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); } # 1018 "/usr/include/stdlib.h" 2 3 4 } # 76 "/usr/include/c++/10/cstdlib" 2 3 # 1 "/usr/include/c++/10/bits/std_abs.h" 1 3 # 33 "/usr/include/c++/10/bits/std_abs.h" 3 # 34 "/usr/include/c++/10/bits/std_abs.h" 3 # 46 "/usr/include/c++/10/bits/std_abs.h" 3 extern "C++" { namespace std __attribute__ ((__visibility__ ("default"))) { using ::abs; inline long abs(long __i) { return __builtin_labs(__i); } inline long long abs(long long __x) { return __builtin_llabs (__x); } # 70 "/usr/include/c++/10/bits/std_abs.h" 3 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); } inline constexpr __int128 abs(__int128 __x) { return __x >= 0 ? __x : -__x; } # 101 "/usr/include/c++/10/bits/std_abs.h" 3 inline constexpr __float128 abs(__float128 __x) { return __x < 0 ? -__x : __x; } } } # 78 "/usr/include/c++/10/cstdlib" 2 3 # 121 "/usr/include/c++/10/cstdlib" 3 extern "C++" { namespace std __attribute__ ((__visibility__ ("default"))) { using ::div_t; using ::ldiv_t; using ::abort; 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 ldiv_t div(long __i, long __j) { return ldiv(__i, __j); } } # 195 "/usr/include/c++/10/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; # 227 "/usr/include/c++/10/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; } } # 42 "/usr/include/c++/10/ext/string_conversions.h" 2 3 # 1 "/usr/include/c++/10/cwchar" 1 3 # 39 "/usr/include/c++/10/cwchar" 3 # 40 "/usr/include/c++/10/cwchar" 3 # 43 "/usr/include/c++/10/ext/string_conversions.h" 2 3 # 1 "/usr/include/c++/10/cstdio" 1 3 # 39 "/usr/include/c++/10/cstdio" 3 # 40 "/usr/include/c++/10/cstdio" 3 # 1 "/usr/include/stdio.h" 1 3 4 # 27 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 28 "/usr/include/stdio.h" 2 3 4 extern "C" { # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 34 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stdarg.h" 1 3 4 # 37 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 # 10 "/usr/include/bits/types/__fpos_t.h" 3 4 typedef struct _G_fpos_t { __off_t __pos; __mbstate_t __state; } __fpos_t; # 40 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4 # 10 "/usr/include/bits/types/__fpos64_t.h" 3 4 typedef struct _G_fpos64_t { __off64_t __pos; __mbstate_t __state; } __fpos64_t; # 41 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4 # 35 "/usr/include/bits/types/struct_FILE.h" 3 4 struct _IO_FILE; struct _IO_marker; struct _IO_codecvt; struct _IO_wide_data; typedef void _IO_lock_t; struct _IO_FILE { int _flags; char *_IO_read_ptr; char *_IO_read_end; char *_IO_read_base; char *_IO_write_base; char *_IO_write_ptr; char *_IO_write_end; char *_IO_buf_base; char *_IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; __off64_t _offset; struct _IO_codecvt *_codecvt; struct _IO_wide_data *_wide_data; struct _IO_FILE *_freeres_list; void *_freeres_buf; size_t __pad5; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; # 44 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 # 27 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, size_t __nbytes); typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); typedef int cookie_close_function_t (void *__cookie); typedef struct _IO_cookie_io_functions_t { cookie_read_function_t *read; cookie_write_function_t *write; cookie_seek_function_t *seek; cookie_close_function_t *close; } cookie_io_functions_t; # 47 "/usr/include/stdio.h" 2 3 4 typedef __gnuc_va_list va_list; # 86 "/usr/include/stdio.h" 3 4 typedef __fpos64_t fpos_t; typedef __fpos64_t fpos64_t; # 133 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 134 "/usr/include/stdio.h" 2 3 4 extern FILE *stdin; extern FILE *stdout; extern 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 (); # 164 "/usr/include/stdio.h" 3 4 extern int renameat2 (int __oldfd, const char *__old, int __newfd, const char *__new, unsigned int __flags) throw (); # 176 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile (void) __asm__ ("" "tmpfile64") __attribute__ ((__warn_unused_result__)); 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__)); # 204 "/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); # 227 "/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 237 "/usr/include/stdio.h" 3 4 extern int fcloseall (void); # 257 "/usr/include/stdio.h" 3 4 extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __asm__ ("" "fopen64") __attribute__ ((__warn_unused_result__)); extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64") __attribute__ ((__warn_unused_result__)); 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, 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 (); extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf") __attribute__ ((__warn_unused_result__)); extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf") __attribute__ ((__warn_unused_result__)); extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) throw () __asm__ ("" "__isoc99_sscanf") ; # 432 "/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))); extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf") __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__)); extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf") __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 () __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__format__ (__scanf__, 2, 0))); # 485 "/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 510 "/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); # 521 "/usr/include/stdio.h" 3 4 extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 537 "/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__)); # 587 "/usr/include/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__)); # 603 "/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); # 662 "/usr/include/stdio.h" 3 4 extern int fputs_unlocked (const char *__restrict __s, FILE *__restrict __stream); # 673 "/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); # 715 "/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64") ; extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64"); # 739 "/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64") ; extern int fsetpos (FILE *__stream, const fpos_t *__pos) __asm__ ("" "fsetpos64") ; 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[]; # 782 "/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__)); # 800 "/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 (); # 858 "/usr/include/stdio.h" 3 4 extern int __uflow (FILE *); extern int __overflow (FILE *, int); # 1 "/usr/include/bits/stdio.h" 1 3 4 # 46 "/usr/include/bits/stdio.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int getchar (void) { return getc (stdin); } extern __inline __attribute__ ((__gnu_inline__)) int fgetc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int getc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int getchar_unlocked (void) { return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int putchar (int __c) { return putc (__c, stdout); } extern __inline __attribute__ ((__gnu_inline__)) int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) int putchar_unlocked (int __c) { return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) __ssize_t getline (char **__lineptr, size_t *__n, FILE *__stream) { return __getdelim (__lineptr, __n, '\n', __stream); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__leaf__)) feof_unlocked (FILE *__stream) throw () { return (((__stream)->_flags & 0x0010) != 0); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__leaf__)) ferror_unlocked (FILE *__stream) throw () { return (((__stream)->_flags & 0x0020) != 0); } # 865 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/stdio2.h" 1 3 4 # 26 "/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 __vfprintf_chk (stdout, 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 ()); } # 209 "/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); } # 243 "/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); } if (__builtin_constant_p (__size) && __builtin_constant_p (__n) && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) && __size * __n <= 8) { size_t __cnt = __size * __n; char *__cptr = (char *) __ptr; if (__cnt == 0) return 0; for (; __cnt > 0; --__cnt) { int __c = getc_unlocked (__stream); if (__c == (-1)) break; *__cptr++ = __c; } return (__cptr - (char *) __ptr) / __size; } return __fread_unlocked_alias (__ptr, __size, __n, __stream); } # 868 "/usr/include/stdio.h" 2 3 4 } # 43 "/usr/include/c++/10/cstdio" 2 3 # 96 "/usr/include/c++/10/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 ::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++/10/cstdio" 3 namespace __gnu_cxx { # 175 "/usr/include/c++/10/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; } # 44 "/usr/include/c++/10/ext/string_conversions.h" 2 3 # 1 "/usr/include/c++/10/cerrno" 1 3 # 39 "/usr/include/c++/10/cerrno" 3 # 40 "/usr/include/c++/10/cerrno" 3 # 1 "/usr/include/errno.h" 1 3 4 # 28 "/usr/include/errno.h" 3 4 # 1 "/usr/include/bits/errno.h" 1 3 4 # 26 "/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 # 6 "/usr/include/asm-generic/errno.h" 2 3 4 # 2 "/usr/include/asm/errno.h" 2 3 4 # 2 "/usr/include/linux/errno.h" 2 3 4 # 27 "/usr/include/bits/errno.h" 2 3 4 # 29 "/usr/include/errno.h" 2 3 4 extern "C" { extern int *__errno_location (void) throw () __attribute__ ((__const__)); extern char *program_invocation_name; extern char *program_invocation_short_name; # 1 "/usr/include/bits/types/error_t.h" 1 3 4 # 22 "/usr/include/bits/types/error_t.h" 3 4 typedef int error_t; # 49 "/usr/include/errno.h" 2 3 4 } # 43 "/usr/include/c++/10/cerrno" 2 3 # 45 "/usr/include/c++/10/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; struct _Save_errno { _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; } ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; } int _M_errno; } const __save_errno; struct _Range_chk { static bool _S_chk(_TRet, std::false_type) { return false; } static bool _S_chk(_TRet __val, std::true_type) { return __val < _TRet(__numeric_traits::__min) || __val > _TRet(__numeric_traits::__max); } }; const _TRet __tmp = __convf(__str, &__endptr, __base...); if (__endptr == __str) std::__throw_invalid_argument(__name); else if ((*__errno_location ()) == 34 || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{})) 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); } } # 6506 "/usr/include/c++/10/bits/basic_string.h" 2 3 # 1 "/usr/include/c++/10/bits/charconv.h" 1 3 # 33 "/usr/include/c++/10/bits/charconv.h" 3 # 34 "/usr/include/c++/10/bits/charconv.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace __detail { template constexpr unsigned __to_chars_len(_Tp __value, int __base = 10) noexcept { static_assert(is_integral<_Tp>::value, "implementation bug"); static_assert(is_unsigned<_Tp>::value, "implementation bug"); unsigned __n = 1; const unsigned __b2 = __base * __base; const unsigned __b3 = __b2 * __base; const unsigned long __b4 = __b3 * __base; for (;;) { if (__value < (unsigned)__base) return __n; if (__value < __b2) return __n + 1; if (__value < __b3) return __n + 2; if (__value < __b4) return __n + 3; __value /= __b4; __n += 4; } } template void __to_chars_10_impl(char* __first, unsigned __len, _Tp __val) noexcept { static_assert(is_integral<_Tp>::value, "implementation bug"); static_assert(is_unsigned<_Tp>::value, "implementation bug"); static constexpr char __digits[201] = "0001020304050607080910111213141516171819" "2021222324252627282930313233343536373839" "4041424344454647484950515253545556575859" "6061626364656667686970717273747576777879" "8081828384858687888990919293949596979899"; unsigned __pos = __len - 1; while (__val >= 100) { auto const __num = (__val % 100) * 2; __val /= 100; __first[__pos] = __digits[__num + 1]; __first[__pos - 1] = __digits[__num]; __pos -= 2; } if (__val >= 10) { auto const __num = __val * 2; __first[1] = __digits[__num + 1]; __first[0] = __digits[__num]; } else __first[0] = '0' + __val; } } } # 6507 "/usr/include/c++/10/bits/basic_string.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace __cxx11 { 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) { const bool __neg = __val < 0; const unsigned __uval = __neg ? (unsigned)~__val + 1u : __val; const auto __len = __detail::__to_chars_len(__uval); string __str(__neg + __len, '-'); __detail::__to_chars_10_impl(&__str[__neg], __len, __uval); return __str; } inline string to_string(unsigned __val) { string __str(__detail::__to_chars_len(__val), '\0'); __detail::__to_chars_10_impl(&__str[0], __str.size(), __val); return __str; } inline string to_string(long __val) { const bool __neg = __val < 0; const unsigned long __uval = __neg ? (unsigned long)~__val + 1ul : __val; const auto __len = __detail::__to_chars_len(__uval); string __str(__neg + __len, '-'); __detail::__to_chars_10_impl(&__str[__neg], __len, __uval); return __str; } inline string to_string(unsigned long __val) { string __str(__detail::__to_chars_len(__val), '\0'); __detail::__to_chars_10_impl(&__str[0], __str.size(), __val); return __str; } inline string to_string(long long __val) { const bool __neg = __val < 0; const unsigned long long __uval = __neg ? (unsigned long long)~__val + 1ull : __val; const auto __len = __detail::__to_chars_len(__uval); string __str(__neg + __len, '-'); __detail::__to_chars_10_impl(&__str[__neg], __len, __uval); return __str; } inline string to_string(unsigned long long __val) { string __str(__detail::__to_chars_len(__val), '\0'); __detail::__to_chars_10_impl(&__str[0], __str.size(), __val); return __str; } 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++/10/bits/functional_hash.h" 1 3 # 33 "/usr/include/c++/10/bits/functional_hash.h" 3 # 34 "/usr/include/c++/10/bits/functional_hash.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 49 "/usr/include/c++/10/bits/functional_hash.h" 3 template struct __hash_base { typedef _Result result_type ; typedef _Arg argument_type ; }; template struct hash; template struct __poison_hash { static constexpr bool __enable_hash_call = false; private: __poison_hash(__poison_hash&&); ~__poison_hash(); }; template struct __poison_hash<_Tp, __void_t()(declval<_Tp>()))>> { static constexpr bool __enable_hash_call = true; }; template::value> struct __hash_enum { private: __hash_enum(__hash_enum&&); ~__hash_enum(); }; template struct __hash_enum<_Tp, true> : public __hash_base { size_t operator()(_Tp __val) const noexcept { using __type = typename underlying_type<_Tp>::type; return hash<__type>{}(static_cast<__type>(__val)); } }; template struct hash : __hash_enum<_Tp> { }; template struct hash<_Tp*> : public __hash_base { size_t operator()(_Tp* __p) const noexcept { return reinterpret_cast(__p); } }; # 124 "/usr/include/c++/10/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); } }; template<> struct hash<__int128> : public __hash_base { size_t operator()(__int128 __val) const noexcept { return static_cast(__val); } }; template<> struct hash<__int128 unsigned> : public __hash_base { size_t operator()(__int128 unsigned __val) const noexcept { return static_cast(__val); } }; # 192 "/usr/include/c++/10/bits/functional_hash.h" 3 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; }; # 278 "/usr/include/c++/10/bits/functional_hash.h" 3 template struct __is_fast_hash : public std::true_type { }; template<> struct __is_fast_hash> : public std::false_type { }; } # 6758 "/usr/include/c++/10/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 { }; # 6816 "/usr/include/c++/10/bits/basic_string.h" 3 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 { }; inline namespace literals { inline namespace string_literals { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wliteral-suffix" __attribute ((__abi_tag__ ("cxx11"))) inline basic_string operator""s(const char* __str, size_t __len) { return basic_string{__str, __len}; } __attribute ((__abi_tag__ ("cxx11"))) inline basic_string operator""s(const wchar_t* __str, size_t __len) { return basic_string{__str, __len}; } # 6874 "/usr/include/c++/10/bits/basic_string.h" 3 __attribute ((__abi_tag__ ("cxx11"))) inline basic_string operator""s(const char16_t* __str, size_t __len) { return basic_string{__str, __len}; } __attribute ((__abi_tag__ ("cxx11"))) inline basic_string operator""s(const char32_t* __str, size_t __len) { return basic_string{__str, __len}; } #pragma GCC diagnostic pop } } # 6906 "/usr/include/c++/10/bits/basic_string.h" 3 } # 56 "/usr/include/c++/10/string" 2 3 # 1 "/usr/include/c++/10/bits/basic_string.tcc" 1 3 # 42 "/usr/include/c++/10/bits/basic_string.tcc" 3 # 43 "/usr/include/c++/10/bits/basic_string.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template const typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>::npos; template void basic_string<_CharT, _Traits, _Alloc>:: swap(basic_string& __s) noexcept { if (this == &__s) return; _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator()); if (_M_is_local()) if (__s._M_is_local()) { if (length() && __s.length()) { _CharT __tmp_data[_S_local_capacity + 1]; traits_type::copy(__tmp_data, __s._M_local_buf, _S_local_capacity + 1); traits_type::copy(__s._M_local_buf, _M_local_buf, _S_local_capacity + 1); traits_type::copy(_M_local_buf, __tmp_data, _S_local_capacity + 1); } else if (__s.length()) { traits_type::copy(_M_local_buf, __s._M_local_buf, _S_local_capacity + 1); _M_length(__s.length()); __s._M_set_length(0); return; } else if (length()) { traits_type::copy(__s._M_local_buf, _M_local_buf, _S_local_capacity + 1); __s._M_length(length()); _M_set_length(0); return; } } else { const size_type __tmp_capacity = __s._M_allocated_capacity; traits_type::copy(__s._M_local_buf, _M_local_buf, _S_local_capacity + 1); _M_data(__s._M_data()); __s._M_data(__s._M_local_buf); _M_capacity(__tmp_capacity); } else { const size_type __tmp_capacity = _M_allocated_capacity; if (__s._M_is_local()) { traits_type::copy(_M_local_buf, __s._M_local_buf, _S_local_capacity + 1); __s._M_data(_M_data()); _M_data(_M_local_buf); } else { pointer __tmp_ptr = _M_data(); _M_data(__s._M_data()); __s._M_data(__tmp_ptr); _M_capacity(__s._M_allocated_capacity); } __s._M_capacity(__tmp_capacity); } const size_type __tmp_length = length(); _M_length(__s.length()); __s._M_length(__tmp_length); } template typename basic_string<_CharT, _Traits, _Alloc>::pointer basic_string<_CharT, _Traits, _Alloc>:: _M_create(size_type& __capacity, size_type __old_capacity) { if (__capacity > max_size()) std::__throw_length_error(("basic_string::_M_create")); if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) { __capacity = 2 * __old_capacity; if (__capacity > max_size()) __capacity = max_size(); } return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1); } template template void basic_string<_CharT, _Traits, _Alloc>:: _M_construct(_InIterator __beg, _InIterator __end, std::input_iterator_tag) { size_type __len = 0; size_type __capacity = size_type(_S_local_capacity); while (__beg != __end && __len < __capacity) { _M_data()[__len++] = *__beg; ++__beg; } if (true) { while (__beg != __end) { if (__len == __capacity) { __capacity = __len + 1; pointer __another = _M_create(__capacity, __len); this->_S_copy(__another, _M_data(), __len); _M_dispose(); _M_data(__another); _M_capacity(__capacity); } _M_data()[__len++] = *__beg; ++__beg; } } if (false) { _M_dispose(); ; } _M_set_length(__len); } template template void basic_string<_CharT, _Traits, _Alloc>:: _M_construct(_InIterator __beg, _InIterator __end, std::forward_iterator_tag) { if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end) std::__throw_logic_error(("basic_string::" "_M_construct null not valid") ); size_type __dnew = static_cast(std::distance(__beg, __end)); if (__dnew > size_type(_S_local_capacity)) { _M_data(_M_create(__dnew, size_type(0))); _M_capacity(__dnew); } if (true) { this->_S_copy_chars(_M_data(), __beg, __end); } if (false) { _M_dispose(); ; } _M_set_length(__dnew); } template void basic_string<_CharT, _Traits, _Alloc>:: _M_construct(size_type __n, _CharT __c) { if (__n > size_type(_S_local_capacity)) { _M_data(_M_create(__n, size_type(0))); _M_capacity(__n); } if (__n) this->_S_assign(_M_data(), __n, __c); _M_set_length(__n); } template void basic_string<_CharT, _Traits, _Alloc>:: _M_assign(const basic_string& __str) { if (this != &__str) { const size_type __rsize = __str.length(); const size_type __capacity = capacity(); if (__rsize > __capacity) { size_type __new_capacity = __rsize; pointer __tmp = _M_create(__new_capacity, __capacity); _M_dispose(); _M_data(__tmp); _M_capacity(__new_capacity); } if (__rsize) this->_S_copy(_M_data(), __str._M_data(), __rsize); _M_set_length(__rsize); } } template void basic_string<_CharT, _Traits, _Alloc>:: reserve(size_type __res) { if (__res < length()) __res = length(); const size_type __capacity = capacity(); if (__res != __capacity) { if (__res > __capacity || __res > size_type(_S_local_capacity)) { pointer __tmp = _M_create(__res, __capacity); this->_S_copy(__tmp, _M_data(), length() + 1); _M_dispose(); _M_data(__tmp); _M_capacity(__res); } else if (!_M_is_local()) { this->_S_copy(_M_local_data(), _M_data(), length() + 1); _M_destroy(__capacity); _M_data(_M_local_data()); } } } template void basic_string<_CharT, _Traits, _Alloc>:: _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, size_type __len2) { const size_type __how_much = length() - __pos - __len1; size_type __new_capacity = length() + __len2 - __len1; pointer __r = _M_create(__new_capacity, capacity()); if (__pos) this->_S_copy(__r, _M_data(), __pos); if (__s && __len2) this->_S_copy(__r + __pos, __s, __len2); if (__how_much) this->_S_copy(__r + __pos + __len2, _M_data() + __pos + __len1, __how_much); _M_dispose(); _M_data(__r); _M_capacity(__new_capacity); } template void basic_string<_CharT, _Traits, _Alloc>:: _M_erase(size_type __pos, size_type __n) { const size_type __how_much = length() - __pos - __n; if (__how_much && __n) this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much); _M_set_length(length() - __n); } template void basic_string<_CharT, _Traits, _Alloc>:: resize(size_type __n, _CharT __c) { const size_type __size = this->size(); if (__size < __n) this->append(__n - __size, __c); else if (__n < __size) this->_M_set_length(__n); } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: _M_append(const _CharT* __s, size_type __n) { const size_type __len = __n + this->size(); if (__len <= this->capacity()) { if (__n) this->_S_copy(this->_M_data() + this->size(), __s, __n); } else this->_M_mutate(this->size(), size_type(0), __s, __n); this->_M_set_length(__len); return *this; } template template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: _M_replace_dispatch(const_iterator __i1, const_iterator __i2, _InputIterator __k1, _InputIterator __k2, std::__false_type) { const basic_string __s(__k1, __k2, this->get_allocator()); const size_type __n1 = __i2 - __i1; return _M_replace(__i1 - begin(), __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"); const size_type __old_size = this->size(); const size_type __new_size = __old_size + __n2 - __n1; if (__new_size <= this->capacity()) { pointer __p = this->_M_data() + __pos1; const size_type __how_much = __old_size - __pos1 - __n1; if (__how_much && __n1 != __n2) this->_S_move(__p + __n2, __p + __n1, __how_much); } else this->_M_mutate(__pos1, __n1, 0, __n2); if (__n2) this->_S_assign(this->_M_data() + __pos1, __n2, __c); this->_M_set_length(__new_size); return *this; } template basic_string<_CharT, _Traits, _Alloc>& basic_string<_CharT, _Traits, _Alloc>:: _M_replace(size_type __pos, size_type __len1, const _CharT* __s, const size_type __len2) { _M_check_length(__len1, __len2, "basic_string::_M_replace"); const size_type __old_size = this->size(); const size_type __new_size = __old_size + __len2 - __len1; if (__new_size <= this->capacity()) { pointer __p = this->_M_data() + __pos; const size_type __how_much = __old_size - __pos - __len1; if (_M_disjunct(__s)) { if (__how_much && __len1 != __len2) this->_S_move(__p + __len2, __p + __len1, __how_much); if (__len2) this->_S_copy(__p, __s, __len2); } else { if (__len2 && __len2 <= __len1) this->_S_move(__p, __s, __len2); if (__how_much && __len1 != __len2) this->_S_move(__p + __len2, __p + __len1, __how_much); if (__len2 > __len1) { if (__s + __len2 <= __p + __len1) this->_S_move(__p, __s, __len2); else if (__s >= __p + __len1) this->_S_copy(__p, __s + __len2 - __len1, __len2); else { const size_type __nleft = (__p + __len1) - __s; this->_S_move(__p, __s, __nleft); this->_S_copy(__p + __nleft, __p + __len2, __len2 - __nleft); } } } } else this->_M_mutate(__pos, __len1, __s, __len2); this->_M_set_length(__new_size); 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) _S_copy(__s, _M_data() + __pos, __n); return __n; } # 1158 "/usr/include/c++/10/bits/basic_string.tcc" 3 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; typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template rebind<_CharT>::other _Char_alloc_type; typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; const __size_type __len = _Traits::length(__lhs); __string_type __str(_Alloc_traits::_S_select_on_copy( __rhs.get_allocator())); __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; typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template rebind<_CharT>::other _Char_alloc_type; typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; __string_type __str(_Alloc_traits::_S_select_on_copy( __rhs.get_allocator())); 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 noexcept { ; const size_type __size = this->size(); if (__n == 0) return __pos <= __size ? __pos : npos; if (__pos >= __size) return npos; const _CharT __elem0 = __s[0]; const _CharT* const __data = data(); const _CharT* __first = __data + __pos; const _CharT* const __last = __data + __size; size_type __len = __size - __pos; while (__len >= __n) { __first = traits_type::find(__first, __len - __n + 1, __elem0); if (!__first) return npos; if (traits_type::compare(__first, __s, __n) == 0) return __first - __data; __len = __last - ++__first; } 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 noexcept { ; 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 noexcept { ; 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 noexcept { ; 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 noexcept { ; 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 noexcept { ; 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 noexcept { ; 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; } # 1618 "/usr/include/c++/10/bits/basic_string.tcc" 3 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&); } # 57 "/usr/include/c++/10/string" 2 3 # 15 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/include/angle_gl.h" 1 # 13 "../../third_party/angle/include/angle_gl.h" # 1 "../../third_party/angle/include/GLES/gl.h" 1 # 14 "../../third_party/angle/include/angle_gl.h" 2 # 1 "../../third_party/angle/include/GLES/glext.h" 1 # 15 "../../third_party/angle/include/angle_gl.h" 2 # 1 "../../third_party/angle/include/GLES2/gl2.h" 1 # 16 "../../third_party/angle/include/angle_gl.h" 2 # 1 "../../third_party/angle/include/GLES2/gl2ext.h" 1 # 17 "../../third_party/angle/include/angle_gl.h" 2 # 1 "../../third_party/angle/include/GLES3/gl3.h" 1 # 5 "../../third_party/angle/include/GLES3/gl3.h" extern "C" { # 1208 "../../third_party/angle/include/GLES3/gl3.h" } # 18 "../../third_party/angle/include/angle_gl.h" 2 # 1 "../../third_party/angle/include/GLES3/gl31.h" 1 extern "C" { # 1525 "../../third_party/angle/include/GLES3/gl31.h" } # 19 "../../third_party/angle/include/angle_gl.h" 2 # 1 "../../third_party/angle/include/GLES3/gl32.h" 1 # 20 "../../third_party/angle/include/angle_gl.h" 2 # 17 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/common/MemoryBuffer.h" 1 # 10 "../../third_party/angle/src/common/MemoryBuffer.h" # 1 "../../third_party/angle/src/common/Optional.h" 1 # 13 "../../third_party/angle/src/common/Optional.h" # 1 "/usr/include/c++/10/utility" 1 3 # 58 "/usr/include/c++/10/utility" 3 # 59 "/usr/include/c++/10/utility" 3 # 69 "/usr/include/c++/10/utility" 3 # 1 "/usr/include/c++/10/bits/stl_relops.h" 1 3 # 67 "/usr/include/c++/10/bits/stl_relops.h" 3 # 67 "/usr/include/c++/10/bits/stl_relops.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace rel_ops { # 85 "/usr/include/c++/10/bits/stl_relops.h" 3 template inline bool operator!=(const _Tp& __x, const _Tp& __y) { return !(__x == __y); } # 98 "/usr/include/c++/10/bits/stl_relops.h" 3 template inline bool operator>(const _Tp& __x, const _Tp& __y) { return __y < __x; } # 111 "/usr/include/c++/10/bits/stl_relops.h" 3 template inline bool operator<=(const _Tp& __x, const _Tp& __y) { return !(__y < __x); } # 124 "/usr/include/c++/10/bits/stl_relops.h" 3 template inline bool operator>=(const _Tp& __x, const _Tp& __y) { return !(__x < __y); } } } # 70 "/usr/include/c++/10/utility" 2 3 # 78 "/usr/include/c++/10/utility" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct tuple_size; template::type, typename = typename enable_if::value>::type, size_t = tuple_size<_Tp>::value> using __enable_if_has_tuple_size = _Tp; template struct tuple_size> : public tuple_size<_Tp> { }; template struct tuple_size> : public tuple_size<_Tp> { }; template struct tuple_size> : public tuple_size<_Tp> { }; template struct tuple_element; template using __tuple_element_t = typename tuple_element<__i, _Tp>::type; template struct tuple_element<__i, const _Tp> { typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type; }; template struct tuple_element<__i, volatile _Tp> { typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type; }; template struct tuple_element<__i, const volatile _Tp> { typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type; }; template using tuple_element_t = typename tuple_element<__i, _Tp>::type; template struct __is_tuple_like_impl> : true_type { }; 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 static constexpr const _Tp1&& __const_move_get(const std::pair<_Tp1, _Tp2>&& __pair) noexcept { return std::forward(__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 static constexpr const _Tp2&& __const_move_get(const std::pair<_Tp1, _Tp2>&& __pair) noexcept { return std::forward(__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); } 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_move_get(std::move(__in)); } template constexpr _Tp& get(pair<_Tp, _Up>& __p) noexcept { return __p.first; } template constexpr const _Tp& get(const pair<_Tp, _Up>& __p) noexcept { return __p.first; } template constexpr _Tp&& get(pair<_Tp, _Up>&& __p) noexcept { return std::move(__p.first); } template constexpr const _Tp&& get(const pair<_Tp, _Up>&& __p) noexcept { return std::move(__p.first); } template constexpr _Tp& get(pair<_Up, _Tp>& __p) noexcept { return __p.second; } template constexpr const _Tp& get(const pair<_Up, _Tp>& __p) noexcept { return __p.second; } template constexpr _Tp&& get(pair<_Up, _Tp>&& __p) noexcept { return std::move(__p.second); } template constexpr const _Tp&& get(const pair<_Up, _Tp>&& __p) noexcept { return std::move(__p.second); } # 288 "/usr/include/c++/10/utility" 3 template inline _Tp exchange(_Tp& __obj, _Up&& __new_val) { return std::__exchange(__obj, std::forward<_Up>(__new_val)); } template struct _Index_tuple { }; # 307 "/usr/include/c++/10/utility" 3 template struct _Build_index_tuple { using __type = _Index_tuple<__integer_pack(_Num)...>; }; template struct integer_sequence { typedef _Tp value_type; static constexpr size_t size() noexcept { return sizeof...(_Idx); } }; template using make_integer_sequence = integer_sequence<_Tp, __integer_pack(_Num)...>; template using index_sequence = integer_sequence; template using make_index_sequence = make_integer_sequence; template using index_sequence_for = make_index_sequence; # 402 "/usr/include/c++/10/utility" 3 } # 14 "../../third_party/angle/src/common/Optional.h" 2 # 15 "../../third_party/angle/src/common/Optional.h" template struct Optional { Optional() : mValid(false), mValue(T()) {} Optional(const T &valueIn) : mValid(true), mValue(valueIn) {} Optional(const Optional &other) : mValid(other.mValid), mValue(other.mValue) {} Optional &operator=(const Optional &other) { this->mValid = other.mValid; this->mValue = other.mValue; return *this; } Optional &operator=(const T &value) { mValue = value; mValid = true; return *this; } Optional &operator=(T &&value) { mValue = std::move(value); mValid = true; return *this; } void reset() { mValid = false; } static Optional Invalid() { return Optional(); } bool valid() const { return mValid; } const T &value() const { return mValue; } bool operator==(const Optional &other) const { return ((mValid == other.mValid) && (!mValid || (mValue == other.mValue))); } bool operator!=(const Optional &other) const { return !(*this == other); } bool operator==(const T &value) const { return mValid && (mValue == value); } bool operator!=(const T &value) const { return !(*this == value); } private: bool mValid; T mValue; }; # 11 "../../third_party/angle/src/common/MemoryBuffer.h" 2 # 1 "../../third_party/angle/src/common/angleutils.h" 1 # 12 "../../third_party/angle/src/common/angleutils.h" # 1 "../../third_party/angle/src/common/platform.h" 1 # 93 "../../third_party/angle/src/common/platform.h" # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/x86intrin.h" 1 3 4 # 27 "/usr/lib/gcc/x86_64-redhat-linux/10/include/x86intrin.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/ia32intrin.h" 1 3 4 # 29 "/usr/lib/gcc/x86_64-redhat-linux/10/include/ia32intrin.h" 3 4 # 29 "/usr/lib/gcc/x86_64-redhat-linux/10/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) { __C &= 31; return (__X << __C) | (__X >> (-__C & 31)); } 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) { __C &= 31; return (__X >> __C) | (__X << (-__C & 31)); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __pause (void) { __builtin_ia32_pause (); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __bsfq (long long __X) { return __builtin_ctzll (__X); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __bsrq (long long __X) { return __builtin_ia32_bsrdi (__X); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __bswapq (long long __X) { return __builtin_bswap64 (__X); } #pragma GCC push_options #pragma GCC target("sse4.2") extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __crc32q (unsigned long long __C, unsigned long long __V) { return __builtin_ia32_crc32di (__C, __V); } #pragma GCC pop_options extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __popcntq (unsigned long long __X) { return __builtin_popcountll (__X); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __rolq (unsigned long long __X, int __C) { __C &= 63; return (__X << __C) | (__X >> (-__C & 63)); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __rorq (unsigned long long __X, int __C) { __C &= 63; return (__X >> __C) | (__X << (-__C & 63)); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __readeflags (void) { return __builtin_ia32_readeflags_u64 (); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __writeeflags (unsigned long long __X) { __builtin_ia32_writeeflags_u64 (__X); } # 28 "/usr/lib/gcc/x86_64-redhat-linux/10/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 1 3 4 # 27 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/mmintrin.h" 1 3 4 # 44 "/usr/lib/gcc/x86_64-redhat-linux/10/include/mmintrin.h" 3 4 typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__)); typedef int __m64_u __attribute__ ((__vector_size__ (8), __may_alias__, __aligned__ (1))); 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); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_from_int64 (long long __i) { return (__m64) __i; } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi64_m64 (long long __i) { return (__m64) __i; } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi64x_si64 (long long __i) { return (__m64) __i; } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_set_pi64x (long long __i) { return (__m64) __i; } 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); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_to_int64 (__m64 __i) { return (long long)__i; } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtm64_si64 (__m64 __i) { return (long long)__i; } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi64_si64x (__m64 __i) { return (long long)__i; } 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); } # 328 "/usr/lib/gcc/x86_64-redhat-linux/10/include/mmintrin.h" 3 4 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); } 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); } # 444 "/usr/lib/gcc/x86_64-redhat-linux/10/include/mmintrin.h" 3 4 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); } 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); } # 28 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xmmintrin.h" 1 3 4 # 34 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xmmintrin.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/mm_malloc.h" 1 3 4 # 27 "/usr/lib/gcc/x86_64-redhat-linux/10/include/mm_malloc.h" 3 4 # 1 "/usr/include/c++/10/stdlib.h" 1 3 4 # 36 "/usr/include/c++/10/stdlib.h" 3 4 # 1 "/usr/include/c++/10/cstdlib" 1 3 4 # 39 "/usr/include/c++/10/cstdlib" 3 4 # 40 "/usr/include/c++/10/cstdlib" 3 # 37 "/usr/include/c++/10/stdlib.h" 2 3 4 using std::abort; using std::atexit; using std::exit; using std::at_quick_exit; using std::quick_exit; using std::div_t; using std::ldiv_t; using std::abs; using std::atof; using std::atoi; using std::atol; using std::bsearch; using std::calloc; using std::div; using std::free; using std::getenv; using std::labs; using std::ldiv; using std::malloc; using std::mblen; using std::mbstowcs; using std::mbtowc; using std::qsort; using std::rand; using std::realloc; using std::srand; using std::strtod; using std::strtol; using std::strtoul; using std::system; using std::wcstombs; using std::wctomb; # 28 "/usr/lib/gcc/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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); } # 69 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xmmintrin.h" 3 4 typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); typedef float __m128_u __attribute__ ((__vector_size__ (16), __may_alias__, __aligned__ (1))); typedef float __v4sf __attribute__ ((__vector_size__ (16))); # 109 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtss_si64 (__m128 __A) { return __builtin_ia32_cvtss2si64 ((__v4sf) __A); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtss_si64x (__m128 __A) { return __builtin_ia32_cvtss2si64 ((__v4sf) __A); } 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); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttss_si64 (__m128 __A) { return __builtin_ia32_cvttss2si64 ((__v4sf) __A); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttss_si64x (__m128 __A) { return __builtin_ia32_cvttss2si64 ((__v4sf) __A); } 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); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi64_ss (__m128 __A, long long __B) { return (__m128) __builtin_ia32_cvtsi642ss ((__v4sf) __A, __B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi64x_ss (__m128 __A, long long __B) { return (__m128) __builtin_ia32_cvtsi642ss ((__v4sf) __A, __B); } 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 *)__P; } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadu_ps (float const *__P) { return *(__m128_u *)__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) { *(__m128 *)__P = __A; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storeu_ps (float *__P, __m128 __A) { *(__m128_u *)__P = __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_shuffle ((__v4sf)__A, (__v4sf)__B, __extension__ (__attribute__((__vector_size__ (16))) int) {4,1,2,3}); } 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); } # 1043 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 1063 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 1165 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xmmintrin.h" 3 4 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskmove_si64 (__m64 __A, __m64 __N, char *__P) { typedef long long __v2di __attribute__ ((__vector_size__ (16))); typedef char __v16qi __attribute__ ((__vector_size__ (16))); __v2di __A128 = __extension__ (__v2di) { ((__v1di) __A)[0], 0 }; __v2di __N128 = __extension__ (__v2di) { ((__v1di) __N)[0], 0 }; long unsigned int offset = ((long unsigned int) __P) & 0xf; if (offset) { if (offset > 8) offset = 8; __P = (char *) (((long unsigned int) __P) - offset); switch (offset) { case 1: __A128 = __builtin_ia32_pslldqi128 (__A128, 8); __N128 = __builtin_ia32_pslldqi128 (__N128, 8); break; case 2: __A128 = __builtin_ia32_pslldqi128 (__A128, 2 * 8); __N128 = __builtin_ia32_pslldqi128 (__N128, 2 * 8); break; case 3: __A128 = __builtin_ia32_pslldqi128 (__A128, 3 * 8); __N128 = __builtin_ia32_pslldqi128 (__N128, 3 * 8); break; case 4: __A128 = __builtin_ia32_pslldqi128 (__A128, 4 * 8); __N128 = __builtin_ia32_pslldqi128 (__N128, 4 * 8); break; case 5: __A128 = __builtin_ia32_pslldqi128 (__A128, 5 * 8); __N128 = __builtin_ia32_pslldqi128 (__N128, 5 * 8); break; case 6: __A128 = __builtin_ia32_pslldqi128 (__A128, 6 * 8); __N128 = __builtin_ia32_pslldqi128 (__N128, 6 * 8); break; case 7: __A128 = __builtin_ia32_pslldqi128 (__A128, 7 * 8); __N128 = __builtin_ia32_pslldqi128 (__N128, 7 * 8); break; case 8: __A128 = __builtin_ia32_pslldqi128 (__A128, 8 * 8); __N128 = __builtin_ia32_pslldqi128 (__N128, 8 * 8); break; default: break; } } __builtin_ia32_maskmovdqu ((__v16qi)__A128, (__v16qi)__N128, __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 (); } # 1316 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xmmintrin.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/emmintrin.h" 1 3 4 # 31 "/usr/lib/gcc/x86_64-redhat-linux/10/include/emmintrin.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xmmintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/emmintrin.h" 2 3 4 # 40 "/usr/lib/gcc/x86_64-redhat-linux/10/include/emmintrin.h" 3 4 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 signed char __v16qs __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__)); typedef long long __m128i_u __attribute__ ((__vector_size__ (16), __may_alias__, __aligned__ (1))); typedef double __m128d_u __attribute__ ((__vector_size__ (16), __may_alias__, __aligned__ (1))); 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 __extension__ (__m128d) __builtin_shuffle ((__v2df)__A, (__v2df)__B, (__v2di){2, 1}); } 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 *(__m128d_u *)__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) { *(__m128d_u *)__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); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi128_si64 (__m128i __A) { return ((__v2di)__A)[0]; } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi128_si64x (__m128i __A) { return ((__v2di)__A)[0]; } 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_u const *__P) { return *__P; } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadl_epi64 (__m128i_u const *__P) { return _mm_set_epi64 ((__m64)0LL, *(__m64_u *)__P); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_loadu_si64 (void const *__P) { return _mm_loadl_epi64 ((__m128i_u *)__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_u *__P, __m128i __B) { *__P = __B; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storel_epi64 (__m128i_u *__P, __m128i __B) { *(__m64_u *)__P = (__m64) ((__v2di)__B)[0]; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_storeu_si64 (void *__P, __m128i __B) { _mm_storel_epi64 ((__m128i_u *)__P, __B); } 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); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsd_si64 (__m128d __A) { return __builtin_ia32_cvtsd2si64 ((__v2df) __A); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsd_si64x (__m128d __A) { return __builtin_ia32_cvtsd2si64 ((__v2df) __A); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttsd_si32 (__m128d __A) { return __builtin_ia32_cvttsd2si ((__v2df) __A); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttsd_si64 (__m128d __A) { return __builtin_ia32_cvttsd2si64 ((__v2df) __A); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttsd_si64x (__m128d __A) { return __builtin_ia32_cvttsd2si64 ((__v2df) __A); } 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); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi64_sd (__m128d __A, long long __B) { return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B); } extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi64x_sd (__m128d __A, long long __B) { return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B); } 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); } # 1218 "/usr/lib/gcc/x86_64-redhat-linux/10/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) ((__v16qs)__A < (__v16qs)__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) ((__v16qs)__A > (__v16qs)__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); } # 1382 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 1445 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_stream_si64 (long long int *__A, long long int __B) { __builtin_ia32_movnti64 (__A, __B); } 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); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi64_si128 (long long __A) { return _mm_set_epi64x (0, __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsi64x_si128 (long long __A) { return _mm_set_epi64x (0, __A); } 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; } # 1317 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xmmintrin.h" 2 3 4 # 1328 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xmmintrin.h" 3 4 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_pause (void) { __builtin_ia32_pause (); } # 30 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/pmmintrin.h" 1 3 4 # 34 "/usr/lib/gcc/x86_64-redhat-linux/10/include/pmmintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("sse3") # 49 "/usr/lib/gcc/x86_64-redhat-linux/10/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 # 34 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/tmmintrin.h" 1 3 4 # 34 "/usr/lib/gcc/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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 # 36 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/smmintrin.h" 1 3 4 # 35 "/usr/lib/gcc/x86_64-redhat-linux/10/include/smmintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("sse4.1") # 66 "/usr/lib/gcc/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_insert_epi64 (__m128i __D, long long __S, const int __N) { return (__m128i) __builtin_ia32_vec_set_v2di ((__v2di)__D, __S, __N); } # 440 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_extract_epi64 (__m128i __X, const int __N) { return __builtin_ia32_vec_ext_v2di ((__v2di)__X, __N); } # 473 "/usr/lib/gcc/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/include/popcntintrin.h" 1 3 4 # 28 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_popcnt_u64 (unsigned long long __X) { return __builtin_popcountll (__X); } #pragma GCC pop_options # 812 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_crc32_u64 (unsigned long long __C, unsigned long long __V) { return __builtin_ia32_crc32di (__C, __V); } #pragma GCC pop_options #pragma GCC pop_options # 38 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/wmmintrin.h" 1 3 4 # 36 "/usr/lib/gcc/x86_64-redhat-linux/10/include/wmmintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("aes,sse2") 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/x86_64-redhat-linux/10/include/wmmintrin.h" 3 4 #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("pclmul,sse2") # 115 "/usr/lib/gcc/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/include/wmmintrin.h" 3 4 #pragma GCC pop_options # 40 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/fxsrintrin.h" 1 3 4 # 37 "/usr/lib/gcc/x86_64-redhat-linux/10/include/fxsrintrin.h" 3 4 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _fxsave (void *__P) { __builtin_ia32_fxsave (__P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _fxrstor (void *__P) { __builtin_ia32_fxrstor (__P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _fxsave64 (void *__P) { __builtin_ia32_fxsave64 (__P); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _fxrstor64 (void *__P) { __builtin_ia32_fxrstor64 (__P); } # 42 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xsaveintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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) { __builtin_ia32_xsave (__P, __M); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xrstor (void *__P, long long __M) { __builtin_ia32_xrstor (__P, __M); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xsetbv (unsigned int __A, long long __V) { __builtin_ia32_xsetbv (__A, __V); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xgetbv (unsigned int __A) { return __builtin_ia32_xgetbv (__A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xsave64 (void *__P, long long __M) { __builtin_ia32_xsave64 (__P, __M); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xrstor64 (void *__P, long long __M) { __builtin_ia32_xrstor64 (__P, __M); } #pragma GCC pop_options # 44 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xsaveoptintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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) { __builtin_ia32_xsaveopt (__P, __M); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xsaveopt64 (void *__P, long long __M) { __builtin_ia32_xsaveopt64 (__P, __M); } #pragma GCC pop_options # 46 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xsavesintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xrstors64 (void *__P, long long __M) { __builtin_ia32_xrstors64 (__P, __M); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xsaves64 (void *__P, long long __M) { __builtin_ia32_xsaves64 (__P, __M); } #pragma GCC pop_options # 48 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xsavecintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _xsavec64 (void *__P, long long __M) { __builtin_ia32_xsavec64 (__P, __M); } #pragma GCC pop_options # 50 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avxintrin.h" 1 3 4 # 35 "/usr/lib/gcc/x86_64-redhat-linux/10/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 signed char __v32qs __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__)); typedef float __m256_u __attribute__ ((__vector_size__ (32), __may_alias__, __aligned__ (1))); typedef long long __m256i_u __attribute__ ((__vector_size__ (32), __may_alias__, __aligned__ (1))); typedef double __m256d_u __attribute__ ((__vector_size__ (32), __may_alias__, __aligned__ (1))); # 140 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 218 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 359 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 447 "/usr/lib/gcc/x86_64-redhat-linux/10/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 double __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtsd_f64 (__m256d __A) { return __A[0]; } extern __inline float __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtss_f32 (__m256 __A) { return __A[0]; } 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); } extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_extract_epi64 (__m256i __X, const int __N) { __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 1); return _mm_extract_epi64 (__Y, __N % 2); } # 601 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 680 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 720 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_insert_epi64 (__m256i __X, long long __D, int const __N) { __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 1); __Y = _mm_insert_epi64 (__Y, __D, __N % 2); return _mm256_insertf128_si256 (__X, __Y, __N >> 1); } # 859 "/usr/lib/gcc/x86_64-redhat-linux/10/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_u *)__P; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_storeu_pd (double *__P, __m256d __A) { *(__m256d_u *)__P = __A; } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_loadu_ps (float const *__P) { return *(__m256_u *)__P; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_storeu_ps (float *__P, __m256 __A) { *(__m256_u *)__P = __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_u const *__P) { return *__P; } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_storeu_si256 (__m256i_u *__P, __m256i __A) { *__P = __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); } # 1074 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_zextpd128_pd256 (__m128d __A) { return _mm256_insertf128_pd (_mm256_setzero_pd (), __A, 0); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_zextps128_ps256 (__m128 __A) { return _mm256_insertf128_ps (_mm256_setzero_ps (), __A, 0); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_zextsi128_si256 (__m128i __A) { return _mm256_insertf128_si256 (_mm256_setzero_si256 (), __A, 0); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set_m128 ( __m128 __H, __m128 __L) { return _mm256_insertf128_ps (_mm256_castps128_ps256 (__L), __H, 1); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set_m128d (__m128d __H, __m128d __L) { return _mm256_insertf128_pd (_mm256_castpd128_pd256 (__L), __H, 1); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_set_m128i (__m128i __H, __m128i __L) { return _mm256_insertf128_si256 (_mm256_castsi128_si256 (__L), __H, 1); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_setr_m128 (__m128 __L, __m128 __H) { return _mm256_set_m128 (__H, __L); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_setr_m128d (__m128d __L, __m128d __H) { return _mm256_set_m128d (__H, __L); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_setr_m128i (__m128i __L, __m128i __H) { return _mm256_set_m128i (__H, __L); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_loadu2_m128 (float const *__PH, float const *__PL) { return _mm256_insertf128_ps (_mm256_castps128_ps256 (_mm_loadu_ps (__PL)), _mm_loadu_ps (__PH), 1); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_storeu2_m128 (float *__PH, float *__PL, __m256 __A) { _mm_storeu_ps (__PL, _mm256_castps256_ps128 (__A)); _mm_storeu_ps (__PH, _mm256_extractf128_ps (__A, 1)); } extern __inline __m256d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_loadu2_m128d (double const *__PH, double const *__PL) { return _mm256_insertf128_pd (_mm256_castpd128_pd256 (_mm_loadu_pd (__PL)), _mm_loadu_pd (__PH), 1); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_storeu2_m128d (double *__PH, double *__PL, __m256d __A) { _mm_storeu_pd (__PL, _mm256_castpd256_pd128 (__A)); _mm_storeu_pd (__PH, _mm256_extractf128_pd (__A, 1)); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_loadu2_m128i (__m128i_u const *__PH, __m128i_u const *__PL) { return _mm256_insertf128_si256 (_mm256_castsi128_si256 (_mm_loadu_si128 (__PL)), _mm_loadu_si128 (__PH), 1); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_storeu2_m128i (__m128i_u *__PH, __m128i_u *__PL, __m256i __A) { _mm_storeu_si128 (__PL, _mm256_castsi256_si128 (__A)); _mm_storeu_si128 (__PH, _mm256_extractf128_si256 (__A, 1)); } #pragma GCC pop_options # 52 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx2intrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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) ((__v32qs)__A > (__v32qs)__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/x86_64-redhat-linux/10/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); } # 1905 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx2intrin.h" 3 4 #pragma GCC pop_options # 54 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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 float __m512_u __attribute__ ((__vector_size__ (64), __may_alias__, __aligned__ (1))); typedef long long __m512i_u __attribute__ ((__vector_size__ (64), __may_alias__, __aligned__ (1))); typedef double __m512d_u __attribute__ ((__vector_size__ (64), __may_alias__, __aligned__ (1))); typedef unsigned char __mmask8; typedef unsigned short __mmask16; extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_int2mask (int __M) { return (__mmask16) __M; } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask2int (__mmask16 __M) { return (int) __M; } 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 __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set_epi16 (short __q31, short __q30, short __q29, short __q28, short __q27, short __q26, short __q25, short __q24, short __q23, short __q22, short __q21, short __q20, short __q19, short __q18, short __q17, short __q16, 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__ (__m512i)(__v32hi){ __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 __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_set_epi8 (char __q63, char __q62, char __q61, char __q60, char __q59, char __q58, char __q57, char __q56, char __q55, char __q54, char __q53, char __q52, char __q51, char __q50, char __q49, char __q48, char __q47, char __q46, char __q45, char __q44, char __q43, char __q42, char __q41, char __q40, char __q39, char __q38, char __q37, char __q36, char __q35, char __q34, char __q33, char __q32, 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__ (__m512i)(__v64qi){ __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, __q32, __q33, __q34, __q35, __q36, __q37, __q38, __q39, __q40, __q41, __q42, __q43, __q44, __q45, __q46, __q47, __q48, __q49, __q50, __q51, __q52, __q53, __q54, __q55, __q56, __q57, __q58, __q59, __q60, __q61, __q62, __q63 }; } 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 }; } # 184 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (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 }; } # 308 "/usr/lib/gcc/x86_64-redhat-linux/10/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 __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_setzero (void) { return _mm512_setzero_ps (); } 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_mullox_epi64 (__m512i __A, __m512i __B) { return (__m512i) ((__v8du) __A * (__v8du) __B); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_mullox_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) { return _mm512_mask_mov_epi64 (__W, __M, _mm512_mullox_epi64 (__A, __B)); } 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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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); } # 1052 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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); } # 1131 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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); } # 1210 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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); } # 1289 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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); } # 1368 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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); } # 1447 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_add_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_addsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_add_round_sd (__mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_addsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, __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 __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_add_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_addss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_add_round_ss (__mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_addss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U, __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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sub_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_subsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sub_round_sd (__mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_subsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, __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); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sub_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_subss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sub_round_ss (__mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_subss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U, __R); } # 1648 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 1737 "/usr/lib/gcc/x86_64-redhat-linux/10/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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rcp14_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_rcp14sd_mask ((__v2df) __B, (__v2df) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rcp14_sd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_rcp14sd_mask ((__v2df) __B, (__v2df) __A, (__v2df) _mm_setzero_ps (), (__mmask8) __U); } 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 __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rcp14_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_rcp14ss_mask ((__v4sf) __B, (__v4sf) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rcp14_ss (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_rcp14ss_mask ((__v4sf) __B, (__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } 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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rsqrt14_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_rsqrt14sd_mask ((__v2df) __B, (__v2df) __A, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rsqrt14_sd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_rsqrt14sd_mask ((__v2df) __B, (__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } 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 __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_rsqrt14_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_rsqrt14ss_mask ((__v4sf) __B, (__v4sf) __A, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_rsqrt14_ss (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_rsqrt14ss_mask ((__v4sf) __B, (__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } 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_mask_round ((__v2df) __B, (__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) -1, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sqrt_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_sqrtsd_mask_round ((__v2df) __B, (__v2df) __A, (__v2df) __W, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sqrt_round_sd (__mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_sqrtsd_mask_round ((__v2df) __B, (__v2df) __A, (__v2df) _mm_setzero_pd (), (__mmask8) __U, __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_mask_round ((__v4sf) __B, (__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) -1, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sqrt_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_sqrtss_mask_round ((__v4sf) __B, (__v4sf) __A, (__v4sf) __W, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sqrt_round_ss (__mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_sqrtss_mask_round ((__v4sf) __B, (__v4sf) __A, (__v4sf) _mm_setzero_ps (), (__mmask8) __U, __R); } # 2132 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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); } # 2595 "/usr/lib/gcc/x86_64-redhat-linux/10/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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mul_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_mulsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mul_round_sd (__mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_mulsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, __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 __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mul_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_mulss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mul_round_ss (__mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_mulss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U, __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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_div_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_divsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_div_round_sd (__mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_divsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, __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); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_div_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_divss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_div_round_ss (__mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_divss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U, __R); } # 2933 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 3105 "/usr/lib/gcc/x86_64-redhat-linux/10/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_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) -1, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_scalef_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_scalefsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_scalef_round_sd (__mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_scalefsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, __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_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) -1, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_scalef_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_scalefss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_scalef_round_ss (__mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_scalefss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U, __R); } # 3268 "/usr/lib/gcc/x86_64-redhat-linux/10/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_vfmsubpd512_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_vfmsubpd512_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_vfmsubpd512_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_vfmsubps512_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_vfmsubps512_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_vfmsubps512_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_vfnmaddpd512_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_vfnmaddpd512_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_vfnmaddpd512_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_vfnmaddps512_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_vfnmaddps512_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_vfnmaddps512_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_vfnmsubpd512_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_vfnmsubpd512_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_vfnmsubps512_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_vfnmsubps512_maskz ((__v16sf) __A, (__v16sf) __B, (__v16sf) __C, (__mmask16) __U, __R); } # 3929 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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); } # 4623 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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); } # 4832 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 4912 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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); } # 4992 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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); } # 5071 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundu64_sd (__m128d __A, unsigned long long __B, const int __R) { return (__m128d) __builtin_ia32_cvtusi2sd64 ((__v2df) __A, __B, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundi64_sd (__m128d __A, long long __B, const int __R) { return (__m128d) __builtin_ia32_cvtsi2sd64 ((__v2df) __A, __B, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundsi64_sd (__m128d __A, long long __B, const int __R) { return (__m128d) __builtin_ia32_cvtsi2sd64 ((__v2df) __A, __B, __R); } # 5114 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 5147 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundu64_ss (__m128 __A, unsigned long long __B, const int __R) { return (__m128) __builtin_ia32_cvtusi2ss64 ((__v4sf) __A, __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundsi64_ss (__m128 __A, long long __B, const int __R) { return (__m128) __builtin_ia32_cvtsi2ss64 ((__v4sf) __A, __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundi64_ss (__m128 __A, long long __B, const int __R) { return (__m128) __builtin_ia32_cvtsi2ss64 ((__v4sf) __A, __B, __R); } # 5180 "/usr/lib/gcc/x86_64-redhat-linux/10/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) { 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); } # 5848 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 6055 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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); } # 6194 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_loadu_pd (void const *__P) { return *(__m512d_u *)__P; } 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 double *) __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 double *) __P, (__v8df) _mm512_setzero_pd (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_storeu_pd (void *__P, __m512d __A) { *(__m512d_u *)__P = __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_storeu_pd (void *__P, __mmask8 __U, __m512d __A) { __builtin_ia32_storeupd512_mask ((double *) __P, (__v8df) __A, (__mmask8) __U); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_loadu_ps (void const *__P) { return *(__m512_u *)__P; } 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 float *) __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 float *) __P, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_storeu_ps (void *__P, __m512 __A) { *(__m512_u *)__P = __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_storeu_ps (void *__P, __mmask16 __U, __m512 __A) { __builtin_ia32_storeups512_mask ((float *) __P, (__v16sf) __A, (__mmask16) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_load_ss (__m128 __W, __mmask8 __U, const float *__P) { return (__m128) __builtin_ia32_loadss_mask (__P, (__v4sf) __W, __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_load_ss (__mmask8 __U, const float *__P) { return (__m128) __builtin_ia32_loadss_mask (__P, (__v4sf) _mm_setzero_ps (), __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_load_sd (__m128d __W, __mmask8 __U, const double *__P) { return (__m128d) __builtin_ia32_loadsd_mask (__P, (__v2df) __W, __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_load_sd (__mmask8 __U, const double *__P) { return (__m128d) __builtin_ia32_loadsd_mask (__P, (__v2df) _mm_setzero_pd (), __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_move_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_movess_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_move_ss (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_movess_mask ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_move_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_movesd_mask ((__v2df) __A, (__v2df) __B, (__v2df) __W, __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_move_sd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_movesd_mask ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_store_ss (float *__P, __mmask8 __U, __m128 __A) { __builtin_ia32_storess_mask (__P, (__v4sf) __A, (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_store_sd (double *__P, __mmask8 __U, __m128d __A) { __builtin_ia32_storesd_mask (__P, (__v2df) __A, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_loadu_epi64 (void const *__P) { return *(__m512i_u *) __P; } 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 long long *) __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 long long *) __P, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_storeu_epi64 (void *__P, __m512i __A) { *(__m512i_u *) __P = (__m512i_u) __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_storeu_epi64 (void *__P, __mmask8 __U, __m512i __A) { __builtin_ia32_storedqudi512_mask ((long long *) __P, (__v8di) __A, (__mmask8) __U); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_loadu_si512 (void const *__P) { return *(__m512i_u *)__P; } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_loadu_epi32 (void const *__P) { return *(__m512i_u *) __P; } 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 int *) __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 int *) __P, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_storeu_si512 (void *__P, __m512i __A) { *(__m512i_u *)__P = __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_storeu_epi32 (void *__P, __m512i __A) { *(__m512i_u *) __P = (__m512i_u) __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_storeu_epi32 (void *__P, __mmask16 __U, __m512i __A) { __builtin_ia32_storedqusi512_mask ((int *) __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); } # 6791 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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); } # 6885 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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); } # 7320 "/usr/lib/gcc/x86_64-redhat-linux/10/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, __mmask8 __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 (__mmask8 __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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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); } # 7685 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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 __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_abs_ps (__m512 __A) { return (__m512) _mm512_and_epi32 ((__m512i) __A, _mm512_set1_epi32 (0x7fffffff)); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_abs_ps (__m512 __W, __mmask16 __U, __m512 __A) { return (__m512) _mm512_mask_and_epi32 ((__m512i) __W, __U, (__m512i) __A, _mm512_set1_epi32 (0x7fffffff)); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_abs_pd (__m512d __A) { return (__m512d) _mm512_and_epi64 ((__m512i) __A, _mm512_set1_epi64 (0x7fffffffffffffffLL)); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_abs_pd (__m512d __W, __mmask8 __U, __m512d __A) { return (__m512d) _mm512_mask_and_epi64 ((__m512i) __W, __U, (__m512i) __A, _mm512_set1_epi64 (0x7fffffffffffffffLL)); } 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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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); } extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundss_u64 (__m128 __A, const int __R) { return (unsigned long long) __builtin_ia32_vcvtss2usi64 ((__v4sf) __A, __R); } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundss_si64 (__m128 __A, const int __R) { return (long long) __builtin_ia32_vcvtss2si64 ((__v4sf) __A, __R); } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundss_i64 (__m128 __A, const int __R) { return (long long) __builtin_ia32_vcvtss2si64 ((__v4sf) __A, __R); } extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_roundss_u64 (__m128 __A, const int __R) { return (unsigned long long) __builtin_ia32_vcvttss2usi64 ((__v4sf) __A, __R); } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_roundss_i64 (__m128 __A, const int __R) { return (long long) __builtin_ia32_vcvttss2si64 ((__v4sf) __A, __R); } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_roundss_si64 (__m128 __A, const int __R) { return (long long) __builtin_ia32_vcvttss2si64 ((__v4sf) __A, __R); } # 8116 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 8179 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundsd_u64 (__m128d __A, const int __R) { return (unsigned long long) __builtin_ia32_vcvtsd2usi64 ((__v2df) __A, __R); } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundsd_si64 (__m128d __A, const int __R) { return (long long) __builtin_ia32_vcvtsd2si64 ((__v2df) __A, __R); } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvt_roundsd_i64 (__m128d __A, const int __R) { return (long long) __builtin_ia32_vcvtsd2si64 ((__v2df) __A, __R); } extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_roundsd_u64 (__m128d __A, const int __R) { return (unsigned long long) __builtin_ia32_vcvttsd2usi64 ((__v2df) __A, __R); } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_roundsd_si64 (__m128d __A, const int __R) { return (long long) __builtin_ia32_vcvttsd2si64 ((__v2df) __A, __R); } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtt_roundsd_i64 (__m128d __A, const int __R) { return (long long) __builtin_ia32_vcvttsd2si64 ((__v2df) __A, __R); } # 8242 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 8303 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 8593 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 8657 "/usr/lib/gcc/x86_64-redhat-linux/10/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 __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_getexp_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_getexpss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_getexp_round_ss (__mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_getexpss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U, __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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_getexp_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_getexpsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_getexp_round_sd (__mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_getexpsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, __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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_getmant_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, _MM_MANTISSA_NORM_ENUM __C, _MM_MANTISSA_SIGN_ENUM __D, const int __R) { return (__m128d) __builtin_ia32_getmantsd_mask_round ((__v2df) __A, (__v2df) __B, (__D << 2) | __C, (__v2df) __W, __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_getmant_round_sd (__mmask8 __U, __m128d __A, __m128d __B, _MM_MANTISSA_NORM_ENUM __C, _MM_MANTISSA_SIGN_ENUM __D, const int __R) { return (__m128d) __builtin_ia32_getmantsd_mask_round ((__v2df) __A, (__v2df) __B, (__D << 2) | __C, (__v2df) _mm_setzero_pd(), __U, __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); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_getmant_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, _MM_MANTISSA_NORM_ENUM __C, _MM_MANTISSA_SIGN_ENUM __D, const int __R) { return (__m128) __builtin_ia32_getmantss_mask_round ((__v4sf) __A, (__v4sf) __B, (__D << 2) | __C, (__v4sf) __W, __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_getmant_round_ss (__mmask8 __U, __m128 __A, __m128 __B, _MM_MANTISSA_NORM_ENUM __C, _MM_MANTISSA_SIGN_ENUM __D, const int __R) { return (__m128) __builtin_ia32_getmantss_mask_round ((__v4sf) __A, (__v4sf) __B, (__D << 2) | __C, (__v4sf) _mm_setzero_ps(), __U, __R); } # 9106 "/usr/lib/gcc/x86_64-redhat-linux/10/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_mask_round ((__v4sf) __A, (__v4sf) __B, __imm, (__v4sf) _mm_setzero_ps (), (__mmask8) -1, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_roundscale_round_ss (__m128 __A, __mmask8 __B, __m128 __C, __m128 __D, const int __imm, const int __R) { return (__m128) __builtin_ia32_rndscaless_mask_round ((__v4sf) __C, (__v4sf) __D, __imm, (__v4sf) __A, (__mmask8) __B, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_roundscale_round_ss (__mmask8 __A, __m128 __B, __m128 __C, const int __imm, const int __R) { return (__m128) __builtin_ia32_rndscaless_mask_round ((__v4sf) __B, (__v4sf) __C, __imm, (__v4sf) _mm_setzero_ps (), (__mmask8) __A, __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_mask_round ((__v2df) __A, (__v2df) __B, __imm, (__v2df) _mm_setzero_pd (), (__mmask8) -1, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_roundscale_round_sd (__m128d __A, __mmask8 __B, __m128d __C, __m128d __D, const int __imm, const int __R) { return (__m128d) __builtin_ia32_rndscalesd_mask_round ((__v2df) __C, (__v2df) __D, __imm, (__v2df) __A, (__mmask8) __B, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_roundscale_round_sd (__mmask8 __A, __m128d __B, __m128d __C, const int __imm, const int __R) { return (__m128d) __builtin_ia32_rndscalesd_mask_round ((__v2df) __B, (__v2df) __C, __imm, (__v2df) _mm_setzero_pd (), (__mmask8) __A, __R); } # 9329 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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); } # 9508 "/usr/lib/gcc/x86_64-redhat-linux/10/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 (__mmask8 __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); } # 9875 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kshiftli_mask16 (__mmask16 __A, unsigned int __B) { return (__mmask16) __builtin_ia32_kshiftlihi ((__mmask16) __A, (__mmask8) __B); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kshiftri_mask16 (__mmask16 __A, unsigned int __B) { return (__mmask16) __builtin_ia32_kshiftrihi ((__mmask16) __A, (__mmask8) __B); } 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); } # 10133 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_i32gather_ps (__m512i __index, void 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, void 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, void 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, void 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, void 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, void 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, void 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, void 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, void const *__addr, int __scale) { __m512i __v1_old = _mm512_undefined_epi32 (); __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, void 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, void const *__addr, int __scale) { __m512i __v1_old = _mm512_undefined_epi32 (); __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, void 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, void 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, void 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, void const *__addr, int __scale) { __m512i __v1_old = _mm512_undefined_epi32 (); __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, void 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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__addr, __mmask8 __mask, __m512i __index, __m512i __v1, int __scale) { __builtin_ia32_scatterdiv8di (__addr, __mask, (__v8di) __index, (__v8di) __v1, __scale); } # 10646 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 10915 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kortest_mask16_u8 (__mmask16 __A, __mmask16 __B, unsigned char *__CF) { *__CF = (unsigned char) __builtin_ia32_kortestchi (__A, __B); return (unsigned char) __builtin_ia32_kortestzhi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kortestz_mask16_u8 (__mmask16 __A, __mmask16 __B) { return (unsigned char) __builtin_ia32_kortestzhi ((__mmask16) __A, (__mmask16) __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kortestc_mask16_u8 (__mmask16 __A, __mmask16 __B) { return (unsigned char) __builtin_ia32_kortestchi ((__mmask16) __A, (__mmask16) __B); } extern __inline unsigned int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _cvtmask16_u32 (__mmask16 __A) { return (unsigned int) __builtin_ia32_kmovw ((__mmask16 ) __A); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _cvtu32_mask16 (unsigned int __A) { return (__mmask16) __builtin_ia32_kmovw ((__mmask16 ) __A); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _load_mask16 (__mmask16 *__A) { return (__mmask16) __builtin_ia32_kmovw (*(__mmask16 *) __A); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _store_mask16 (__mmask16 *__A, __mmask16 __B) { *(__mmask16 *) __A = __builtin_ia32_kmovw (__B); } 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 __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kunpackb_mask16 (__mmask8 __A, __mmask8 __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); } # 11110 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_maxsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_round_sd (__mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_maxsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, __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 __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_maxss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_round_ss (__mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_maxss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U, __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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_minsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_round_sd (__mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_minsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, __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); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_minss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_round_ss (__mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_minss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U, __R); } # 11558 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } # 11700 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmadd_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df) __W, (__v2df) __A, (__v2df) __B, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmadd_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __W, (__v4sf) __A, (__v4sf) __B, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmadd_sd (__m128d __W, __m128d __A, __m128d __B, __mmask8 __U) { return (__m128d) __builtin_ia32_vfmaddsd3_mask3 ((__v2df) __W, (__v2df) __A, (__v2df) __B, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmadd_ss (__m128 __W, __m128 __A, __m128 __B, __mmask8 __U) { return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf) __W, (__v4sf) __A, (__v4sf) __B, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmadd_sd (__mmask8 __U, __m128d __W, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df) __W, (__v2df) __A, (__v2df) __B, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmadd_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __W, (__v4sf) __A, (__v4sf) __B, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmsub_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df) __W, (__v2df) __A, -(__v2df) __B, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmsub_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __W, (__v4sf) __A, -(__v4sf) __B, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmsub_sd (__m128d __W, __m128d __A, __m128d __B, __mmask8 __U) { return (__m128d) __builtin_ia32_vfmsubsd3_mask3 ((__v2df) __W, (__v2df) __A, (__v2df) __B, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmsub_ss (__m128 __W, __m128 __A, __m128 __B, __mmask8 __U) { return (__m128) __builtin_ia32_vfmsubss3_mask3 ((__v4sf) __W, (__v4sf) __A, (__v4sf) __B, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmsub_sd (__mmask8 __U, __m128d __W, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df) __W, (__v2df) __A, -(__v2df) __B, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmsub_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __W, (__v4sf) __A, -(__v4sf) __B, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fnmadd_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df) __W, -(__v2df) __A, (__v2df) __B, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fnmadd_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __W, -(__v4sf) __A, (__v4sf) __B, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fnmadd_sd (__m128d __W, __m128d __A, __m128d __B, __mmask8 __U) { return (__m128d) __builtin_ia32_vfmaddsd3_mask3 ((__v2df) __W, -(__v2df) __A, (__v2df) __B, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fnmadd_ss (__m128 __W, __m128 __A, __m128 __B, __mmask8 __U) { return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf) __W, -(__v4sf) __A, (__v4sf) __B, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fnmadd_sd (__mmask8 __U, __m128d __W, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df) __W, -(__v2df) __A, (__v2df) __B, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fnmadd_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __W, -(__v4sf) __A, (__v4sf) __B, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fnmsub_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df) __W, -(__v2df) __A, -(__v2df) __B, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fnmsub_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __W, -(__v4sf) __A, -(__v4sf) __B, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fnmsub_sd (__m128d __W, __m128d __A, __m128d __B, __mmask8 __U) { return (__m128d) __builtin_ia32_vfmsubsd3_mask3 ((__v2df) __W, -(__v2df) __A, (__v2df) __B, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fnmsub_ss (__m128 __W, __m128 __A, __m128 __B, __mmask8 __U) { return (__m128) __builtin_ia32_vfmsubss3_mask3 ((__v4sf) __W, -(__v4sf) __A, (__v4sf) __B, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fnmsub_sd (__mmask8 __U, __m128d __W, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df) __W, -(__v2df) __A, -(__v2df) __B, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fnmsub_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __W, -(__v4sf) __A, -(__v4sf) __B, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmadd_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df) __W, (__v2df) __A, (__v2df) __B, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmadd_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __W, (__v4sf) __A, (__v4sf) __B, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmadd_round_sd (__m128d __W, __m128d __A, __m128d __B, __mmask8 __U, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_mask3 ((__v2df) __W, (__v2df) __A, (__v2df) __B, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmadd_round_ss (__m128 __W, __m128 __A, __m128 __B, __mmask8 __U, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf) __W, (__v4sf) __A, (__v4sf) __B, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmadd_round_sd (__mmask8 __U, __m128d __W, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df) __W, (__v2df) __A, (__v2df) __B, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmadd_round_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __W, (__v4sf) __A, (__v4sf) __B, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmsub_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df) __W, (__v2df) __A, -(__v2df) __B, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fmsub_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __W, (__v4sf) __A, -(__v4sf) __B, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmsub_round_sd (__m128d __W, __m128d __A, __m128d __B, __mmask8 __U, const int __R) { return (__m128d) __builtin_ia32_vfmsubsd3_mask3 ((__v2df) __W, (__v2df) __A, (__v2df) __B, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fmsub_round_ss (__m128 __W, __m128 __A, __m128 __B, __mmask8 __U, const int __R) { return (__m128) __builtin_ia32_vfmsubss3_mask3 ((__v4sf) __W, (__v4sf) __A, (__v4sf) __B, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmsub_round_sd (__mmask8 __U, __m128d __W, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df) __W, (__v2df) __A, -(__v2df) __B, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fmsub_round_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __W, (__v4sf) __A, -(__v4sf) __B, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fnmadd_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df) __W, -(__v2df) __A, (__v2df) __B, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fnmadd_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __W, -(__v4sf) __A, (__v4sf) __B, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fnmadd_round_sd (__m128d __W, __m128d __A, __m128d __B, __mmask8 __U, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_mask3 ((__v2df) __W, -(__v2df) __A, (__v2df) __B, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fnmadd_round_ss (__m128 __W, __m128 __A, __m128 __B, __mmask8 __U, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_mask3 ((__v4sf) __W, -(__v4sf) __A, (__v4sf) __B, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fnmadd_round_sd (__mmask8 __U, __m128d __W, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df) __W, -(__v2df) __A, (__v2df) __B, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fnmadd_round_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __W, -(__v4sf) __A, (__v4sf) __B, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fnmsub_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_mask ((__v2df) __W, -(__v2df) __A, -(__v2df) __B, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fnmsub_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_mask ((__v4sf) __W, -(__v4sf) __A, -(__v4sf) __B, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fnmsub_round_sd (__m128d __W, __m128d __A, __m128d __B, __mmask8 __U, const int __R) { return (__m128d) __builtin_ia32_vfmsubsd3_mask3 ((__v2df) __W, -(__v2df) __A, (__v2df) __B, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask3_fnmsub_round_ss (__m128 __W, __m128 __A, __m128 __B, __mmask8 __U, const int __R) { return (__m128) __builtin_ia32_vfmsubss3_mask3 ((__v4sf) __W, -(__v4sf) __A, (__v4sf) __B, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fnmsub_round_sd (__mmask8 __U, __m128d __W, __m128d __A, __m128d __B, const int __R) { return (__m128d) __builtin_ia32_vfmaddsd3_maskz ((__v2df) __W, -(__v2df) __A, -(__v2df) __B, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_fnmsub_round_ss (__mmask8 __U, __m128 __W, __m128 __A, __m128 __B, const int __R) { return (__m128) __builtin_ia32_vfmaddss3_maskz ((__v4sf) __W, -(__v4sf) __A, -(__v4sf) __B, (__mmask8) __U, __R); } # 12303 "/usr/lib/gcc/x86_64-redhat-linux/10/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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_add_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_addsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_add_sd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_addsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_add_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_addss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_add_ss (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_addss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sub_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_subsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sub_sd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_subsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_sub_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_subss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_sub_ss (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_subss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mul_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_mulsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mul_sd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_mulsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_mul_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_mulss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_mul_ss (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_mulss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_div_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_divsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_div_sd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_divsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_div_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_divss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_div_ss (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_divss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_maxsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_sd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_maxsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_max_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_maxss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_max_ss (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_maxss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_minsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_sd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_minsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_min_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_minss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_min_ss (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_minss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __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_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) -1, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_scalef_ss (__m128 __A, __m128 __B) { return (__m128) __builtin_ia32_scalefss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) -1, 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_vfmsubpd512_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_vfmsubpd512_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_vfmsubpd512_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_vfmsubps512_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_vfmsubps512_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_vfmsubps512_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_vfnmaddpd512_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_vfnmaddpd512_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_vfnmaddpd512_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_vfnmaddps512_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_vfnmaddps512_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_vfnmaddps512_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_vfnmsubpd512_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_vfnmsubpd512_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_vfnmsubps512_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_vfnmsubps512_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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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); } extern __inline double __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtsd_f64 (__m512d __A) { return __A[0]; } extern __inline float __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtss_f32 (__m512 __A) { return __A[0]; } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtu64_ss (__m128 __A, unsigned long long __B) { return (__m128) __builtin_ia32_cvtusi2ss64 ((__v4sf) __A, __B, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtu64_sd (__m128d __A, unsigned long long __B) { return (__m128d) __builtin_ia32_cvtusi2sd64 ((__v2df) __A, __B, 0x04); } 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); } # 14239 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtss_u64 (__m128 __A) { return (unsigned long long) __builtin_ia32_vcvtss2usi64 ((__v4sf) __A, 0x04); } extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttss_u64 (__m128 __A) { return (unsigned long long) __builtin_ia32_vcvttss2usi64 ((__v4sf) __A, 0x04); } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttss_i64 (__m128 __A) { return (long long) __builtin_ia32_vcvttss2si64 ((__v4sf) __A, 0x04); } 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); } extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtsd_u64 (__m128d __A) { return (unsigned long long) __builtin_ia32_vcvtsd2usi64 ((__v2df) __A, 0x04); } extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttsd_u64 (__m128d __A) { return (unsigned long long) __builtin_ia32_vcvttsd2usi64 ((__v2df) __A, 0x04); } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvttsd_i64 (__m128d __A) { return (long long) __builtin_ia32_vcvttsd2si64 ((__v2df) __A, 0x04); } 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 __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_getexp_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_getexpss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) __W, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_getexp_ss (__mmask8 __U, __m128 __A, __m128 __B) { return (__m128) __builtin_ia32_getexpss_mask_round ((__v4sf) __A, (__v4sf) __B, (__v4sf) _mm_setzero_ps (), (__mmask8) __U, 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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_getexp_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_getexpsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) __W, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_getexp_sd (__mmask8 __U, __m128d __A, __m128d __B) { return (__m128d) __builtin_ia32_getexpsd_mask_round ((__v2df) __A, (__v2df) __B, (__v2df) _mm_setzero_pd (), (__mmask8) __U, 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 __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_getmant_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, _MM_MANTISSA_NORM_ENUM __C, _MM_MANTISSA_SIGN_ENUM __D) { return (__m128d) __builtin_ia32_getmantsd_mask_round ((__v2df) __A, (__v2df) __B, (__D << 2) | __C, (__v2df) __W, __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_getmant_sd (__mmask8 __U, __m128d __A, __m128d __B, _MM_MANTISSA_NORM_ENUM __C, _MM_MANTISSA_SIGN_ENUM __D) { return (__m128d) __builtin_ia32_getmantsd_mask_round ((__v2df) __A, (__v2df) __B, (__D << 2) | __C, (__v2df) _mm_setzero_pd(), __U, 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); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_getmant_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, _MM_MANTISSA_NORM_ENUM __C, _MM_MANTISSA_SIGN_ENUM __D) { return (__m128) __builtin_ia32_getmantss_mask_round ((__v4sf) __A, (__v4sf) __B, (__D << 2) | __C, (__v4sf) __W, __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_getmant_ss (__mmask8 __U, __m128 __A, __m128 __B, _MM_MANTISSA_NORM_ENUM __C, _MM_MANTISSA_SIGN_ENUM __D) { return (__m128) __builtin_ia32_getmantss_mask_round ((__v4sf) __A, (__v4sf) __B, (__D << 2) | __C, (__v4sf) _mm_setzero_ps(), __U, 0x04); } # 14850 "/usr/lib/gcc/x86_64-redhat-linux/10/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_mask_round ((__v4sf) __A, (__v4sf) __B, __imm, (__v4sf) _mm_setzero_ps (), (__mmask8) -1, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_roundscale_ss (__m128 __A, __mmask8 __B, __m128 __C, __m128 __D, const int __imm) { return (__m128) __builtin_ia32_rndscaless_mask_round ((__v4sf) __C, (__v4sf) __D, __imm, (__v4sf) __A, (__mmask8) __B, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_roundscale_ss (__mmask8 __A, __m128 __B, __m128 __C, const int __imm) { return (__m128) __builtin_ia32_rndscaless_mask_round ((__v4sf) __B, (__v4sf) __C, __imm, (__v4sf) _mm_setzero_ps (), (__mmask8) __A, 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_mask_round ((__v2df) __A, (__v2df) __B, __imm, (__v2df) _mm_setzero_pd (), (__mmask8) -1, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_roundscale_sd (__m128d __A, __mmask8 __B, __m128d __C, __m128d __D, const int __imm) { return (__m128d) __builtin_ia32_rndscalesd_mask_round ((__v2df) __C, (__v2df) __D, __imm, (__v2df) __A, (__mmask8) __B, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_roundscale_sd (__mmask8 __A, __m128d __B, __m128d __C, const int __imm) { return (__m128d) __builtin_ia32_rndscalesd_mask_round ((__v2df) __B, (__v2df) __C, __imm, (__v2df) _mm_setzero_pd (), (__mmask8) __A, 0x04); } # 15077 "/usr/lib/gcc/x86_64-redhat-linux/10/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__)) _mm512_cmpeq_pd_mask (__m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x00, (__mmask8) -1, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpeq_pd_mask (__mmask8 __U, __m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x00, (__mmask8) __U, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmplt_pd_mask (__m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x01, (__mmask8) -1, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmplt_pd_mask (__mmask8 __U, __m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x01, (__mmask8) __U, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmple_pd_mask (__m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x02, (__mmask8) -1, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmple_pd_mask (__mmask8 __U, __m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x02, (__mmask8) __U, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpunord_pd_mask (__m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x03, (__mmask8) -1, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpunord_pd_mask (__mmask8 __U, __m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x03, (__mmask8) __U, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpneq_pd_mask (__m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x04, (__mmask8) -1, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpneq_pd_mask (__mmask8 __U, __m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x04, (__mmask8) __U, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpnlt_pd_mask (__m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x05, (__mmask8) -1, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpnlt_pd_mask (__mmask8 __U, __m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x05, (__mmask8) __U, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpnle_pd_mask (__m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x06, (__mmask8) -1, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpnle_pd_mask (__mmask8 __U, __m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x06, (__mmask8) __U, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpord_pd_mask (__m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x07, (__mmask8) -1, 0x04); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpord_pd_mask (__mmask8 __U, __m512d __X, __m512d __Y) { return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X, (__v8df) __Y, 0x07, (__mmask8) __U, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpeq_ps_mask (__m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x00, (__mmask16) -1, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpeq_ps_mask (__mmask16 __U, __m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x00, (__mmask16) __U, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmplt_ps_mask (__m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x01, (__mmask16) -1, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmplt_ps_mask (__mmask16 __U, __m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x01, (__mmask16) __U, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmple_ps_mask (__m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x02, (__mmask16) -1, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmple_ps_mask (__mmask16 __U, __m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x02, (__mmask16) __U, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpunord_ps_mask (__m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x03, (__mmask16) -1, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpunord_ps_mask (__mmask16 __U, __m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x03, (__mmask16) __U, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpneq_ps_mask (__m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x04, (__mmask16) -1, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpneq_ps_mask (__mmask16 __U, __m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x04, (__mmask16) __U, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpnlt_ps_mask (__m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x05, (__mmask16) -1, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpnlt_ps_mask (__mmask16 __U, __m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x05, (__mmask16) __U, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpnle_ps_mask (__m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x06, (__mmask16) -1, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpnle_ps_mask (__mmask16 __U, __m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x06, (__mmask16) __U, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cmpord_ps_mask (__m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x07, (__mmask16) -1, 0x04); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cmpord_ps_mask (__mmask16 __U, __m512 __X, __m512 __Y) { return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) __X, (__v16sf) __Y, 0x07, (__mmask16) __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); } # 15519 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_kmov (__mmask16 __A) { return __builtin_ia32_kmovw (__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 __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_zextpd128_pd512 (__m128d __A) { return (__m512d) _mm512_insertf32x4 (_mm512_setzero_ps (), (__m128) __A, 0); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_zextps128_ps512 (__m128 __A) { return _mm512_insertf32x4 (_mm512_setzero_ps (), __A, 0); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_zextsi128_si512 (__m128i __A) { return _mm512_inserti32x4 (_mm512_setzero_si512 (), __A, 0); } extern __inline __m512d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_zextpd256_pd512 (__m256d __A) { return _mm512_insertf64x4 (_mm512_setzero_pd (), __A, 0); } extern __inline __m512 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_zextps256_ps512 (__m256 __A) { return (__m512) _mm512_insertf64x4 (_mm512_setzero_pd (), (__m256d) __A, 0); } extern __inline __m512i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_zextsi256_si512 (__m256i __A) { return _mm512_inserti64x4 (_mm512_setzero_si512 (), __A, 0); } 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); } # 15774 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_add_epi32 (__m512i __A) { __v8si __T1 = (__v8si) _mm512_extracti64x4_epi64 (__A, 1); __v8si __T2 = (__v8si) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 + __T2); __v4si __T4 = (__v4si) _mm256_extracti128_si256 (__T3, 1); __v4si __T5 = (__v4si) _mm256_extracti128_si256 (__T3, 0); __v4si __T6 = __T4 + __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 + __T7; return __T8[0] + __T8[1]; } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_mul_epi32 (__m512i __A) { __v8si __T1 = (__v8si) _mm512_extracti64x4_epi64 (__A, 1); __v8si __T2 = (__v8si) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 * __T2); __v4si __T4 = (__v4si) _mm256_extracti128_si256 (__T3, 1); __v4si __T5 = (__v4si) _mm256_extracti128_si256 (__T3, 0); __v4si __T6 = __T4 * __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 * __T7; return __T8[0] * __T8[1]; } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_and_epi32 (__m512i __A) { __v8si __T1 = (__v8si) _mm512_extracti64x4_epi64 (__A, 1); __v8si __T2 = (__v8si) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 & __T2); __v4si __T4 = (__v4si) _mm256_extracti128_si256 (__T3, 1); __v4si __T5 = (__v4si) _mm256_extracti128_si256 (__T3, 0); __v4si __T6 = __T4 & __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 & __T7; return __T8[0] & __T8[1]; } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_or_epi32 (__m512i __A) { __v8si __T1 = (__v8si) _mm512_extracti64x4_epi64 (__A, 1); __v8si __T2 = (__v8si) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 | __T2); __v4si __T4 = (__v4si) _mm256_extracti128_si256 (__T3, 1); __v4si __T5 = (__v4si) _mm256_extracti128_si256 (__T3, 0); __v4si __T6 = __T4 | __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 | __T7; return __T8[0] | __T8[1]; } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_add_epi32 (__mmask16 __U, __m512i __A) { __A = _mm512_maskz_mov_epi32 (__U, __A); __v8si __T1 = (__v8si) _mm512_extracti64x4_epi64 (__A, 1); __v8si __T2 = (__v8si) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 + __T2); __v4si __T4 = (__v4si) _mm256_extracti128_si256 (__T3, 1); __v4si __T5 = (__v4si) _mm256_extracti128_si256 (__T3, 0); __v4si __T6 = __T4 + __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 + __T7; return __T8[0] + __T8[1]; } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_mul_epi32 (__mmask16 __U, __m512i __A) { __A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (1), __U, __A); __v8si __T1 = (__v8si) _mm512_extracti64x4_epi64 (__A, 1); __v8si __T2 = (__v8si) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 * __T2); __v4si __T4 = (__v4si) _mm256_extracti128_si256 (__T3, 1); __v4si __T5 = (__v4si) _mm256_extracti128_si256 (__T3, 0); __v4si __T6 = __T4 * __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 * __T7; return __T8[0] * __T8[1]; } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_and_epi32 (__mmask16 __U, __m512i __A) { __A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (~0), __U, __A); __v8si __T1 = (__v8si) _mm512_extracti64x4_epi64 (__A, 1); __v8si __T2 = (__v8si) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 & __T2); __v4si __T4 = (__v4si) _mm256_extracti128_si256 (__T3, 1); __v4si __T5 = (__v4si) _mm256_extracti128_si256 (__T3, 0); __v4si __T6 = __T4 & __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 & __T7; return __T8[0] & __T8[1]; } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_or_epi32 (__mmask16 __U, __m512i __A) { __A = _mm512_maskz_mov_epi32 (__U, __A); __v8si __T1 = (__v8si) _mm512_extracti64x4_epi64 (__A, 1); __v8si __T2 = (__v8si) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 | __T2); __v4si __T4 = (__v4si) _mm256_extracti128_si256 (__T3, 1); __v4si __T5 = (__v4si) _mm256_extracti128_si256 (__T3, 0); __v4si __T6 = __T4 | __T5; __v4si __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __v4si __T8 = __T6 | __T7; return __T8[0] | __T8[1]; } # 15850 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_min_epi32 (__m512i __A) { __m256i __T1 = (__m256i) _mm512_extracti64x4_epi64 (__A, 1); __m256i __T2 = (__m256i) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = _mm256_min_epi32 (__T1, __T2); __m128i __T4 = (__m128i) _mm256_extracti128_si256 (__T3, 1); __m128i __T5 = (__m128i) _mm256_extracti128_si256 (__T3, 0); __m128i __T6 = _mm_min_epi32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_min_epi32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_min_epi32 (__T8, __T9); return __T10[0]; } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_max_epi32 (__m512i __A) { __m256i __T1 = (__m256i) _mm512_extracti64x4_epi64 (__A, 1); __m256i __T2 = (__m256i) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = _mm256_max_epi32 (__T1, __T2); __m128i __T4 = (__m128i) _mm256_extracti128_si256 (__T3, 1); __m128i __T5 = (__m128i) _mm256_extracti128_si256 (__T3, 0); __m128i __T6 = _mm_max_epi32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_max_epi32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_max_epi32 (__T8, __T9); return __T10[0]; } extern __inline unsigned int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_min_epu32 (__m512i __A) { __m256i __T1 = (__m256i) _mm512_extracti64x4_epi64 (__A, 1); __m256i __T2 = (__m256i) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = _mm256_min_epu32 (__T1, __T2); __m128i __T4 = (__m128i) _mm256_extracti128_si256 (__T3, 1); __m128i __T5 = (__m128i) _mm256_extracti128_si256 (__T3, 0); __m128i __T6 = _mm_min_epu32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_min_epu32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_min_epu32 (__T8, __T9); return __T10[0]; } extern __inline unsigned int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_max_epu32 (__m512i __A) { __m256i __T1 = (__m256i) _mm512_extracti64x4_epi64 (__A, 1); __m256i __T2 = (__m256i) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = _mm256_max_epu32 (__T1, __T2); __m128i __T4 = (__m128i) _mm256_extracti128_si256 (__T3, 1); __m128i __T5 = (__m128i) _mm256_extracti128_si256 (__T3, 0); __m128i __T6 = _mm_max_epu32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_max_epu32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_max_epu32 (__T8, __T9); return __T10[0]; } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_min_epi32 (__mmask16 __U, __m512i __A) { __A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (0x7fffffff), __U, __A); __m256i __T1 = (__m256i) _mm512_extracti64x4_epi64 (__A, 1); __m256i __T2 = (__m256i) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = _mm256_min_epi32 (__T1, __T2); __m128i __T4 = (__m128i) _mm256_extracti128_si256 (__T3, 1); __m128i __T5 = (__m128i) _mm256_extracti128_si256 (__T3, 0); __m128i __T6 = _mm_min_epi32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_min_epi32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_min_epi32 (__T8, __T9); return __T10[0]; } extern __inline int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_max_epi32 (__mmask16 __U, __m512i __A) { __A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (-0x7fffffff - 1), __U, __A); __m256i __T1 = (__m256i) _mm512_extracti64x4_epi64 (__A, 1); __m256i __T2 = (__m256i) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = _mm256_max_epi32 (__T1, __T2); __m128i __T4 = (__m128i) _mm256_extracti128_si256 (__T3, 1); __m128i __T5 = (__m128i) _mm256_extracti128_si256 (__T3, 0); __m128i __T6 = _mm_max_epi32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_max_epi32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_max_epi32 (__T8, __T9); return __T10[0]; } extern __inline unsigned int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_min_epu32 (__mmask16 __U, __m512i __A) { __A = _mm512_mask_mov_epi32 (_mm512_set1_epi32 (~0), __U, __A); __m256i __T1 = (__m256i) _mm512_extracti64x4_epi64 (__A, 1); __m256i __T2 = (__m256i) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = _mm256_min_epu32 (__T1, __T2); __m128i __T4 = (__m128i) _mm256_extracti128_si256 (__T3, 1); __m128i __T5 = (__m128i) _mm256_extracti128_si256 (__T3, 0); __m128i __T6 = _mm_min_epu32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_min_epu32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_min_epu32 (__T8, __T9); return __T10[0]; } extern __inline unsigned int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_max_epu32 (__mmask16 __U, __m512i __A) { __A = _mm512_maskz_mov_epi32 (__U, __A); __m256i __T1 = (__m256i) _mm512_extracti64x4_epi64 (__A, 1); __m256i __T2 = (__m256i) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = _mm256_max_epu32 (__T1, __T2); __m128i __T4 = (__m128i) _mm256_extracti128_si256 (__T3, 1); __m128i __T5 = (__m128i) _mm256_extracti128_si256 (__T3, 0); __m128i __T6 = _mm_max_epu32 (__T4, __T5); __m128i __T7 = (__m128i) __builtin_shuffle ((__v4si) __T6, (__v4si) { 2, 3, 0, 1 }); __m128i __T8 = _mm_max_epu32 (__T6, __T7); __m128i __T9 = (__m128i) __builtin_shuffle ((__v4si) __T8, (__v4si) { 1, 0, 1, 0 }); __v4si __T10 = (__v4si) _mm_max_epu32 (__T8, __T9); return __T10[0]; } # 15922 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline float __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_add_ps (__m512 __A) { __m256 __T1 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 1); __m256 __T2 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 0); __m256 __T3 = __T1 + __T2; __m128 __T4 = _mm256_extractf128_ps (__T3, 1); __m128 __T5 = _mm256_extractf128_ps (__T3, 0); __m128 __T6 = __T4 + __T5; __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = __T6 + __T7; return __T8[0] + __T8[1]; } extern __inline float __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_mul_ps (__m512 __A) { __m256 __T1 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 1); __m256 __T2 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 0); __m256 __T3 = __T1 * __T2; __m128 __T4 = _mm256_extractf128_ps (__T3, 1); __m128 __T5 = _mm256_extractf128_ps (__T3, 0); __m128 __T6 = __T4 * __T5; __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = __T6 * __T7; return __T8[0] * __T8[1]; } extern __inline float __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_add_ps (__mmask16 __U, __m512 __A) { __A = _mm512_maskz_mov_ps (__U, __A); __m256 __T1 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 1); __m256 __T2 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 0); __m256 __T3 = __T1 + __T2; __m128 __T4 = _mm256_extractf128_ps (__T3, 1); __m128 __T5 = _mm256_extractf128_ps (__T3, 0); __m128 __T6 = __T4 + __T5; __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = __T6 + __T7; return __T8[0] + __T8[1]; } extern __inline float __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_mul_ps (__mmask16 __U, __m512 __A) { __A = _mm512_mask_mov_ps (_mm512_set1_ps (1.0f), __U, __A); __m256 __T1 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 1); __m256 __T2 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 0); __m256 __T3 = __T1 * __T2; __m128 __T4 = _mm256_extractf128_ps (__T3, 1); __m128 __T5 = _mm256_extractf128_ps (__T3, 0); __m128 __T6 = __T4 * __T5; __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = __T6 * __T7; return __T8[0] * __T8[1]; } # 15966 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline float __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_min_ps (__m512 __A) { __m256 __T1 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 1); __m256 __T2 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 0); __m256 __T3 = _mm256_min_ps (__T1, __T2); __m128 __T4 = _mm256_extractf128_ps (__T3, 1); __m128 __T5 = _mm256_extractf128_ps (__T3, 0); __m128 __T6 = _mm_min_ps (__T4, __T5); __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = _mm_min_ps (__T6, __T7); __m128 __T9 = __builtin_shuffle (__T8, (__v4si) { 1, 0, 1, 0 }); __m128 __T10 = _mm_min_ps (__T8, __T9); return __T10[0]; } extern __inline float __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_max_ps (__m512 __A) { __m256 __T1 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 1); __m256 __T2 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 0); __m256 __T3 = _mm256_max_ps (__T1, __T2); __m128 __T4 = _mm256_extractf128_ps (__T3, 1); __m128 __T5 = _mm256_extractf128_ps (__T3, 0); __m128 __T6 = _mm_max_ps (__T4, __T5); __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = _mm_max_ps (__T6, __T7); __m128 __T9 = __builtin_shuffle (__T8, (__v4si) { 1, 0, 1, 0 }); __m128 __T10 = _mm_max_ps (__T8, __T9); return __T10[0]; } extern __inline float __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_min_ps (__mmask16 __U, __m512 __A) { __A = _mm512_mask_mov_ps (_mm512_set1_ps (__builtin_inff ()), __U, __A); __m256 __T1 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 1); __m256 __T2 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 0); __m256 __T3 = _mm256_min_ps (__T1, __T2); __m128 __T4 = _mm256_extractf128_ps (__T3, 1); __m128 __T5 = _mm256_extractf128_ps (__T3, 0); __m128 __T6 = _mm_min_ps (__T4, __T5); __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = _mm_min_ps (__T6, __T7); __m128 __T9 = __builtin_shuffle (__T8, (__v4si) { 1, 0, 1, 0 }); __m128 __T10 = _mm_min_ps (__T8, __T9); return __T10[0]; } extern __inline float __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_max_ps (__mmask16 __U, __m512 __A) { __A = _mm512_mask_mov_ps (_mm512_set1_ps (-__builtin_inff ()), __U, __A); __m256 __T1 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 1); __m256 __T2 = (__m256) _mm512_extractf64x4_pd ((__m512d) __A, 0); __m256 __T3 = _mm256_max_ps (__T1, __T2); __m128 __T4 = _mm256_extractf128_ps (__T3, 1); __m128 __T5 = _mm256_extractf128_ps (__T3, 0); __m128 __T6 = _mm_max_ps (__T4, __T5); __m128 __T7 = __builtin_shuffle (__T6, (__v4si) { 2, 3, 0, 1 }); __m128 __T8 = _mm_max_ps (__T6, __T7); __m128 __T9 = __builtin_shuffle (__T8, (__v4si) { 1, 0, 1, 0 }); __m128 __T10 = _mm_max_ps (__T8, __T9); return __T10[0]; } # 16006 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_add_epi64 (__m512i __A) { __v4di __T1 = (__v4di) _mm512_extracti64x4_epi64 (__A, 1); __v4di __T2 = (__v4di) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 + __T2); __v2di __T4 = (__v2di) _mm256_extracti128_si256 (__T3, 1); __v2di __T5 = (__v2di) _mm256_extracti128_si256 (__T3, 0); __v2di __T6 = __T4 + __T5; return __T6[0] + __T6[1]; } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_mul_epi64 (__m512i __A) { __v4di __T1 = (__v4di) _mm512_extracti64x4_epi64 (__A, 1); __v4di __T2 = (__v4di) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 * __T2); __v2di __T4 = (__v2di) _mm256_extracti128_si256 (__T3, 1); __v2di __T5 = (__v2di) _mm256_extracti128_si256 (__T3, 0); __v2di __T6 = __T4 * __T5; return __T6[0] * __T6[1]; } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_and_epi64 (__m512i __A) { __v4di __T1 = (__v4di) _mm512_extracti64x4_epi64 (__A, 1); __v4di __T2 = (__v4di) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 & __T2); __v2di __T4 = (__v2di) _mm256_extracti128_si256 (__T3, 1); __v2di __T5 = (__v2di) _mm256_extracti128_si256 (__T3, 0); __v2di __T6 = __T4 & __T5; return __T6[0] & __T6[1]; } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_or_epi64 (__m512i __A) { __v4di __T1 = (__v4di) _mm512_extracti64x4_epi64 (__A, 1); __v4di __T2 = (__v4di) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 | __T2); __v2di __T4 = (__v2di) _mm256_extracti128_si256 (__T3, 1); __v2di __T5 = (__v2di) _mm256_extracti128_si256 (__T3, 0); __v2di __T6 = __T4 | __T5; return __T6[0] | __T6[1]; } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_add_epi64 (__mmask8 __U, __m512i __A) { __A = _mm512_maskz_mov_epi64 (__U, __A); __v4di __T1 = (__v4di) _mm512_extracti64x4_epi64 (__A, 1); __v4di __T2 = (__v4di) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 + __T2); __v2di __T4 = (__v2di) _mm256_extracti128_si256 (__T3, 1); __v2di __T5 = (__v2di) _mm256_extracti128_si256 (__T3, 0); __v2di __T6 = __T4 + __T5; return __T6[0] + __T6[1]; } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_mul_epi64 (__mmask8 __U, __m512i __A) { __A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (1LL), __U, __A); __v4di __T1 = (__v4di) _mm512_extracti64x4_epi64 (__A, 1); __v4di __T2 = (__v4di) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 * __T2); __v2di __T4 = (__v2di) _mm256_extracti128_si256 (__T3, 1); __v2di __T5 = (__v2di) _mm256_extracti128_si256 (__T3, 0); __v2di __T6 = __T4 * __T5; return __T6[0] * __T6[1]; } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_and_epi64 (__mmask8 __U, __m512i __A) { __A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (~0LL), __U, __A); __v4di __T1 = (__v4di) _mm512_extracti64x4_epi64 (__A, 1); __v4di __T2 = (__v4di) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 & __T2); __v2di __T4 = (__v2di) _mm256_extracti128_si256 (__T3, 1); __v2di __T5 = (__v2di) _mm256_extracti128_si256 (__T3, 0); __v2di __T6 = __T4 & __T5; return __T6[0] & __T6[1]; } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_or_epi64 (__mmask8 __U, __m512i __A) { __A = _mm512_maskz_mov_epi64 (__U, __A); __v4di __T1 = (__v4di) _mm512_extracti64x4_epi64 (__A, 1); __v4di __T2 = (__v4di) _mm512_extracti64x4_epi64 (__A, 0); __m256i __T3 = (__m256i) (__T1 | __T2); __v2di __T4 = (__v2di) _mm256_extracti128_si256 (__T3, 1); __v2di __T5 = (__v2di) _mm256_extracti128_si256 (__T3, 0); __v2di __T6 = __T4 | __T5; return __T6[0] | __T6[1]; } # 16080 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_min_epi64 (__m512i __A) { __m512i __T1 = _mm512_shuffle_i64x2 (__A, __A, 0x4e); __m512i __T2 = _mm512_min_epi64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_min_epi64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_min_epi64 (__T4, __T5); return __T6[0]; } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_max_epi64 (__m512i __A) { __m512i __T1 = _mm512_shuffle_i64x2 (__A, __A, 0x4e); __m512i __T2 = _mm512_max_epi64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_max_epi64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_max_epi64 (__T4, __T5); return __T6[0]; } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_min_epi64 (__mmask8 __U, __m512i __A) { __A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (0x7fffffffffffffffLL), __U, __A); __m512i __T1 = _mm512_shuffle_i64x2 (__A, __A, 0x4e); __m512i __T2 = _mm512_min_epi64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_min_epi64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_min_epi64 (__T4, __T5); return __T6[0]; } extern __inline long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_max_epi64 (__mmask8 __U, __m512i __A) { __A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (-0x7fffffffffffffffLL - 1), __U, __A); __m512i __T1 = _mm512_shuffle_i64x2 (__A, __A, 0x4e); __m512i __T2 = _mm512_max_epi64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_max_epi64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_max_epi64 (__T4, __T5); return __T6[0]; } extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_min_epu64 (__m512i __A) { __m512i __T1 = _mm512_shuffle_i64x2 (__A, __A, 0x4e); __m512i __T2 = _mm512_min_epu64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_min_epu64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_min_epu64 (__T4, __T5); return __T6[0]; } extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_max_epu64 (__m512i __A) { __m512i __T1 = _mm512_shuffle_i64x2 (__A, __A, 0x4e); __m512i __T2 = _mm512_max_epu64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_max_epu64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_max_epu64 (__T4, __T5); return __T6[0]; } extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_min_epu64 (__mmask8 __U, __m512i __A) { __A = _mm512_mask_mov_epi64 (_mm512_set1_epi64 (~0LL), __U, __A); __m512i __T1 = _mm512_shuffle_i64x2 (__A, __A, 0x4e); __m512i __T2 = _mm512_min_epu64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_min_epu64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_min_epu64 (__T4, __T5); return __T6[0]; } extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_max_epu64 (__mmask8 __U, __m512i __A) { __A = _mm512_maskz_mov_epi64 (__U, __A); __m512i __T1 = _mm512_shuffle_i64x2 (__A, __A, 0x4e); __m512i __T2 = _mm512_max_epu64 (__A, __T1); __m512i __T3 = (__m512i) __builtin_shuffle ((__v8di) __T2, (__v8di) { 2, 3, 0, 1, 6, 7, 4, 5 }); __m512i __T4 = _mm512_max_epu64 (__T2, __T3); __m512i __T5 = (__m512i) __builtin_shuffle ((__v8di) __T4, (__v8di) { 1, 0, 3, 2, 5, 4, 7, 6 }); __v8di __T6 = (__v8di) _mm512_max_epu64 (__T4, __T5); return __T6[0]; } # 16152 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline double __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_add_pd (__m512d __A) { __m256d __T1 = (__m256d) _mm512_extractf64x4_pd (__A, 1); __m256d __T2 = (__m256d) _mm512_extractf64x4_pd (__A, 0); __m256d __T3 = __T1 + __T2; __m128d __T4 = _mm256_extractf128_pd (__T3, 1); __m128d __T5 = _mm256_extractf128_pd (__T3, 0); __m128d __T6 = __T4 + __T5; return __T6[0] + __T6[1]; } extern __inline double __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_mul_pd (__m512d __A) { __m256d __T1 = (__m256d) _mm512_extractf64x4_pd (__A, 1); __m256d __T2 = (__m256d) _mm512_extractf64x4_pd (__A, 0); __m256d __T3 = __T1 * __T2; __m128d __T4 = _mm256_extractf128_pd (__T3, 1); __m128d __T5 = _mm256_extractf128_pd (__T3, 0); __m128d __T6 = __T4 * __T5; return __T6[0] * __T6[1]; } extern __inline double __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_add_pd (__mmask8 __U, __m512d __A) { __A = _mm512_maskz_mov_pd (__U, __A); __m256d __T1 = (__m256d) _mm512_extractf64x4_pd (__A, 1); __m256d __T2 = (__m256d) _mm512_extractf64x4_pd (__A, 0); __m256d __T3 = __T1 + __T2; __m128d __T4 = _mm256_extractf128_pd (__T3, 1); __m128d __T5 = _mm256_extractf128_pd (__T3, 0); __m128d __T6 = __T4 + __T5; return __T6[0] + __T6[1]; } extern __inline double __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_mul_pd (__mmask8 __U, __m512d __A) { __A = _mm512_mask_mov_pd (_mm512_set1_pd (1.0), __U, __A); __m256d __T1 = (__m256d) _mm512_extractf64x4_pd (__A, 1); __m256d __T2 = (__m256d) _mm512_extractf64x4_pd (__A, 0); __m256d __T3 = __T1 * __T2; __m128d __T4 = _mm256_extractf128_pd (__T3, 1); __m128d __T5 = _mm256_extractf128_pd (__T3, 0); __m128d __T6 = __T4 * __T5; return __T6[0] * __T6[1]; } # 16194 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512fintrin.h" 3 4 extern __inline double __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_min_pd (__m512d __A) { __m256d __T1 = (__m256d) _mm512_extractf64x4_pd (__A, 1); __m256d __T2 = (__m256d) _mm512_extractf64x4_pd (__A, 0); __m256d __T3 = _mm256_min_pd (__T1, __T2); __m128d __T4 = _mm256_extractf128_pd (__T3, 1); __m128d __T5 = _mm256_extractf128_pd (__T3, 0); __m128d __T6 = _mm_min_pd (__T4, __T5); __m128d __T7 = (__m128d) __builtin_shuffle (__T6, (__v2di) { 1, 0 }); __m128d __T8 = _mm_min_pd (__T6, __T7); return __T8[0]; } extern __inline double __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_reduce_max_pd (__m512d __A) { __m256d __T1 = (__m256d) _mm512_extractf64x4_pd (__A, 1); __m256d __T2 = (__m256d) _mm512_extractf64x4_pd (__A, 0); __m256d __T3 = _mm256_max_pd (__T1, __T2); __m128d __T4 = _mm256_extractf128_pd (__T3, 1); __m128d __T5 = _mm256_extractf128_pd (__T3, 0); __m128d __T6 = _mm_max_pd (__T4, __T5); __m128d __T7 = (__m128d) __builtin_shuffle (__T6, (__v2di) { 1, 0 }); __m128d __T8 = _mm_max_pd (__T6, __T7); return __T8[0]; } extern __inline double __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_min_pd (__mmask8 __U, __m512d __A) { __A = _mm512_mask_mov_pd (_mm512_set1_pd (__builtin_inf ()), __U, __A); __m256d __T1 = (__m256d) _mm512_extractf64x4_pd (__A, 1); __m256d __T2 = (__m256d) _mm512_extractf64x4_pd (__A, 0); __m256d __T3 = _mm256_min_pd (__T1, __T2); __m128d __T4 = _mm256_extractf128_pd (__T3, 1); __m128d __T5 = _mm256_extractf128_pd (__T3, 0); __m128d __T6 = _mm_min_pd (__T4, __T5); __m128d __T7 = (__m128d) __builtin_shuffle (__T6, (__v2di) { 1, 0 }); __m128d __T8 = _mm_min_pd (__T6, __T7); return __T8[0]; } extern __inline double __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_reduce_max_pd (__mmask8 __U, __m512d __A) { __A = _mm512_mask_mov_pd (_mm512_set1_pd (-__builtin_inf ()), __U, __A); __m256d __T1 = (__m256d) _mm512_extractf64x4_pd (__A, 1); __m256d __T2 = (__m256d) _mm512_extractf64x4_pd (__A, 0); __m256d __T3 = _mm256_max_pd (__T1, __T2); __m128d __T4 = _mm256_extractf128_pd (__T3, 1); __m128d __T5 = _mm256_extractf128_pd (__T3, 0); __m128d __T6 = _mm_max_pd (__T4, __T5); __m128d __T7 = (__m128d) __builtin_shuffle (__T6, (__v2di) { 1, 0 }); __m128d __T8 = _mm_max_pd (__T6, __T7); return __T8[0]; } #pragma GCC pop_options # 56 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512erintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/include/avx512erintrin.h" 3 4 #pragma GCC pop_options # 58 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512pfintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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_prefetch_i32gather_pd (__m256i __index, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfdpd ((__mmask8) 0xFF, (__v8si) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i32gather_ps (__m512i __index, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfdps ((__mmask16) 0xFFFF, (__v16si) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i32gather_pd (__m256i __index, __mmask8 __mask, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfdpd (__mask, (__v8si) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i32gather_ps (__m512i __index, __mmask16 __mask, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfdps (__mask, (__v16si) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i64gather_pd (__m512i __index, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfqpd ((__mmask8) 0xFF, (__v8di) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_prefetch_i64gather_ps (__m512i __index, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfqps ((__mmask8) 0xFF, (__v8di) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i64gather_pd (__m512i __index, __mmask8 __mask, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfqpd (__mask, (__v8di) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i64gather_ps (__m512i __index, __mmask8 __mask, void const *__addr, int __scale, int __hint) { __builtin_ia32_gatherpfqps (__mask, (__v8di) __index, __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, __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, __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, __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, __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,__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, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i64scatter_pd (void *__addr, __mmask8 __mask, __m512i __index, int __scale, int __hint) { __builtin_ia32_scatterpfqpd (__mask, (__v8di) __index, __addr, __scale, __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_prefetch_i64scatter_ps (void *__addr, __mmask8 __mask, __m512i __index, int __scale, int __hint) { __builtin_ia32_scatterpfqps (__mask, (__v8di) __index, __addr, __scale, __hint); } # 261 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512pfintrin.h" 3 4 #pragma GCC pop_options # 60 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512cdintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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 # 62 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vlintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vlintrin.h" 3 4 #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_si128 (), (__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_si128 (), (__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 __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, __mmask8 __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 (__mmask8 __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, __mmask8 __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 (__mmask8 __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, __mmask8 __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 (__mmask8 __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, __mmask8 __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 (__mmask8 __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 ((const double *) __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 ((const double *) __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 ((const double *) __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 ((const double *) __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 ((double *) __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 ((double *) __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 ((const float *) __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 ((const float *) __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 ((const float *) __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 ((const float *) __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 ((float *) __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 ((float *) __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 ((const long long *) __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 ((const long long *) __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 ((const long long *) __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 ((const long long *) __P, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_storeu_epi64 (void *__P, __m256i __A) { *(__m256i_u *) __P = (__m256i_u) __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_storeu_epi64 (void *__P, __mmask8 __U, __m256i __A) { __builtin_ia32_storedqudi256_mask ((long long *) __P, (__v4di) __A, (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_storeu_epi64 (void *__P, __m128i __A) { *(__m128i_u *) __P = (__m128i_u) __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_storeu_epi64 (void *__P, __mmask8 __U, __m128i __A) { __builtin_ia32_storedqudi128_mask ((long long *) __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 ((const int *) __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 ((const int *) __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 ((const int *) __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 ((const int *) __P, (__v4si) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_storeu_epi32 (void *__P, __m256i __A) { *(__m256i_u *) __P = (__m256i_u) __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_storeu_epi32 (void *__P, __mmask8 __U, __m256i __A) { __builtin_ia32_storedqusi256_mask ((int *) __P, (__v8si) __A, (__mmask8) __U); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_storeu_epi32 (void *__P, __m128i __A) { *(__m128i_u *) __P = (__m128i_u) __A; } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_storeu_epi32 (void *__P, __mmask8 __U, __m128i __A) { __builtin_ia32_storedqusi128_mask ((int *) __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_si128 (), (__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_si128 (), (__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 (__mmask8 __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 (__mmask8 __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_si128 (), (__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_vfmsubpd256_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_vfmsubpd256_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_vfmsubpd128_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_vfmsubpd128_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_vfmsubps256_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_vfmsubps256_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_vfmsubps128_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_vfmsubps128_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_vfnmaddpd256_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_vfnmaddpd256_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_vfnmaddpd128_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_vfnmaddpd128_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_vfnmaddps256_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_vfnmaddps256_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_vfnmaddps128_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_vfnmaddps128_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_vfnmsubpd256_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_vfnmsubpd128_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_vfnmsubps256_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_vfnmsubps128_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 __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_or_epi32 (__m256i __A, __m256i __B) { return (__m256i) ((__v8su)__A | (__v8su)__B); } 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 __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_or_epi32 (__m128i __A, __m128i __B) { return (__m128i) ((__v4su)__A | (__v4su)__B); } 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 __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_xor_epi32 (__m256i __A, __m256i __B) { return (__m256i) ((__v8su)__A ^ (__v8su)__B); } 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 __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_xor_epi32 (__m128i __A, __m128i __B) { return (__m128i) ((__v4su)__A ^ (__v4su)__B); } 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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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 __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_or_epi64 (__m256i __A, __m256i __B) { return (__m256i) ((__v4du)__A | (__v4du)__B); } 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 __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_or_epi64 (__m128i __A, __m128i __B) { return (__m128i) ((__v2du)__A | (__v2du)__B); } 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 __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_xor_epi64 (__m256i __A, __m256i __B) { return (__m256i) ((__v4du)__A ^ (__v4du)__B); } 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 __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_xor_epi64 (__m128i __A, __m128i __B) { return (__m128i) ((__v2du)__A ^ (__v2du)__B); } 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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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, __mmask8 __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_permutexvar_epi64 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_permvardi256_mask ((__v4di) __Y, (__v4di) __X, (__v4di) _mm256_setzero_si256 (), (__mmask8) -1); } 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_permutexvar_epi32 (__m256i __X, __m256i __Y) { return (__m256i) __builtin_ia32_permvarsi256_mask ((__v8si) __Y, (__v8si) __X, (__v8si) _mm256_setzero_si256 (), (__mmask8) -1); } 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 __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); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_permutex_epi64 (__m256i __X, const int __I) { return (__m256i) __builtin_ia32_permdi256_mask ((__v4di) __X, __I, (__v4di) _mm256_setzero_si256(), (__mmask8) -1); } 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, void 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, void 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, void 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, void 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, void 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, void 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, void 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, void 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, void 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, void 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, void 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, void 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, void 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, void 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, void 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, void 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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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 (void *__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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); } # 13719 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vlintrin.h" 3 4 #pragma GCC pop_options # 64 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512bwintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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 unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _ktest_mask32_u8 (__mmask32 __A, __mmask32 __B, unsigned char *__CF) { *__CF = (unsigned char) __builtin_ia32_ktestcsi (__A, __B); return (unsigned char) __builtin_ia32_ktestzsi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _ktest_mask64_u8 (__mmask64 __A, __mmask64 __B, unsigned char *__CF) { *__CF = (unsigned char) __builtin_ia32_ktestcdi (__A, __B); return (unsigned char) __builtin_ia32_ktestzdi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _ktestz_mask32_u8 (__mmask32 __A, __mmask32 __B) { return (unsigned char) __builtin_ia32_ktestzsi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _ktestz_mask64_u8 (__mmask64 __A, __mmask64 __B) { return (unsigned char) __builtin_ia32_ktestzdi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _ktestc_mask32_u8 (__mmask32 __A, __mmask32 __B) { return (unsigned char) __builtin_ia32_ktestcsi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _ktestc_mask64_u8 (__mmask64 __A, __mmask64 __B) { return (unsigned char) __builtin_ia32_ktestcdi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kortest_mask32_u8 (__mmask32 __A, __mmask32 __B, unsigned char *__CF) { *__CF = (unsigned char) __builtin_ia32_kortestcsi (__A, __B); return (unsigned char) __builtin_ia32_kortestzsi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kortest_mask64_u8 (__mmask64 __A, __mmask64 __B, unsigned char *__CF) { *__CF = (unsigned char) __builtin_ia32_kortestcdi (__A, __B); return (unsigned char) __builtin_ia32_kortestzdi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kortestz_mask32_u8 (__mmask32 __A, __mmask32 __B) { return (unsigned char) __builtin_ia32_kortestzsi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kortestz_mask64_u8 (__mmask64 __A, __mmask64 __B) { return (unsigned char) __builtin_ia32_kortestzdi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kortestc_mask32_u8 (__mmask32 __A, __mmask32 __B) { return (unsigned char) __builtin_ia32_kortestcsi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kortestc_mask64_u8 (__mmask64 __A, __mmask64 __B) { return (unsigned char) __builtin_ia32_kortestcdi (__A, __B); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kadd_mask32 (__mmask32 __A, __mmask32 __B) { return (__mmask32) __builtin_ia32_kaddsi ((__mmask32) __A, (__mmask32) __B); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kadd_mask64 (__mmask64 __A, __mmask64 __B) { return (__mmask64) __builtin_ia32_kadddi ((__mmask64) __A, (__mmask64) __B); } extern __inline unsigned int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _cvtmask32_u32 (__mmask32 __A) { return (unsigned int) __builtin_ia32_kmovd ((__mmask32) __A); } extern __inline unsigned long long __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _cvtmask64_u64 (__mmask64 __A) { return (unsigned long long) __builtin_ia32_kmovq ((__mmask64) __A); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _cvtu32_mask32 (unsigned int __A) { return (__mmask32) __builtin_ia32_kmovd ((__mmask32) __A); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _cvtu64_mask64 (unsigned long long __A) { return (__mmask64) __builtin_ia32_kmovq ((__mmask64) __A); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _load_mask32 (__mmask32 *__A) { return (__mmask32) __builtin_ia32_kmovd (*__A); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _load_mask64 (__mmask64 *__A) { return (__mmask64) __builtin_ia32_kmovq (*(__mmask64 *) __A); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _store_mask32 (__mmask32 *__A, __mmask32 __B) { *(__mmask32 *) __A = __builtin_ia32_kmovd (__B); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _store_mask64 (__mmask64 *__A, __mmask64 __B) { *(__mmask64 *) __A = __builtin_ia32_kmovq (__B); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _knot_mask32 (__mmask32 __A) { return (__mmask32) __builtin_ia32_knotsi ((__mmask32) __A); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _knot_mask64 (__mmask64 __A) { return (__mmask64) __builtin_ia32_knotdi ((__mmask64) __A); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kor_mask32 (__mmask32 __A, __mmask32 __B) { return (__mmask32) __builtin_ia32_korsi ((__mmask32) __A, (__mmask32) __B); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kor_mask64 (__mmask64 __A, __mmask64 __B) { return (__mmask64) __builtin_ia32_kordi ((__mmask64) __A, (__mmask64) __B); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kxnor_mask32 (__mmask32 __A, __mmask32 __B) { return (__mmask32) __builtin_ia32_kxnorsi ((__mmask32) __A, (__mmask32) __B); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kxnor_mask64 (__mmask64 __A, __mmask64 __B) { return (__mmask64) __builtin_ia32_kxnordi ((__mmask64) __A, (__mmask64) __B); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kxor_mask32 (__mmask32 __A, __mmask32 __B) { return (__mmask32) __builtin_ia32_kxorsi ((__mmask32) __A, (__mmask32) __B); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kxor_mask64 (__mmask64 __A, __mmask64 __B) { return (__mmask64) __builtin_ia32_kxordi ((__mmask64) __A, (__mmask64) __B); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kand_mask32 (__mmask32 __A, __mmask32 __B) { return (__mmask32) __builtin_ia32_kandsi ((__mmask32) __A, (__mmask32) __B); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kand_mask64 (__mmask64 __A, __mmask64 __B) { return (__mmask64) __builtin_ia32_kanddi ((__mmask64) __A, (__mmask64) __B); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kandn_mask32 (__mmask32 __A, __mmask32 __B) { return (__mmask32) __builtin_ia32_kandnsi ((__mmask32) __A, (__mmask32) __B); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kandn_mask64 (__mmask64 __A, __mmask64 __B) { return (__mmask64) __builtin_ia32_kandndi ((__mmask64) __A, (__mmask64) __B); } 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_si512 (), (__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 ((const short *) __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 ((const short *) __P, (__v32hi) _mm512_setzero_si512 (), (__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 ((short *) __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_si512 (), (__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 __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kunpackw_mask32 (__mmask16 __A, __mmask16 __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 __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kunpackd_mask64 (__mmask32 __A, __mmask32 __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 ((const char *) __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 ((const char *) __P, (__v64qi) _mm512_setzero_si512 (), (__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 ((char *) __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 void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtepi16_storeu_epi8 (void * __P, __mmask32 __M, __m512i __A) { __builtin_ia32_pmovwb512mem_mask ((__v32qi *) __P, (__v32hi) __A, __M); } 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 void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask32 __M, __m512i __A) { __builtin_ia32_pmovswb512mem_mask ((__v32qi *) __P, (__v32hi) __A, __M); } 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 void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask32 __M, __m512i __A) { __builtin_ia32_pmovuswb512mem_mask ((__v32qi *) __P, (__v32hi) __A, __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_epi32(), (__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_si512 (), __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_si512 (), __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_epi32(), (__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_si512 (), __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_si512 (), __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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), __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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_packs_epi32 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A, (__v16si) __B, (__v32hi) _mm512_setzero_si512 (), (__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_si512 (), __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_si512 (), (__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_si512 (), __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 __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kshiftli_mask32 (__mmask32 __A, unsigned int __B) { return (__mmask32) __builtin_ia32_kshiftlisi ((__mmask32) __A, (__mmask8) __B); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kshiftli_mask64 (__mmask64 __A, unsigned int __B) { return (__mmask64) __builtin_ia32_kshiftlidi ((__mmask64) __A, (__mmask8) __B); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kshiftri_mask32 (__mmask32 __A, unsigned int __B) { return (__mmask32) __builtin_ia32_kshiftrisi ((__mmask32) __A, (__mmask8) __B); } extern __inline __mmask64 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kshiftri_mask64 (__mmask64 __A, unsigned int __B) { return (__mmask64) __builtin_ia32_kshiftridi ((__mmask64) __A, (__mmask8) __B); } 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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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_si512 (), (__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 (__mmask64 __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 (__mmask64 __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_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); } # 3298 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512bwintrin.h" 3 4 #pragma GCC pop_options # 66 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512dqintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512dqintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512dq") extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _ktest_mask8_u8 (__mmask8 __A, __mmask8 __B, unsigned char *__CF) { *__CF = (unsigned char) __builtin_ia32_ktestcqi (__A, __B); return (unsigned char) __builtin_ia32_ktestzqi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _ktestz_mask8_u8 (__mmask8 __A, __mmask8 __B) { return (unsigned char) __builtin_ia32_ktestzqi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _ktestc_mask8_u8 (__mmask8 __A, __mmask8 __B) { return (unsigned char) __builtin_ia32_ktestcqi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _ktest_mask16_u8 (__mmask16 __A, __mmask16 __B, unsigned char *__CF) { *__CF = (unsigned char) __builtin_ia32_ktestchi (__A, __B); return (unsigned char) __builtin_ia32_ktestzhi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _ktestz_mask16_u8 (__mmask16 __A, __mmask16 __B) { return (unsigned char) __builtin_ia32_ktestzhi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _ktestc_mask16_u8 (__mmask16 __A, __mmask16 __B) { return (unsigned char) __builtin_ia32_ktestchi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kortest_mask8_u8 (__mmask8 __A, __mmask8 __B, unsigned char *__CF) { *__CF = (unsigned char) __builtin_ia32_kortestcqi (__A, __B); return (unsigned char) __builtin_ia32_kortestzqi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kortestz_mask8_u8 (__mmask8 __A, __mmask8 __B) { return (unsigned char) __builtin_ia32_kortestzqi (__A, __B); } extern __inline unsigned char __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kortestc_mask8_u8 (__mmask8 __A, __mmask8 __B) { return (unsigned char) __builtin_ia32_kortestcqi (__A, __B); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kadd_mask8 (__mmask8 __A, __mmask8 __B) { return (__mmask8) __builtin_ia32_kaddqi ((__mmask8) __A, (__mmask8) __B); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kadd_mask16 (__mmask16 __A, __mmask16 __B) { return (__mmask16) __builtin_ia32_kaddhi ((__mmask16) __A, (__mmask16) __B); } extern __inline unsigned int __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _cvtmask8_u32 (__mmask8 __A) { return (unsigned int) __builtin_ia32_kmovb ((__mmask8 ) __A); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _cvtu32_mask8 (unsigned int __A) { return (__mmask8) __builtin_ia32_kmovb ((__mmask8) __A); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _load_mask8 (__mmask8 *__A) { return (__mmask8) __builtin_ia32_kmovb (*(__mmask8 *) __A); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _store_mask8 (__mmask8 *__A, __mmask8 __B) { *(__mmask8 *) __A = __builtin_ia32_kmovb (__B); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _knot_mask8 (__mmask8 __A) { return (__mmask8) __builtin_ia32_knotqi ((__mmask8) __A); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kor_mask8 (__mmask8 __A, __mmask8 __B) { return (__mmask8) __builtin_ia32_korqi ((__mmask8) __A, (__mmask8) __B); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kxnor_mask8 (__mmask8 __A, __mmask8 __B) { return (__mmask8) __builtin_ia32_kxnorqi ((__mmask8) __A, (__mmask8) __B); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kxor_mask8 (__mmask8 __A, __mmask8 __B) { return (__mmask8) __builtin_ia32_kxorqi ((__mmask8) __A, (__mmask8) __B); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kand_mask8 (__mmask8 __A, __mmask8 __B) { return (__mmask8) __builtin_ia32_kandqi ((__mmask8) __A, (__mmask8) __B); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kandn_mask8 (__mmask8 __A, __mmask8 __B) { return (__mmask8) __builtin_ia32_kandnqi ((__mmask8) __A, (__mmask8) __B); } 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_epi32 (), (__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_epi32 (), (__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_epi32 (), (__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 __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kshiftli_mask8 (__mmask8 __A, unsigned int __B) { return (__mmask8) __builtin_ia32_kshiftliqi ((__mmask8) __A, (__mmask8) __B); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _kshiftri_mask8 (__mmask8 __A, unsigned int __B) { return (__mmask8) __builtin_ia32_kshiftriqi ((__mmask8) __A, (__mmask8) __B); } 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_mask ((__v2df) __A, (__v2df) __B, __C, (__v2df) _mm_setzero_pd (), (__mmask8) -1); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_reduce_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, int __C) { return (__m128d) __builtin_ia32_reducesd_mask ((__v2df) __A, (__v2df) __B, __C, (__v2df) __W, (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_reduce_sd (__mmask8 __U, __m128d __A, __m128d __B, int __C) { return (__m128d) __builtin_ia32_reducesd_mask ((__v2df) __A, (__v2df) __B, __C, (__v2df) _mm_setzero_pd (), (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_reduce_ss (__m128 __A, __m128 __B, int __C) { return (__m128) __builtin_ia32_reducess_mask ((__v4sf) __A, (__v4sf) __B, __C, (__v4sf) _mm_setzero_ps (), (__mmask8) -1); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_reduce_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, int __C) { return (__m128) __builtin_ia32_reducess_mask ((__v4sf) __A, (__v4sf) __B, __C, (__v4sf) __W, (__mmask8) __U); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_reduce_ss (__mmask8 __U, __m128 __A, __m128 __B, int __C) { return (__m128) __builtin_ia32_reducess_mask ((__v4sf) __A, (__v4sf) __B, __C, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_range_sd (__m128d __A, __m128d __B, int __C) { return (__m128d) __builtin_ia32_rangesd128_mask_round ((__v2df) __A, (__v2df) __B, __C, (__v2df) _mm_setzero_pd (), (__mmask8) -1, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_range_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, int __C) { return (__m128d) __builtin_ia32_rangesd128_mask_round ((__v2df) __A, (__v2df) __B, __C, (__v2df) __W, (__mmask8) __U, 0x04); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_range_sd (__mmask8 __U, __m128d __A, __m128d __B, int __C) { return (__m128d) __builtin_ia32_rangesd128_mask_round ((__v2df) __A, (__v2df) __B, __C, (__v2df) _mm_setzero_pd (), (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_range_ss (__m128 __A, __m128 __B, int __C) { return (__m128) __builtin_ia32_rangess128_mask_round ((__v4sf) __A, (__v4sf) __B, __C, (__v4sf) _mm_setzero_ps (), (__mmask8) -1, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_range_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, int __C) { return (__m128) __builtin_ia32_rangess128_mask_round ((__v4sf) __A, (__v4sf) __B, __C, (__v4sf) __W, (__mmask8) __U, 0x04); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_range_ss (__mmask8 __U, __m128 __A, __m128 __B, int __C) { return (__m128) __builtin_ia32_rangess128_mask_round ((__v4sf) __A, (__v4sf) __B, __C, (__v4sf) _mm_setzero_ps (), (__mmask8) __U, 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_mask_round ((__v2df) __A, (__v2df) __B, __C, (__v2df) _mm_setzero_pd (), (__mmask8) -1, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_range_round_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B, int __C, const int __R) { return (__m128d) __builtin_ia32_rangesd128_mask_round ((__v2df) __A, (__v2df) __B, __C, (__v2df) __W, (__mmask8) __U, __R); } extern __inline __m128d __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_range_round_sd (__mmask8 __U, __m128d __A, __m128d __B, int __C, const int __R) { return (__m128d) __builtin_ia32_rangesd128_mask_round ((__v2df) __A, (__v2df) __B, __C, (__v2df) _mm_setzero_pd (), (__mmask8) __U, __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_mask_round ((__v4sf) __A, (__v4sf) __B, __C, (__v4sf) _mm_setzero_ps (), (__mmask8) -1, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_range_round_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B, int __C, const int __R) { return (__m128) __builtin_ia32_rangess128_mask_round ((__v4sf) __A, (__v4sf) __B, __C, (__v4sf) __W, (__mmask8) __U, __R); } extern __inline __m128 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_range_round_ss (__mmask8 __U, __m128 __A, __m128 __B, int __C, const int __R) { return (__m128) __builtin_ia32_rangess128_mask_round ((__v4sf) __A, (__v4sf) __B, __C, (__v4sf) _mm_setzero_ps (), (__mmask8) __U, __R); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fpclass_ss_mask (__m128 __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclassss_mask ((__v4sf) __A, __imm, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_fpclass_sd_mask (__m128d __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclasssd_mask ((__v2df) __A, __imm, (__mmask8) -1); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fpclass_ss_mask (__mmask8 __U, __m128 __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclassss_mask ((__v4sf) __A, __imm, __U); } extern __inline __mmask8 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_fpclass_sd_mask (__mmask8 __U, __m128d __A, const int __imm) { return (__mmask8) __builtin_ia32_fpclasssd_mask ((__v2df) __A, __imm, __U); } 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_si128 (), (__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_si128 (), (__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); } # 2702 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512dqintrin.h" 3 4 #pragma GCC pop_options # 68 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vlbwintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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_si128 (), (__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 ((char *) __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 ((char *) __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 ((const short *) __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 ((const short *) __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 ((const short *) __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 ((const short *) __P, (__v8hi) _mm_setzero_si128 (), (__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_si128 (), (__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 ((const char *) __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 ((const char *) __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 ((const char *) __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 ((const char *) __P, (__v16qi) _mm_setzero_si128 (), (__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 void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi16_storeu_epi8 (void * __P, __mmask16 __M,__m256i __A) { __builtin_ia32_pmovwb256mem_mask ((__v16qi *) __P , (__v16hi) __A, __M); } 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 void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask8 __M,__m128i __A) { __builtin_ia32_pmovswb128mem_mask ((__v8qi *) __P , (__v8hi) __A, __M); } 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 void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask16 __M,__m256i __A) { __builtin_ia32_pmovswb256mem_mask ((__v16qi *) __P , (__v16hi) __A, __M); } 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 void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask8 __M,__m128i __A) { __builtin_ia32_pmovuswb128mem_mask ((__v8qi *) __P , (__v8hi) __A, __M); } 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 void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask16 __M,__m256i __A) { __builtin_ia32_pmovuswb256mem_mask ((__v16qi *) __P , (__v16hi) __A, __M); } 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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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 (__mmask16 __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 (__mmask32 __U, __m256i __X, __m256i __Y, const int __P) { return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, __P, (__mmask32) __U); } extern __inline __mmask32 __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 (__mmask16 __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 (__mmask32 __U, __m256i __X, __m256i __Y, const int __P) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, __P, (__mmask32) __U); } extern __inline __mmask32 __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_si128 (), (__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_si128 (), (__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); } # 2039 "/usr/lib/gcc/x86_64-redhat-linux/10/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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtepi8_epi16 (__m256i __W, __mmask16 __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, __mmask8 __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, __mmask16 __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, __mmask8 __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 ((short *) __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 ((short *) __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 void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtepi16_storeu_epi8 (void * __P, __mmask8 __M,__m128i __A) { __builtin_ia32_pmovwb128mem_mask ((__v8qi *) __P , (__v8hi) __A, __M); } 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_si128 (), (__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_si128 (), (__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_si128 (), (__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, __mmask8 __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, __mmask8 __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 __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpneq_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 4, (__mmask32) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmplt_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 1, (__mmask32) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpge_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 5, (__mmask32) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmple_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 2, (__mmask32) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpneq_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 4, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmplt_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 1, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpge_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 5, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmple_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 2, (__mmask16) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpneq_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 4, (__mmask32) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmplt_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 1, (__mmask32) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpge_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 5, (__mmask32) __M); } extern __inline __mmask32 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmple_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y) { return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X, (__v32qi) __Y, 2, (__mmask32) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpneq_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 4, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmplt_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 1, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmpge_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 5, (__mmask16) __M); } extern __inline __mmask16 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cmple_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y) { return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X, (__v16hi) __Y, 2, (__mmask16) __M); } #pragma GCC pop_options # 70 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vldqintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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_si128 (), (__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); } # 2013 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vldqintrin.h" 3 4 #pragma GCC pop_options # 72 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512ifmaintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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 # 74 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512ifmavlintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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 # 76 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vbmiintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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_epi32 (), (__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_epi32 (), (__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 # 78 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vbmivlintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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 # 80 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx5124fmapsintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx5124fmapsintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx5124fmaps") extern __inline __m512 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_4fmadd_ps (__m512 __A, __m512 __B, __m512 __C, __m512 __D, __m512 __E, __m128 *__F) { return (__m512) __builtin_ia32_4fmaddps ((__v16sf) __B, (__v16sf) __C, (__v16sf) __D, (__v16sf) __E, (__v16sf) __A, (const __v4sf *) __F); } extern __inline __m512 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_4fmadd_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C, __m512 __D, __m512 __E, __m128 *__F) { return (__m512) __builtin_ia32_4fmaddps_mask ((__v16sf) __B, (__v16sf) __C, (__v16sf) __D, (__v16sf) __E, (__v16sf) __A, (const __v4sf *) __F, (__v16sf) __A, (__mmask16) __U); } extern __inline __m512 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_4fmadd_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C, __m512 __D, __m512 __E, __m128 *__F) { return (__m512) __builtin_ia32_4fmaddps_mask ((__v16sf) __B, (__v16sf) __C, (__v16sf) __D, (__v16sf) __E, (__v16sf) __A, (const __v4sf *) __F, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_4fmadd_ss (__m128 __A, __m128 __B, __m128 __C, __m128 __D, __m128 __E, __m128 *__F) { return (__m128) __builtin_ia32_4fmaddss ((__v4sf) __B, (__v4sf) __C, (__v4sf) __D, (__v4sf) __E, (__v4sf) __A, (const __v4sf *) __F); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_4fmadd_ss (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C, __m128 __D, __m128 __E, __m128 *__F) { return (__m128) __builtin_ia32_4fmaddss_mask ((__v4sf) __B, (__v4sf) __C, (__v4sf) __D, (__v4sf) __E, (__v4sf) __A, (const __v4sf *) __F, (__v4sf) __A, (__mmask8) __U); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_4fmadd_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C, __m128 __D, __m128 __E, __m128 *__F) { return (__m128) __builtin_ia32_4fmaddss_mask ((__v4sf) __B, (__v4sf) __C, (__v4sf) __D, (__v4sf) __E, (__v4sf) __A, (const __v4sf *) __F, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } extern __inline __m512 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_4fnmadd_ps (__m512 __A, __m512 __B, __m512 __C, __m512 __D, __m512 __E, __m128 *__F) { return (__m512) __builtin_ia32_4fnmaddps ((__v16sf) __B, (__v16sf) __C, (__v16sf) __D, (__v16sf) __E, (__v16sf) __A, (const __v4sf *) __F); } extern __inline __m512 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_4fnmadd_ps (__m512 __A, __mmask16 __U, __m512 __B, __m512 __C, __m512 __D, __m512 __E, __m128 *__F) { return (__m512) __builtin_ia32_4fnmaddps_mask ((__v16sf) __B, (__v16sf) __C, (__v16sf) __D, (__v16sf) __E, (__v16sf) __A, (const __v4sf *) __F, (__v16sf) __A, (__mmask16) __U); } extern __inline __m512 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_4fnmadd_ps (__mmask16 __U, __m512 __A, __m512 __B, __m512 __C, __m512 __D, __m512 __E, __m128 *__F) { return (__m512) __builtin_ia32_4fnmaddps_mask ((__v16sf) __B, (__v16sf) __C, (__v16sf) __D, (__v16sf) __E, (__v16sf) __A, (const __v4sf *) __F, (__v16sf) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_4fnmadd_ss (__m128 __A, __m128 __B, __m128 __C, __m128 __D, __m128 __E, __m128 *__F) { return (__m128) __builtin_ia32_4fnmaddss ((__v4sf) __B, (__v4sf) __C, (__v4sf) __D, (__v4sf) __E, (__v4sf) __A, (const __v4sf *) __F); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_4fnmadd_ss (__m128 __A, __mmask8 __U, __m128 __B, __m128 __C, __m128 __D, __m128 __E, __m128 *__F) { return (__m128) __builtin_ia32_4fnmaddss_mask ((__v4sf) __B, (__v4sf) __C, (__v4sf) __D, (__v4sf) __E, (__v4sf) __A, (const __v4sf *) __F, (__v4sf) __A, (__mmask8) __U); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_4fnmadd_ss (__mmask8 __U, __m128 __A, __m128 __B, __m128 __C, __m128 __D, __m128 __E, __m128 *__F) { return (__m128) __builtin_ia32_4fnmaddss_mask ((__v4sf) __B, (__v4sf) __C, (__v4sf) __D, (__v4sf) __E, (__v4sf) __A, (const __v4sf *) __F, (__v4sf) _mm_setzero_ps (), (__mmask8) __U); } #pragma GCC pop_options # 82 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx5124vnniwintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx5124vnniwintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx5124vnniw") extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_4dpwssd_epi32 (__m512i __A, __m512i __B, __m512i __C, __m512i __D, __m512i __E, __m128i *__F) { return (__m512i) __builtin_ia32_vp4dpwssd ((__v16si) __B, (__v16si) __C, (__v16si) __D, (__v16si) __E, (__v16si) __A, (const __v4si *) __F); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_4dpwssd_epi32 (__m512i __A, __mmask16 __U, __m512i __B, __m512i __C, __m512i __D, __m512i __E, __m128i *__F) { return (__m512i) __builtin_ia32_vp4dpwssd_mask ((__v16si) __B, (__v16si) __C, (__v16si) __D, (__v16si) __E, (__v16si) __A, (const __v4si *) __F, (__v16si) __A, (__mmask16) __U); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_4dpwssd_epi32 (__mmask16 __U, __m512i __A, __m512i __B, __m512i __C, __m512i __D, __m512i __E, __m128i *__F) { return (__m512i) __builtin_ia32_vp4dpwssd_mask ((__v16si) __B, (__v16si) __C, (__v16si) __D, (__v16si) __E, (__v16si) __A, (const __v4si *) __F, (__v16si) _mm512_setzero_ps (), (__mmask16) __U); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_4dpwssds_epi32 (__m512i __A, __m512i __B, __m512i __C, __m512i __D, __m512i __E, __m128i *__F) { return (__m512i) __builtin_ia32_vp4dpwssds ((__v16si) __B, (__v16si) __C, (__v16si) __D, (__v16si) __E, (__v16si) __A, (const __v4si *) __F); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_4dpwssds_epi32 (__m512i __A, __mmask16 __U, __m512i __B, __m512i __C, __m512i __D, __m512i __E, __m128i *__F) { return (__m512i) __builtin_ia32_vp4dpwssds_mask ((__v16si) __B, (__v16si) __C, (__v16si) __D, (__v16si) __E, (__v16si) __A, (const __v4si *) __F, (__v16si) __A, (__mmask16) __U); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_4dpwssds_epi32 (__mmask16 __U, __m512i __A, __m512i __B, __m512i __C, __m512i __D, __m512i __E, __m128i *__F) { return (__m512i) __builtin_ia32_vp4dpwssds_mask ((__v16si) __B, (__v16si) __C, (__v16si) __D, (__v16si) __E, (__v16si) __A, (const __v4si *) __F, (__v16si) _mm512_setzero_ps (), (__mmask16) __U); } #pragma GCC pop_options # 84 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vpopcntdqintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vpopcntdqintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512vpopcntdq") extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_popcnt_epi32 (__m512i __A) { return (__m512i) __builtin_ia32_vpopcountd_v16si ((__v16si) __A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_popcnt_epi32 (__m512i __W, __mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpopcountd_v16si_mask ((__v16si) __A, (__v16si) __W, (__mmask16) __U); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_popcnt_epi32 (__mmask16 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpopcountd_v16si_mask ((__v16si) __A, (__v16si) _mm512_setzero_si512 (), (__mmask16) __U); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_popcnt_epi64 (__m512i __A) { return (__m512i) __builtin_ia32_vpopcountq_v8di ((__v8di) __A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_popcnt_epi64 (__m512i __W, __mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpopcountq_v8di_mask ((__v8di) __A, (__v8di) __W, (__mmask8) __U); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_popcnt_epi64 (__mmask8 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpopcountq_v8di_mask ((__v8di) __A, (__v8di) _mm512_setzero_si512 (), (__mmask8) __U); } #pragma GCC pop_options # 86 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vbmi2intrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vbmi2intrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512vbmi2") extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shrdi_epi16 (__m512i __A, __m512i __B, int __C) { return (__m512i) __builtin_ia32_vpshrd_v32hi ((__v32hi)__A, (__v32hi) __B, __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shrdi_epi32 (__m512i __A, __m512i __B, int __C) { return (__m512i) __builtin_ia32_vpshrd_v16si ((__v16si)__A, (__v16si) __B, __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shrdi_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D, int __E) { return (__m512i)__builtin_ia32_vpshrd_v16si_mask ((__v16si)__C, (__v16si) __D, __E, (__v16si) __A, (__mmask16)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shrdi_epi32 (__mmask16 __A, __m512i __B, __m512i __C, int __D) { return (__m512i)__builtin_ia32_vpshrd_v16si_mask ((__v16si)__B, (__v16si) __C, __D, (__v16si) _mm512_setzero_si512 (), (__mmask16)__A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shrdi_epi64 (__m512i __A, __m512i __B, int __C) { return (__m512i) __builtin_ia32_vpshrd_v8di ((__v8di)__A, (__v8di) __B, __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shrdi_epi64 (__m512i __A, __mmask8 __B, __m512i __C, __m512i __D, int __E) { return (__m512i)__builtin_ia32_vpshrd_v8di_mask ((__v8di)__C, (__v8di) __D, __E, (__v8di) __A, (__mmask8)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shrdi_epi64 (__mmask8 __A, __m512i __B, __m512i __C, int __D) { return (__m512i)__builtin_ia32_vpshrd_v8di_mask ((__v8di)__B, (__v8di) __C, __D, (__v8di) _mm512_setzero_si512 (), (__mmask8)__A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shldi_epi16 (__m512i __A, __m512i __B, int __C) { return (__m512i) __builtin_ia32_vpshld_v32hi ((__v32hi)__A, (__v32hi) __B, __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shldi_epi32 (__m512i __A, __m512i __B, int __C) { return (__m512i) __builtin_ia32_vpshld_v16si ((__v16si)__A, (__v16si) __B, __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shldi_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D, int __E) { return (__m512i)__builtin_ia32_vpshld_v16si_mask ((__v16si)__C, (__v16si) __D, __E, (__v16si) __A, (__mmask16)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shldi_epi32 (__mmask16 __A, __m512i __B, __m512i __C, int __D) { return (__m512i)__builtin_ia32_vpshld_v16si_mask ((__v16si)__B, (__v16si) __C, __D, (__v16si) _mm512_setzero_si512 (), (__mmask16)__A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shldi_epi64 (__m512i __A, __m512i __B, int __C) { return (__m512i) __builtin_ia32_vpshld_v8di ((__v8di)__A, (__v8di) __B, __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shldi_epi64 (__m512i __A, __mmask8 __B, __m512i __C, __m512i __D, int __E) { return (__m512i)__builtin_ia32_vpshld_v8di_mask ((__v8di)__C, (__v8di) __D, __E, (__v8di) __A, (__mmask8)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shldi_epi64 (__mmask8 __A, __m512i __B, __m512i __C, int __D) { return (__m512i)__builtin_ia32_vpshld_v8di_mask ((__v8di)__B, (__v8di) __C, __D, (__v8di) _mm512_setzero_si512 (), (__mmask8)__A); } # 218 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vbmi2intrin.h" 3 4 extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shrdv_epi16 (__m512i __A, __m512i __B, __m512i __C) { return (__m512i) __builtin_ia32_vpshrdv_v32hi ((__v32hi)__A, (__v32hi) __B, (__v32hi) __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shrdv_epi32 (__m512i __A, __m512i __B, __m512i __C) { return (__m512i) __builtin_ia32_vpshrdv_v16si ((__v16si)__A, (__v16si) __B, (__v16si) __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shrdv_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpshrdv_v16si_mask ((__v16si)__A, (__v16si) __C, (__v16si) __D, (__mmask16)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shrdv_epi32 (__mmask16 __A, __m512i __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpshrdv_v16si_maskz ((__v16si)__B, (__v16si) __C, (__v16si) __D, (__mmask16)__A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shrdv_epi64 (__m512i __A, __m512i __B, __m512i __C) { return (__m512i) __builtin_ia32_vpshrdv_v8di ((__v8di)__A, (__v8di) __B, (__v8di) __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shrdv_epi64 (__m512i __A, __mmask8 __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpshrdv_v8di_mask ((__v8di)__A, (__v8di) __C, (__v8di) __D, (__mmask8)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shrdv_epi64 (__mmask8 __A, __m512i __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpshrdv_v8di_maskz ((__v8di)__B, (__v8di) __C, (__v8di) __D, (__mmask8)__A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shldv_epi16 (__m512i __A, __m512i __B, __m512i __C) { return (__m512i) __builtin_ia32_vpshldv_v32hi ((__v32hi)__A, (__v32hi) __B, (__v32hi) __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shldv_epi32 (__m512i __A, __m512i __B, __m512i __C) { return (__m512i) __builtin_ia32_vpshldv_v16si ((__v16si)__A, (__v16si) __B, (__v16si) __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shldv_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpshldv_v16si_mask ((__v16si)__A, (__v16si) __C, (__v16si) __D, (__mmask16)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shldv_epi32 (__mmask16 __A, __m512i __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpshldv_v16si_maskz ((__v16si)__B, (__v16si) __C, (__v16si) __D, (__mmask16)__A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_shldv_epi64 (__m512i __A, __m512i __B, __m512i __C) { return (__m512i) __builtin_ia32_vpshldv_v8di ((__v8di)__A, (__v8di) __B, (__v8di) __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shldv_epi64 (__m512i __A, __mmask8 __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpshldv_v8di_mask ((__v8di)__A, (__v8di) __C, (__v8di) __D, (__mmask8)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shldv_epi64 (__mmask8 __A, __m512i __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpshldv_v8di_maskz ((__v8di)__B, (__v8di) __C, (__v8di) __D, (__mmask8)__A); } #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("avx512vbmi2,avx512bw") extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_compress_epi8 (__m512i __A, __mmask64 __B, __m512i __C) { return (__m512i) __builtin_ia32_compressqi512_mask ((__v64qi)__C, (__v64qi)__A, (__mmask64)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_compress_epi8 (__mmask64 __A, __m512i __B) { return (__m512i) __builtin_ia32_compressqi512_mask ((__v64qi)__B, (__v64qi)_mm512_setzero_si512 (), (__mmask64)__A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_compressstoreu_epi8 (void * __A, __mmask64 __B, __m512i __C) { __builtin_ia32_compressstoreuqi512_mask ((__v64qi *) __A, (__v64qi) __C, (__mmask64) __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_compress_epi16 (__m512i __A, __mmask32 __B, __m512i __C) { return (__m512i) __builtin_ia32_compresshi512_mask ((__v32hi)__C, (__v32hi)__A, (__mmask32)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_compress_epi16 (__mmask32 __A, __m512i __B) { return (__m512i) __builtin_ia32_compresshi512_mask ((__v32hi)__B, (__v32hi)_mm512_setzero_si512 (), (__mmask32)__A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_compressstoreu_epi16 (void * __A, __mmask32 __B, __m512i __C) { __builtin_ia32_compressstoreuhi512_mask ((__v32hi *) __A, (__v32hi) __C, (__mmask32) __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_expand_epi8 (__m512i __A, __mmask64 __B, __m512i __C) { return (__m512i) __builtin_ia32_expandqi512_mask ((__v64qi) __C, (__v64qi) __A, (__mmask64) __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_expand_epi8 (__mmask64 __A, __m512i __B) { return (__m512i) __builtin_ia32_expandqi512_maskz ((__v64qi) __B, (__v64qi) _mm512_setzero_si512 (), (__mmask64) __A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_expandloadu_epi8 (__m512i __A, __mmask64 __B, const void * __C) { return (__m512i) __builtin_ia32_expandloadqi512_mask ((const __v64qi *) __C, (__v64qi) __A, (__mmask64) __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_expandloadu_epi8 (__mmask64 __A, const void * __B) { return (__m512i) __builtin_ia32_expandloadqi512_maskz ((const __v64qi *) __B, (__v64qi) _mm512_setzero_si512 (), (__mmask64) __A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_expand_epi16 (__m512i __A, __mmask32 __B, __m512i __C) { return (__m512i) __builtin_ia32_expandhi512_mask ((__v32hi) __C, (__v32hi) __A, (__mmask32) __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_expand_epi16 (__mmask32 __A, __m512i __B) { return (__m512i) __builtin_ia32_expandhi512_maskz ((__v32hi) __B, (__v32hi) _mm512_setzero_si512 (), (__mmask32) __A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_expandloadu_epi16 (__m512i __A, __mmask32 __B, const void * __C) { return (__m512i) __builtin_ia32_expandloadhi512_mask ((const __v32hi *) __C, (__v32hi) __A, (__mmask32) __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_expandloadu_epi16 (__mmask32 __A, const void * __B) { return (__m512i) __builtin_ia32_expandloadhi512_maskz ((const __v32hi *) __B, (__v32hi) _mm512_setzero_si512 (), (__mmask32) __A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shrdi_epi16 (__m512i __A, __mmask32 __B, __m512i __C, __m512i __D, int __E) { return (__m512i)__builtin_ia32_vpshrd_v32hi_mask ((__v32hi)__C, (__v32hi) __D, __E, (__v32hi) __A, (__mmask32)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shrdi_epi16 (__mmask32 __A, __m512i __B, __m512i __C, int __D) { return (__m512i)__builtin_ia32_vpshrd_v32hi_mask ((__v32hi)__B, (__v32hi) __C, __D, (__v32hi) _mm512_setzero_si512 (), (__mmask32)__A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shldi_epi16 (__m512i __A, __mmask32 __B, __m512i __C, __m512i __D, int __E) { return (__m512i)__builtin_ia32_vpshld_v32hi_mask ((__v32hi)__C, (__v32hi) __D, __E, (__v32hi) __A, (__mmask32)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shldi_epi16 (__mmask32 __A, __m512i __B, __m512i __C, int __D) { return (__m512i)__builtin_ia32_vpshld_v32hi_mask ((__v32hi)__B, (__v32hi) __C, __D, (__v32hi) _mm512_setzero_si512 (), (__mmask32)__A); } # 519 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vbmi2intrin.h" 3 4 extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shrdv_epi16 (__m512i __A, __mmask32 __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpshrdv_v32hi_mask ((__v32hi)__A, (__v32hi) __C, (__v32hi) __D, (__mmask32)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shrdv_epi16 (__mmask32 __A, __m512i __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpshrdv_v32hi_maskz ((__v32hi)__B, (__v32hi) __C, (__v32hi) __D, (__mmask32)__A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_shldv_epi16 (__m512i __A, __mmask32 __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpshldv_v32hi_mask ((__v32hi)__A, (__v32hi) __C, (__v32hi) __D, (__mmask32)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_shldv_epi16 (__mmask32 __A, __m512i __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpshldv_v32hi_maskz ((__v32hi)__B, (__v32hi) __C, (__v32hi) __D, (__mmask32)__A); } #pragma GCC pop_options # 88 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vbmi2vlintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vbmi2vlintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512vbmi2,avx512vl") extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_compress_epi8 (__m128i __A, __mmask16 __B, __m128i __C) { return (__m128i) __builtin_ia32_compressqi128_mask ((__v16qi)__C, (__v16qi)__A, (__mmask16)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_compress_epi8 (__mmask16 __A, __m128i __B) { return (__m128i) __builtin_ia32_compressqi128_mask ((__v16qi) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_compressstoreu_epi16 (void * __A, __mmask16 __B, __m256i __C) { __builtin_ia32_compressstoreuhi256_mask ((__v16hi *) __A, (__v16hi) __C, (__mmask16) __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_compress_epi16 (__m128i __A, __mmask8 __B, __m128i __C) { return (__m128i) __builtin_ia32_compresshi128_mask ((__v8hi)__C, (__v8hi)__A, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_compress_epi16 (__mmask8 __A, __m128i __B) { return (__m128i) __builtin_ia32_compresshi128_mask ((__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_compress_epi16 (__m256i __A, __mmask16 __B, __m256i __C) { return (__m256i) __builtin_ia32_compresshi256_mask ((__v16hi)__C, (__v16hi)__A, (__mmask16)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_compress_epi16 (__mmask16 __A, __m256i __B) { return (__m256i) __builtin_ia32_compresshi256_mask ((__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_compressstoreu_epi8 (void * __A, __mmask16 __B, __m128i __C) { __builtin_ia32_compressstoreuqi128_mask ((__v16qi *) __A, (__v16qi) __C, (__mmask16) __B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_compressstoreu_epi16 (void * __A, __mmask8 __B, __m128i __C) { __builtin_ia32_compressstoreuhi128_mask ((__v8hi *) __A, (__v8hi) __C, (__mmask8) __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_expand_epi8 (__m128i __A, __mmask16 __B, __m128i __C) { return (__m128i) __builtin_ia32_expandqi128_mask ((__v16qi) __C, (__v16qi) __A, (__mmask16) __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_expand_epi8 (__mmask16 __A, __m128i __B) { return (__m128i) __builtin_ia32_expandqi128_maskz ((__v16qi) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_expandloadu_epi8 (__m128i __A, __mmask16 __B, const void * __C) { return (__m128i) __builtin_ia32_expandloadqi128_mask ((const __v16qi *) __C, (__v16qi) __A, (__mmask16) __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_expandloadu_epi8 (__mmask16 __A, const void * __B) { return (__m128i) __builtin_ia32_expandloadqi128_maskz ((const __v16qi *) __B, (__v16qi) _mm_setzero_si128 (), (__mmask16) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_expand_epi16 (__m128i __A, __mmask8 __B, __m128i __C) { return (__m128i) __builtin_ia32_expandhi128_mask ((__v8hi) __C, (__v8hi) __A, (__mmask8) __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_expand_epi16 (__mmask8 __A, __m128i __B) { return (__m128i) __builtin_ia32_expandhi128_maskz ((__v8hi) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_expandloadu_epi16 (__m128i __A, __mmask8 __B, const void * __C) { return (__m128i) __builtin_ia32_expandloadhi128_mask ((const __v8hi *) __C, (__v8hi) __A, (__mmask8) __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_expandloadu_epi16 (__mmask8 __A, const void * __B) { return (__m128i) __builtin_ia32_expandloadhi128_maskz ((const __v8hi *) __B, (__v8hi) _mm_setzero_si128 (), (__mmask8) __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_expand_epi16 (__m256i __A, __mmask16 __B, __m256i __C) { return (__m256i) __builtin_ia32_expandhi256_mask ((__v16hi) __C, (__v16hi) __A, (__mmask16) __B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_expand_epi16 (__mmask16 __A, __m256i __B) { return (__m256i) __builtin_ia32_expandhi256_maskz ((__v16hi) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_expandloadu_epi16 (__m256i __A, __mmask16 __B, const void * __C) { return (__m256i) __builtin_ia32_expandloadhi256_mask ((const __v16hi *) __C, (__v16hi) __A, (__mmask16) __B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_expandloadu_epi16 (__mmask16 __A, const void * __B) { return (__m256i) __builtin_ia32_expandloadhi256_maskz ((const __v16hi *) __B, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shrdi_epi16 (__m256i __A, __m256i __B, int __C) { return (__m256i) __builtin_ia32_vpshrd_v16hi ((__v16hi)__A, (__v16hi) __B, __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shrdi_epi16 (__m256i __A, __mmask16 __B, __m256i __C, __m256i __D, int __E) { return (__m256i)__builtin_ia32_vpshrd_v16hi_mask ((__v16hi)__C, (__v16hi) __D, __E, (__v16hi) __A, (__mmask16)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shrdi_epi16 (__mmask16 __A, __m256i __B, __m256i __C, int __D) { return (__m256i)__builtin_ia32_vpshrd_v16hi_mask ((__v16hi)__B, (__v16hi) __C, __D, (__v16hi) _mm256_setzero_si256 (), (__mmask16)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shrdi_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D, int __E) { return (__m256i)__builtin_ia32_vpshrd_v8si_mask ((__v8si)__C, (__v8si) __D, __E, (__v8si) __A, (__mmask8)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shrdi_epi32 (__mmask8 __A, __m256i __B, __m256i __C, int __D) { return (__m256i)__builtin_ia32_vpshrd_v8si_mask ((__v8si)__B, (__v8si) __C, __D, (__v8si) _mm256_setzero_si256 (), (__mmask8)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shrdi_epi32 (__m256i __A, __m256i __B, int __C) { return (__m256i) __builtin_ia32_vpshrd_v8si ((__v8si)__A, (__v8si) __B, __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shrdi_epi64 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D, int __E) { return (__m256i)__builtin_ia32_vpshrd_v4di_mask ((__v4di)__C, (__v4di) __D, __E, (__v4di) __A, (__mmask8)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shrdi_epi64 (__mmask8 __A, __m256i __B, __m256i __C, int __D) { return (__m256i)__builtin_ia32_vpshrd_v4di_mask ((__v4di)__B, (__v4di) __C, __D, (__v4di) _mm256_setzero_si256 (), (__mmask8)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shrdi_epi64 (__m256i __A, __m256i __B, int __C) { return (__m256i) __builtin_ia32_vpshrd_v4di ((__v4di)__A, (__v4di) __B, __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shrdi_epi16 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D, int __E) { return (__m128i)__builtin_ia32_vpshrd_v8hi_mask ((__v8hi)__C, (__v8hi) __D, __E, (__v8hi) __A, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shrdi_epi16 (__mmask8 __A, __m128i __B, __m128i __C, int __D) { return (__m128i)__builtin_ia32_vpshrd_v8hi_mask ((__v8hi)__B, (__v8hi) __C, __D, (__v8hi) _mm_setzero_si128 (), (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shrdi_epi16 (__m128i __A, __m128i __B, int __C) { return (__m128i) __builtin_ia32_vpshrd_v8hi ((__v8hi)__A, (__v8hi) __B, __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shrdi_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D, int __E) { return (__m128i)__builtin_ia32_vpshrd_v4si_mask ((__v4si)__C, (__v4si) __D, __E, (__v4si) __A, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shrdi_epi32 (__mmask8 __A, __m128i __B, __m128i __C, int __D) { return (__m128i)__builtin_ia32_vpshrd_v4si_mask ((__v4si)__B, (__v4si) __C, __D, (__v4si) _mm_setzero_si128 (), (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shrdi_epi32 (__m128i __A, __m128i __B, int __C) { return (__m128i) __builtin_ia32_vpshrd_v4si ((__v4si)__A, (__v4si) __B, __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shrdi_epi64 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D, int __E) { return (__m128i)__builtin_ia32_vpshrd_v2di_mask ((__v2di)__C, (__v2di) __D, __E, (__v2di) __A, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shrdi_epi64 (__mmask8 __A, __m128i __B, __m128i __C, int __D) { return (__m128i)__builtin_ia32_vpshrd_v2di_mask ((__v2di)__B, (__v2di) __C, __D, (__v2di) _mm_setzero_si128 (), (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shrdi_epi64 (__m128i __A, __m128i __B, int __C) { return (__m128i) __builtin_ia32_vpshrd_v2di ((__v2di)__A, (__v2di) __B, __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shldi_epi16 (__m256i __A, __m256i __B, int __C) { return (__m256i) __builtin_ia32_vpshld_v16hi ((__v16hi)__A, (__v16hi) __B, __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shldi_epi16 (__m256i __A, __mmask16 __B, __m256i __C, __m256i __D, int __E) { return (__m256i)__builtin_ia32_vpshld_v16hi_mask ((__v16hi)__C, (__v16hi) __D, __E, (__v16hi) __A, (__mmask16)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shldi_epi16 (__mmask16 __A, __m256i __B, __m256i __C, int __D) { return (__m256i)__builtin_ia32_vpshld_v16hi_mask ((__v16hi)__B, (__v16hi) __C, __D, (__v16hi) _mm256_setzero_si256 (), (__mmask16)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shldi_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D, int __E) { return (__m256i)__builtin_ia32_vpshld_v8si_mask ((__v8si)__C, (__v8si) __D, __E, (__v8si) __A, (__mmask8)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shldi_epi32 (__mmask8 __A, __m256i __B, __m256i __C, int __D) { return (__m256i)__builtin_ia32_vpshld_v8si_mask ((__v8si)__B, (__v8si) __C, __D, (__v8si) _mm256_setzero_si256 (), (__mmask8)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shldi_epi32 (__m256i __A, __m256i __B, int __C) { return (__m256i) __builtin_ia32_vpshld_v8si ((__v8si)__A, (__v8si) __B, __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shldi_epi64 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D, int __E) { return (__m256i)__builtin_ia32_vpshld_v4di_mask ((__v4di)__C, (__v4di) __D, __E, (__v4di) __A, (__mmask8)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shldi_epi64 (__mmask8 __A, __m256i __B, __m256i __C, int __D) { return (__m256i)__builtin_ia32_vpshld_v4di_mask ((__v4di)__B, (__v4di) __C, __D, (__v4di) _mm256_setzero_si256 (), (__mmask8)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shldi_epi64 (__m256i __A, __m256i __B, int __C) { return (__m256i) __builtin_ia32_vpshld_v4di ((__v4di)__A, (__v4di) __B, __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shldi_epi16 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D, int __E) { return (__m128i)__builtin_ia32_vpshld_v8hi_mask ((__v8hi)__C, (__v8hi) __D, __E, (__v8hi) __A, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shldi_epi16 (__mmask8 __A, __m128i __B, __m128i __C, int __D) { return (__m128i)__builtin_ia32_vpshld_v8hi_mask ((__v8hi)__B, (__v8hi) __C, __D, (__v8hi) _mm_setzero_si128 (), (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shldi_epi16 (__m128i __A, __m128i __B, int __C) { return (__m128i) __builtin_ia32_vpshld_v8hi ((__v8hi)__A, (__v8hi) __B, __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shldi_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D, int __E) { return (__m128i)__builtin_ia32_vpshld_v4si_mask ((__v4si)__C, (__v4si) __D, __E, (__v4si) __A, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shldi_epi32 (__mmask8 __A, __m128i __B, __m128i __C, int __D) { return (__m128i)__builtin_ia32_vpshld_v4si_mask ((__v4si)__B, (__v4si) __C, __D, (__v4si) _mm_setzero_si128 (), (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shldi_epi32 (__m128i __A, __m128i __B, int __C) { return (__m128i) __builtin_ia32_vpshld_v4si ((__v4si)__A, (__v4si) __B, __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shldi_epi64 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D, int __E) { return (__m128i)__builtin_ia32_vpshld_v2di_mask ((__v2di)__C, (__v2di) __D, __E, (__v2di) __A, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shldi_epi64 (__mmask8 __A, __m128i __B, __m128i __C, int __D) { return (__m128i)__builtin_ia32_vpshld_v2di_mask ((__v2di)__B, (__v2di) __C, __D, (__v2di) _mm_setzero_si128 (), (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shldi_epi64 (__m128i __A, __m128i __B, int __C) { return (__m128i) __builtin_ia32_vpshld_v2di ((__v2di)__A, (__v2di) __B, __C); } # 672 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vbmi2vlintrin.h" 3 4 extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shrdv_epi16 (__m256i __A, __m256i __B, __m256i __C) { return (__m256i) __builtin_ia32_vpshrdv_v16hi ((__v16hi)__A, (__v16hi) __B, (__v16hi) __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shrdv_epi16 (__m256i __A, __mmask16 __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpshrdv_v16hi_mask ((__v16hi)__A, (__v16hi) __C, (__v16hi) __D, (__mmask16)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shrdv_epi16 (__mmask16 __A, __m256i __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpshrdv_v16hi_maskz ((__v16hi)__B, (__v16hi) __C, (__v16hi) __D, (__mmask16)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shrdv_epi32 (__m256i __A, __m256i __B, __m256i __C) { return (__m256i) __builtin_ia32_vpshrdv_v8si ((__v8si)__A, (__v8si) __B, (__v8si) __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shrdv_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpshrdv_v8si_mask ((__v8si)__A, (__v8si) __C, (__v8si) __D, (__mmask8)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shrdv_epi32 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpshrdv_v8si_maskz ((__v8si)__B, (__v8si) __C, (__v8si) __D, (__mmask8)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shrdv_epi64 (__m256i __A, __m256i __B, __m256i __C) { return (__m256i) __builtin_ia32_vpshrdv_v4di ((__v4di)__A, (__v4di) __B, (__v4di) __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shrdv_epi64 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpshrdv_v4di_mask ((__v4di)__A, (__v4di) __C, (__v4di) __D, (__mmask8)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shrdv_epi64 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpshrdv_v4di_maskz ((__v4di)__B, (__v4di) __C, (__v4di) __D, (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shrdv_epi16 (__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpshrdv_v8hi ((__v8hi)__A, (__v8hi) __B, (__v8hi) __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shrdv_epi16 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpshrdv_v8hi_mask ((__v8hi)__A, (__v8hi) __C, (__v8hi) __D, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shrdv_epi16 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpshrdv_v8hi_maskz ((__v8hi)__B, (__v8hi) __C, (__v8hi) __D, (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shrdv_epi32 (__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpshrdv_v4si ((__v4si)__A, (__v4si) __B, (__v4si) __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shrdv_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpshrdv_v4si_mask ((__v4si)__A, (__v4si) __C, (__v4si) __D, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shrdv_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpshrdv_v4si_maskz ((__v4si)__B, (__v4si) __C, (__v4si) __D, (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shrdv_epi64 (__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpshrdv_v2di ((__v2di)__A, (__v2di) __B, (__v2di) __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shrdv_epi64 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpshrdv_v2di_mask ((__v2di)__A, (__v2di) __C, (__v2di) __D, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shrdv_epi64 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpshrdv_v2di_maskz ((__v2di)__B, (__v2di) __C, (__v2di) __D, (__mmask8)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shldv_epi16 (__m256i __A, __m256i __B, __m256i __C) { return (__m256i) __builtin_ia32_vpshldv_v16hi ((__v16hi)__A, (__v16hi) __B, (__v16hi) __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shldv_epi16 (__m256i __A, __mmask16 __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpshldv_v16hi_mask ((__v16hi)__A, (__v16hi) __C, (__v16hi) __D, (__mmask16)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shldv_epi16 (__mmask16 __A, __m256i __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpshldv_v16hi_maskz ((__v16hi)__B, (__v16hi) __C, (__v16hi) __D, (__mmask16)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shldv_epi32 (__m256i __A, __m256i __B, __m256i __C) { return (__m256i) __builtin_ia32_vpshldv_v8si ((__v8si)__A, (__v8si) __B, (__v8si) __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shldv_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpshldv_v8si_mask ((__v8si)__A, (__v8si) __C, (__v8si) __D, (__mmask8)__B) ; } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shldv_epi32 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpshldv_v8si_maskz ((__v8si)__B, (__v8si) __C, (__v8si) __D, (__mmask8)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_shldv_epi64 (__m256i __A, __m256i __B, __m256i __C) { return (__m256i) __builtin_ia32_vpshldv_v4di ((__v4di)__A, (__v4di) __B, (__v4di) __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_shldv_epi64 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpshldv_v4di_mask ((__v4di)__A, (__v4di) __C, (__v4di) __D, (__mmask8)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_shldv_epi64 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpshldv_v4di_maskz ((__v4di)__B, (__v4di) __C, (__v4di) __D, (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shldv_epi16 (__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpshldv_v8hi ((__v8hi)__A, (__v8hi) __B, (__v8hi) __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shldv_epi16 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpshldv_v8hi_mask ((__v8hi)__A, (__v8hi) __C, (__v8hi) __D, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shldv_epi16 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpshldv_v8hi_maskz ((__v8hi)__B, (__v8hi) __C, (__v8hi) __D, (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shldv_epi32 (__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpshldv_v4si ((__v4si)__A, (__v4si) __B, (__v4si) __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shldv_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpshldv_v4si_mask ((__v4si)__A, (__v4si) __C, (__v4si) __D, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shldv_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpshldv_v4si_maskz ((__v4si)__B, (__v4si) __C, (__v4si) __D, (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_shldv_epi64 (__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpshldv_v2di ((__v2di)__A, (__v2di) __B, (__v2di) __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_shldv_epi64 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpshldv_v2di_mask ((__v2di)__A, (__v2di) __C, (__v2di) __D, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_shldv_epi64 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpshldv_v2di_maskz ((__v2di)__B, (__v2di) __C, (__v2di) __D, (__mmask8)__A); } #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("avx512vbmi2,avx512vl,avx512bw") extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_compress_epi8 (__m256i __A, __mmask32 __B, __m256i __C) { return (__m256i) __builtin_ia32_compressqi256_mask ((__v32qi)__C, (__v32qi)__A, (__mmask32)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_compress_epi8 (__mmask32 __A, __m256i __B) { return (__m256i) __builtin_ia32_compressqi256_mask ((__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_compressstoreu_epi8 (void * __A, __mmask32 __B, __m256i __C) { __builtin_ia32_compressstoreuqi256_mask ((__v32qi *) __A, (__v32qi) __C, (__mmask32) __B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_expand_epi8 (__m256i __A, __mmask32 __B, __m256i __C) { return (__m256i) __builtin_ia32_expandqi256_mask ((__v32qi) __C, (__v32qi) __A, (__mmask32) __B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_expand_epi8 (__mmask32 __A, __m256i __B) { return (__m256i) __builtin_ia32_expandqi256_maskz ((__v32qi) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_expandloadu_epi8 (__m256i __A, __mmask32 __B, const void * __C) { return (__m256i) __builtin_ia32_expandloadqi256_mask ((const __v32qi *) __C, (__v32qi) __A, (__mmask32) __B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_expandloadu_epi8 (__mmask32 __A, const void * __B) { return (__m256i) __builtin_ia32_expandloadqi256_maskz ((const __v32qi *) __B, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __A); } #pragma GCC pop_options # 90 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vnniintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vnniintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512vnni") extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_dpbusd_epi32 (__m512i __A, __m512i __B, __m512i __C) { return (__m512i) __builtin_ia32_vpdpbusd_v16si ((__v16si)__A, (__v16si) __B, (__v16si) __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_dpbusd_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpdpbusd_v16si_mask ((__v16si)__A, (__v16si) __C, (__v16si) __D, (__mmask16)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_dpbusd_epi32 (__mmask16 __A, __m512i __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpdpbusd_v16si_maskz ((__v16si)__B, (__v16si) __C, (__v16si) __D, (__mmask16)__A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_dpbusds_epi32 (__m512i __A, __m512i __B, __m512i __C) { return (__m512i) __builtin_ia32_vpdpbusds_v16si ((__v16si)__A, (__v16si) __B, (__v16si) __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_dpbusds_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpdpbusds_v16si_mask ((__v16si)__A, (__v16si) __C, (__v16si) __D, (__mmask16)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_dpbusds_epi32 (__mmask16 __A, __m512i __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpdpbusds_v16si_maskz ((__v16si)__B, (__v16si) __C, (__v16si) __D, (__mmask16)__A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_dpwssd_epi32 (__m512i __A, __m512i __B, __m512i __C) { return (__m512i) __builtin_ia32_vpdpwssd_v16si ((__v16si)__A, (__v16si) __B, (__v16si) __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_dpwssd_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpdpwssd_v16si_mask ((__v16si)__A, (__v16si) __C, (__v16si) __D, (__mmask16)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_dpwssd_epi32 (__mmask16 __A, __m512i __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpdpwssd_v16si_maskz ((__v16si)__B, (__v16si) __C, (__v16si) __D, (__mmask16)__A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_dpwssds_epi32 (__m512i __A, __m512i __B, __m512i __C) { return (__m512i) __builtin_ia32_vpdpwssds_v16si ((__v16si)__A, (__v16si) __B, (__v16si) __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_dpwssds_epi32 (__m512i __A, __mmask16 __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpdpwssds_v16si_mask ((__v16si)__A, (__v16si) __C, (__v16si) __D, (__mmask16)__B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_dpwssds_epi32 (__mmask16 __A, __m512i __B, __m512i __C, __m512i __D) { return (__m512i)__builtin_ia32_vpdpwssds_v16si_maskz ((__v16si)__B, (__v16si) __C, (__v16si) __D, (__mmask16)__A); } #pragma GCC pop_options # 92 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vnnivlintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vnnivlintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512vnni,avx512vl") extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_dpbusd_epi32 (__m256i __A, __m256i __B, __m256i __C) { return (__m256i) __builtin_ia32_vpdpbusd_v8si ((__v8si)__A, (__v8si) __B, (__v8si) __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_dpbusd_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpdpbusd_v8si_mask ((__v8si)__A, (__v8si) __C, (__v8si) __D, (__mmask8)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_dpbusd_epi32 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpdpbusd_v8si_maskz ((__v8si)__B, (__v8si) __C, (__v8si) __D, (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_dpbusd_epi32 (__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpdpbusd_v4si ((__v4si)__A, (__v4si) __B, (__v4si) __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_dpbusd_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpdpbusd_v4si_mask ((__v4si)__A, (__v4si) __C, (__v4si) __D, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_dpbusd_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpdpbusd_v4si_maskz ((__v4si)__B, (__v4si) __C, (__v4si) __D, (__mmask8)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_dpbusds_epi32 (__m256i __A, __m256i __B, __m256i __C) { return (__m256i) __builtin_ia32_vpdpbusds_v8si ((__v8si)__A, (__v8si) __B, (__v8si) __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_dpbusds_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpdpbusds_v8si_mask ((__v8si)__A, (__v8si) __C, (__v8si) __D, (__mmask8)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_dpbusds_epi32 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpdpbusds_v8si_maskz ((__v8si)__B, (__v8si) __C, (__v8si) __D, (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_dpbusds_epi32 (__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpdpbusds_v4si ((__v4si)__A, (__v4si) __B, (__v4si) __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_dpbusds_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpdpbusds_v4si_mask ((__v4si)__A, (__v4si) __C, (__v4si) __D, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_dpbusds_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpdpbusds_v4si_maskz ((__v4si)__B, (__v4si) __C, (__v4si) __D, (__mmask8)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_dpwssd_epi32 (__m256i __A, __m256i __B, __m256i __C) { return (__m256i) __builtin_ia32_vpdpwssd_v8si ((__v8si)__A, (__v8si) __B, (__v8si) __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_dpwssd_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpdpwssd_v8si_mask ((__v8si)__A, (__v8si) __C, (__v8si) __D, (__mmask8)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_dpwssd_epi32 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpdpwssd_v8si_maskz ((__v8si)__B, (__v8si) __C, (__v8si) __D, (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_dpwssd_epi32 (__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpdpwssd_v4si ((__v4si)__A, (__v4si) __B, (__v4si) __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_dpwssd_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpdpwssd_v4si_mask ((__v4si)__A, (__v4si) __C, (__v4si) __D, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_dpwssd_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpdpwssd_v4si_maskz ((__v4si)__B, (__v4si) __C, (__v4si) __D, (__mmask8)__A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_dpwssds_epi32 (__m256i __A, __m256i __B, __m256i __C) { return (__m256i) __builtin_ia32_vpdpwssds_v8si ((__v8si)__A, (__v8si) __B, (__v8si) __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_dpwssds_epi32 (__m256i __A, __mmask8 __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpdpwssds_v8si_mask ((__v8si)__A, (__v8si) __C, (__v8si) __D, (__mmask8)__B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_dpwssds_epi32 (__mmask8 __A, __m256i __B, __m256i __C, __m256i __D) { return (__m256i)__builtin_ia32_vpdpwssds_v8si_maskz ((__v8si)__B, (__v8si) __C, (__v8si) __D, (__mmask8)__A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_dpwssds_epi32 (__m128i __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vpdpwssds_v4si ((__v4si)__A, (__v4si) __B, (__v4si) __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_dpwssds_epi32 (__m128i __A, __mmask8 __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpdpwssds_v4si_mask ((__v4si)__A, (__v4si) __C, (__v4si) __D, (__mmask8)__B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_dpwssds_epi32 (__mmask8 __A, __m128i __B, __m128i __C, __m128i __D) { return (__m128i)__builtin_ia32_vpdpwssds_v4si_maskz ((__v4si)__B, (__v4si) __C, (__v4si) __D, (__mmask8)__A); } #pragma GCC pop_options # 94 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vpopcntdqvlintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vpopcntdqvlintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512vpopcntdq,avx512vl") extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_popcnt_epi32 (__m128i __A) { return (__m128i) __builtin_ia32_vpopcountd_v4si ((__v4si) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_popcnt_epi32 (__m128i __W, __mmask16 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpopcountd_v4si_mask ((__v4si) __A, (__v4si) __W, (__mmask16) __U); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_popcnt_epi32 (__mmask16 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpopcountd_v4si_mask ((__v4si) __A, (__v4si) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_popcnt_epi32 (__m256i __A) { return (__m256i) __builtin_ia32_vpopcountd_v8si ((__v8si) __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_popcnt_epi32 (__m256i __W, __mmask16 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpopcountd_v8si_mask ((__v8si) __A, (__v8si) __W, (__mmask16) __U); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_popcnt_epi32 (__mmask16 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpopcountd_v8si_mask ((__v8si) __A, (__v8si) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_popcnt_epi64 (__m128i __A) { return (__m128i) __builtin_ia32_vpopcountq_v2di ((__v2di) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_popcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpopcountq_v2di_mask ((__v2di) __A, (__v2di) __W, (__mmask8) __U); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_popcnt_epi64 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpopcountq_v2di_mask ((__v2di) __A, (__v2di) _mm_setzero_si128 (), (__mmask8) __U); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_popcnt_epi64 (__m256i __A) { return (__m256i) __builtin_ia32_vpopcountq_v4di ((__v4di) __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_popcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpopcountq_v4di_mask ((__v4di) __A, (__v4di) __W, (__mmask8) __U); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_popcnt_epi64 (__mmask8 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpopcountq_v4di_mask ((__v4di) __A, (__v4di) _mm256_setzero_si256 (), (__mmask8) __U); } #pragma GCC pop_options # 96 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512bitalgintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512bitalgintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512bitalg") extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_popcnt_epi8 (__m512i __A) { return (__m512i) __builtin_ia32_vpopcountb_v64qi ((__v64qi) __A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_popcnt_epi16 (__m512i __A) { return (__m512i) __builtin_ia32_vpopcountw_v32hi ((__v32hi) __A); } #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("avx512bitalg,avx512bw") extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_popcnt_epi8 (__m512i __W, __mmask64 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpopcountb_v64qi_mask ((__v64qi) __A, (__v64qi) __W, (__mmask64) __U); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_popcnt_epi8 (__mmask64 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpopcountb_v64qi_mask ((__v64qi) __A, (__v64qi) _mm512_setzero_si512 (), (__mmask64) __U); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_popcnt_epi16 (__m512i __W, __mmask32 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpopcountw_v32hi_mask ((__v32hi) __A, (__v32hi) __W, (__mmask32) __U); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_popcnt_epi16 (__mmask32 __U, __m512i __A) { return (__m512i) __builtin_ia32_vpopcountw_v32hi_mask ((__v32hi) __A, (__v32hi) _mm512_setzero_si512 (), (__mmask32) __U); } extern __inline __mmask64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_bitshuffle_epi64_mask (__m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_vpshufbitqmb512_mask ((__v64qi) __A, (__v64qi) __B, (__mmask64) -1); } extern __inline __mmask64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_bitshuffle_epi64_mask (__mmask64 __M, __m512i __A, __m512i __B) { return (__mmask64) __builtin_ia32_vpshufbitqmb512_mask ((__v64qi) __A, (__v64qi) __B, (__mmask64) __M); } #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("avx512bitalg,avx512vl,avx512bw") extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_popcnt_epi8 (__m256i __W, __mmask32 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpopcountb_v32qi_mask ((__v32qi) __A, (__v32qi) __W, (__mmask32) __U); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_popcnt_epi8 (__mmask32 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpopcountb_v32qi_mask ((__v32qi) __A, (__v32qi) _mm256_setzero_si256 (), (__mmask32) __U); } extern __inline __mmask32 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_bitshuffle_epi64_mask (__m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_vpshufbitqmb256_mask ((__v32qi) __A, (__v32qi) __B, (__mmask32) -1); } extern __inline __mmask32 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_bitshuffle_epi64_mask (__mmask32 __M, __m256i __A, __m256i __B) { return (__mmask32) __builtin_ia32_vpshufbitqmb256_mask ((__v32qi) __A, (__v32qi) __B, (__mmask32) __M); } #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("avx512bitalg,avx512vl") extern __inline __mmask16 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_bitshuffle_epi64_mask (__m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_vpshufbitqmb128_mask ((__v16qi) __A, (__v16qi) __B, (__mmask16) -1); } extern __inline __mmask16 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_bitshuffle_epi64_mask (__mmask16 __M, __m128i __A, __m128i __B) { return (__mmask16) __builtin_ia32_vpshufbitqmb128_mask ((__v16qi) __A, (__v16qi) __B, (__mmask16) __M); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_popcnt_epi8 (__m256i __A) { return (__m256i) __builtin_ia32_vpopcountb_v32qi ((__v32qi) __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_popcnt_epi16 (__m256i __A) { return (__m256i) __builtin_ia32_vpopcountw_v16hi ((__v16hi) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_popcnt_epi8 (__m128i __A) { return (__m128i) __builtin_ia32_vpopcountb_v16qi ((__v16qi) __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_popcnt_epi16 (__m128i __A) { return (__m128i) __builtin_ia32_vpopcountw_v8hi ((__v8hi) __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_popcnt_epi16 (__m256i __W, __mmask16 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpopcountw_v16hi_mask ((__v16hi) __A, (__v16hi) __W, (__mmask16) __U); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_popcnt_epi16 (__mmask16 __U, __m256i __A) { return (__m256i) __builtin_ia32_vpopcountw_v16hi_mask ((__v16hi) __A, (__v16hi) _mm256_setzero_si256 (), (__mmask16) __U); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_popcnt_epi8 (__m128i __W, __mmask16 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpopcountb_v16qi_mask ((__v16qi) __A, (__v16qi) __W, (__mmask16) __U); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_popcnt_epi8 (__mmask16 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpopcountb_v16qi_mask ((__v16qi) __A, (__v16qi) _mm_setzero_si128 (), (__mmask16) __U); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_popcnt_epi16 (__m128i __W, __mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpopcountw_v8hi_mask ((__v8hi) __A, (__v8hi) __W, (__mmask8) __U); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_popcnt_epi16 (__mmask8 __U, __m128i __A) { return (__m128i) __builtin_ia32_vpopcountw_v8hi_mask ((__v8hi) __A, (__v8hi) _mm_setzero_si128 (), (__mmask8) __U); } #pragma GCC pop_options # 98 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vp2intersectintrin.h" 1 3 4 # 9 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vp2intersectintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512vp2intersect") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_2intersect_epi32 (__m512i __A, __m512i __B, __mmask16 *__U, __mmask16 *__M) { __builtin_ia32_2intersectd512 (__U, __M, (__v16si) __A, (__v16si) __B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_2intersect_epi64 (__m512i __A, __m512i __B, __mmask8 *__U, __mmask8 *__M) { __builtin_ia32_2intersectq512 (__U, __M, (__v8di) __A, (__v8di) __B); } #pragma GCC pop_options # 100 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vp2intersectvlintrin.h" 1 3 4 # 9 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512vp2intersectvlintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512vp2intersect,avx512vl") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_2intersect_epi32 (__m128i __A, __m128i __B, __mmask8 *__U, __mmask8 *__M) { __builtin_ia32_2intersectd128 (__U, __M, (__v4si) __A, (__v4si) __B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_2intersect_epi32 (__m256i __A, __m256i __B, __mmask8 *__U, __mmask8 *__M) { __builtin_ia32_2intersectd256 (__U, __M, (__v8si) __A, (__v8si) __B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_2intersect_epi64 (__m128i __A, __m128i __B, __mmask8 *__U, __mmask8 *__M) { __builtin_ia32_2intersectq128 (__U, __M, (__v2di) __A, (__v2di) __B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_2intersect_epi64 (__m256i __A, __m256i __B, __mmask8 *__U, __mmask8 *__M) { __builtin_ia32_2intersectq256 (__U, __M, (__v4di) __A, (__v4di) __B); } #pragma GCC pop_options # 102 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/shaintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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 # 104 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/lzcntintrin.h" 1 3 4 # 33 "/usr/lib/gcc/x86_64-redhat-linux/10/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_ia32_lzcnt_u16 (__X); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __lzcnt32 (unsigned int __X) { return __builtin_ia32_lzcnt_u32 (__X); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _lzcnt_u32 (unsigned int __X) { return __builtin_ia32_lzcnt_u32 (__X); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __lzcnt64 (unsigned long long __X) { return __builtin_ia32_lzcnt_u64 (__X); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _lzcnt_u64 (unsigned long long __X) { return __builtin_ia32_lzcnt_u64 (__X); } #pragma GCC pop_options # 106 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/bmiintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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_ia32_tzcnt_u16 (__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_ia32_tzcnt_u32 (__X); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _tzcnt_u32 (unsigned int __X) { return __builtin_ia32_tzcnt_u32 (__X); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __andn_u64 (unsigned long long __X, unsigned long long __Y) { return ~__X & __Y; } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __bextr_u64 (unsigned long long __X, unsigned long long __Y) { return __builtin_ia32_bextr_u64 (__X, __Y); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _bextr_u64 (unsigned long long __X, unsigned int __Y, unsigned int __Z) { return __builtin_ia32_bextr_u64 (__X, ((__Y & 0xff) | ((__Z & 0xff) << 8))); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blsi_u64 (unsigned long long __X) { return __X & -__X; } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _blsi_u64 (unsigned long long __X) { return __blsi_u64 (__X); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blsmsk_u64 (unsigned long long __X) { return __X ^ (__X - 1); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _blsmsk_u64 (unsigned long long __X) { return __blsmsk_u64 (__X); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blsr_u64 (unsigned long long __X) { return __X & (__X - 1); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _blsr_u64 (unsigned long long __X) { return __blsr_u64 (__X); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __tzcnt_u64 (unsigned long long __X) { return __builtin_ia32_tzcnt_u64 (__X); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _tzcnt_u64 (unsigned long long __X) { return __builtin_ia32_tzcnt_u64 (__X); } #pragma GCC pop_options # 108 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/bmi2intrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _bzhi_u64 (unsigned long long __X, unsigned long long __Y) { return __builtin_ia32_bzhi_di (__X, __Y); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _pdep_u64 (unsigned long long __X, unsigned long long __Y) { return __builtin_ia32_pdep_di (__X, __Y); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _pext_u64 (unsigned long long __X, unsigned long long __Y) { return __builtin_ia32_pext_di (__X, __Y); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mulx_u64 (unsigned long long __X, unsigned long long __Y, unsigned long long *__P) { unsigned __int128 __res = (unsigned __int128) __X * __Y; *__P = (unsigned long long) (__res >> 64); return (unsigned long long) __res; } # 106 "/usr/lib/gcc/x86_64-redhat-linux/10/include/bmi2intrin.h" 3 4 #pragma GCC pop_options # 110 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/fmaintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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_vfmsubpd ((__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_vfmsubpd256 ((__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_vfmsubps ((__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_vfmsubps256 ((__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_vfmsubsd3 ((__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_vfmsubss3 ((__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_vfnmaddpd ((__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_vfnmaddpd256 ((__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_vfnmaddps ((__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_vfnmaddps256 ((__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_vfnmaddsd3 ((__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_vfnmaddss3 ((__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_vfnmsubpd ((__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_vfnmsubpd256 ((__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_vfnmsubps ((__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_vfnmsubps256 ((__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_vfnmsubsd3 ((__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_vfnmsubss3 ((__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 # 112 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/f16cintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/include/f16cintrin.h" 3 4 #pragma GCC pop_options # 114 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/rtmintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/rtmintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("rtm") # 48 "/usr/lib/gcc/x86_64-redhat-linux/10/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 # 116 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xtestintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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 # 118 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/cetintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/cetintrin.h" 3 4 #pragma GCC push_options #pragma GCC target ("shstk") extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _get_ssp (void) { return __builtin_ia32_rdsspq (); } # 53 "/usr/lib/gcc/x86_64-redhat-linux/10/include/cetintrin.h" 3 4 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _inc_ssp (unsigned int __B) { __builtin_ia32_incsspq ((unsigned long long) __B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _saveprevssp (void) { __builtin_ia32_saveprevssp (); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _rstorssp (void *__B) { __builtin_ia32_rstorssp (__B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _wrssd (unsigned int __B, void *__C) { __builtin_ia32_wrssd (__B, __C); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _wrssq (unsigned long long __B, void *__C) { __builtin_ia32_wrssq (__B, __C); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _wrussd (unsigned int __B, void *__C) { __builtin_ia32_wrussd (__B, __C); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _wrussq (unsigned long long __B, void *__C) { __builtin_ia32_wrussq (__B, __C); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _setssbsy (void) { __builtin_ia32_setssbsy (); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _clrssbsy (void *__B) { __builtin_ia32_clrssbsy (__B); } #pragma GCC pop_options # 120 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/gfniintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/gfniintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("gfni,sse2") extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_gf2p8mul_epi8 (__m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_vgf2p8mulb_v16qi((__v16qi) __A, (__v16qi) __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_gf2p8affineinv_epi64_epi8 (__m128i __A, __m128i __B, const int __C) { return (__m128i) __builtin_ia32_vgf2p8affineinvqb_v16qi ((__v16qi) __A, (__v16qi) __B, __C); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_gf2p8affine_epi64_epi8 (__m128i __A, __m128i __B, const int __C) { return (__m128i) __builtin_ia32_vgf2p8affineqb_v16qi ((__v16qi) __A, (__v16qi) __B, __C); } # 73 "/usr/lib/gcc/x86_64-redhat-linux/10/include/gfniintrin.h" 3 4 #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("gfni,avx") extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_gf2p8mul_epi8 (__m256i __A, __m256i __B) { return (__m256i) __builtin_ia32_vgf2p8mulb_v32qi ((__v32qi) __A, (__v32qi) __B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_gf2p8affineinv_epi64_epi8 (__m256i __A, __m256i __B, const int __C) { return (__m256i) __builtin_ia32_vgf2p8affineinvqb_v32qi ((__v32qi) __A, (__v32qi) __B, __C); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_gf2p8affine_epi64_epi8 (__m256i __A, __m256i __B, const int __C) { return (__m256i) __builtin_ia32_vgf2p8affineqb_v32qi ((__v32qi) __A, (__v32qi) __B, __C); } # 119 "/usr/lib/gcc/x86_64-redhat-linux/10/include/gfniintrin.h" 3 4 #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("gfni,avx512vl") extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_gf2p8mul_epi8 (__m128i __A, __mmask16 __B, __m128i __C, __m128i __D) { return (__m128i) __builtin_ia32_vgf2p8mulb_v16qi_mask ((__v16qi) __C, (__v16qi) __D, (__v16qi)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_gf2p8mul_epi8 (__mmask16 __A, __m128i __B, __m128i __C) { return (__m128i) __builtin_ia32_vgf2p8mulb_v16qi_mask ((__v16qi) __B, (__v16qi) __C, (__v16qi) _mm_setzero_si128 (), __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_gf2p8affineinv_epi64_epi8 (__m128i __A, __mmask16 __B, __m128i __C, __m128i __D, const int __E) { return (__m128i) __builtin_ia32_vgf2p8affineinvqb_v16qi_mask ((__v16qi) __C, (__v16qi) __D, __E, (__v16qi)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_gf2p8affineinv_epi64_epi8 (__mmask16 __A, __m128i __B, __m128i __C, const int __D) { return (__m128i) __builtin_ia32_vgf2p8affineinvqb_v16qi_mask ((__v16qi) __B, (__v16qi) __C, __D, (__v16qi) _mm_setzero_si128 (), __A); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_gf2p8affine_epi64_epi8 (__m128i __A, __mmask16 __B, __m128i __C, __m128i __D, const int __E) { return (__m128i) __builtin_ia32_vgf2p8affineqb_v16qi_mask ((__v16qi) __C, (__v16qi) __D, __E, (__v16qi)__A, __B); } extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_gf2p8affine_epi64_epi8 (__mmask16 __A, __m128i __B, __m128i __C, const int __D) { return (__m128i) __builtin_ia32_vgf2p8affineqb_v16qi_mask ((__v16qi) __B, (__v16qi) __C, __D, (__v16qi) _mm_setzero_si128 (), __A); } # 207 "/usr/lib/gcc/x86_64-redhat-linux/10/include/gfniintrin.h" 3 4 #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("gfni,avx512vl,avx512bw") extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_gf2p8mul_epi8 (__m256i __A, __mmask32 __B, __m256i __C, __m256i __D) { return (__m256i) __builtin_ia32_vgf2p8mulb_v32qi_mask ((__v32qi) __C, (__v32qi) __D, (__v32qi)__A, __B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_gf2p8mul_epi8 (__mmask32 __A, __m256i __B, __m256i __C) { return (__m256i) __builtin_ia32_vgf2p8mulb_v32qi_mask ((__v32qi) __B, (__v32qi) __C, (__v32qi) _mm256_setzero_si256 (), __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_gf2p8affineinv_epi64_epi8 (__m256i __A, __mmask32 __B, __m256i __C, __m256i __D, const int __E) { return (__m256i) __builtin_ia32_vgf2p8affineinvqb_v32qi_mask ((__v32qi) __C, (__v32qi) __D, __E, (__v32qi)__A, __B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_gf2p8affineinv_epi64_epi8 (__mmask32 __A, __m256i __B, __m256i __C, const int __D) { return (__m256i) __builtin_ia32_vgf2p8affineinvqb_v32qi_mask ((__v32qi) __B, (__v32qi) __C, __D, (__v32qi) _mm256_setzero_si256 (), __A); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_gf2p8affine_epi64_epi8 (__m256i __A, __mmask32 __B, __m256i __C, __m256i __D, const int __E) { return (__m256i) __builtin_ia32_vgf2p8affineqb_v32qi_mask ((__v32qi) __C, (__v32qi) __D, __E, (__v32qi)__A, __B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_gf2p8affine_epi64_epi8 (__mmask32 __A, __m256i __B, __m256i __C, const int __D) { return (__m256i) __builtin_ia32_vgf2p8affineqb_v32qi_mask ((__v32qi) __B, (__v32qi) __C, __D, (__v32qi)_mm256_setzero_si256 (), __A); } # 297 "/usr/lib/gcc/x86_64-redhat-linux/10/include/gfniintrin.h" 3 4 #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("gfni,avx512f,avx512bw") extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_gf2p8mul_epi8 (__m512i __A, __mmask64 __B, __m512i __C, __m512i __D) { return (__m512i) __builtin_ia32_vgf2p8mulb_v64qi_mask ((__v64qi) __C, (__v64qi) __D, (__v64qi)__A, __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_gf2p8mul_epi8 (__mmask64 __A, __m512i __B, __m512i __C) { return (__m512i) __builtin_ia32_vgf2p8mulb_v64qi_mask ((__v64qi) __B, (__v64qi) __C, (__v64qi) _mm512_setzero_si512 (), __A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_gf2p8mul_epi8 (__m512i __A, __m512i __B) { return (__m512i) __builtin_ia32_vgf2p8mulb_v64qi ((__v64qi) __A, (__v64qi) __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_gf2p8affineinv_epi64_epi8 (__m512i __A, __mmask64 __B, __m512i __C, __m512i __D, const int __E) { return (__m512i) __builtin_ia32_vgf2p8affineinvqb_v64qi_mask ((__v64qi) __C, (__v64qi) __D, __E, (__v64qi)__A, __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_gf2p8affineinv_epi64_epi8 (__mmask64 __A, __m512i __B, __m512i __C, const int __D) { return (__m512i) __builtin_ia32_vgf2p8affineinvqb_v64qi_mask ((__v64qi) __B, (__v64qi) __C, __D, (__v64qi) _mm512_setzero_si512 (), __A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_gf2p8affineinv_epi64_epi8 (__m512i __A, __m512i __B, const int __C) { return (__m512i) __builtin_ia32_vgf2p8affineinvqb_v64qi ((__v64qi) __A, (__v64qi) __B, __C); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_gf2p8affine_epi64_epi8 (__m512i __A, __mmask64 __B, __m512i __C, __m512i __D, const int __E) { return (__m512i) __builtin_ia32_vgf2p8affineqb_v64qi_mask ((__v64qi) __C, (__v64qi) __D, __E, (__v64qi)__A, __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_gf2p8affine_epi64_epi8 (__mmask64 __A, __m512i __B, __m512i __C, const int __D) { return (__m512i) __builtin_ia32_vgf2p8affineqb_v64qi_mask ((__v64qi) __B, (__v64qi) __C, __D, (__v64qi) _mm512_setzero_si512 (), __A); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_gf2p8affine_epi64_epi8 (__m512i __A, __m512i __B, const int __C) { return (__m512i) __builtin_ia32_vgf2p8affineqb_v64qi ((__v64qi) __A, (__v64qi) __B, __C); } # 411 "/usr/lib/gcc/x86_64-redhat-linux/10/include/gfniintrin.h" 3 4 #pragma GCC pop_options # 122 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/vaesintrin.h" 1 3 4 # 28 "/usr/lib/gcc/x86_64-redhat-linux/10/include/vaesintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("vaes,avx") extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_aesdec_epi128 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_vaesdec_v32qi ((__v32qi) __A, (__v32qi) __B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_aesdeclast_epi128 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_vaesdeclast_v32qi ((__v32qi) __A, (__v32qi) __B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_aesenc_epi128 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_vaesenc_v32qi ((__v32qi) __A, (__v32qi) __B); } extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_aesenclast_epi128 (__m256i __A, __m256i __B) { return (__m256i)__builtin_ia32_vaesenclast_v32qi ((__v32qi) __A, (__v32qi) __B); } #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("vaes,avx512f") extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_aesdec_epi128 (__m512i __A, __m512i __B) { return (__m512i)__builtin_ia32_vaesdec_v64qi ((__v64qi) __A, (__v64qi) __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_aesdeclast_epi128 (__m512i __A, __m512i __B) { return (__m512i)__builtin_ia32_vaesdeclast_v64qi ((__v64qi) __A, (__v64qi) __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_aesenc_epi128 (__m512i __A, __m512i __B) { return (__m512i)__builtin_ia32_vaesenc_v64qi ((__v64qi) __A, (__v64qi) __B); } extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_aesenclast_epi128 (__m512i __A, __m512i __B) { return (__m512i)__builtin_ia32_vaesenclast_v64qi ((__v64qi) __A, (__v64qi) __B); } #pragma GCC pop_options # 124 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/vpclmulqdqintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/vpclmulqdqintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("vpclmulqdq,avx512f") extern __inline __m512i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_clmulepi64_epi128 (__m512i __A, __m512i __B, const int __C) { return (__m512i) __builtin_ia32_vpclmulqdq_v8di ((__v8di)__A, (__v8di) __B, __C); } # 53 "/usr/lib/gcc/x86_64-redhat-linux/10/include/vpclmulqdqintrin.h" 3 4 #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("vpclmulqdq,avx") extern __inline __m256i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_clmulepi64_epi128 (__m256i __A, __m256i __B, const int __C) { return (__m256i) __builtin_ia32_vpclmulqdq_v4di ((__v4di)__A, (__v4di) __B, __C); } # 78 "/usr/lib/gcc/x86_64-redhat-linux/10/include/vpclmulqdqintrin.h" 3 4 #pragma GCC pop_options # 126 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/movdirintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/movdirintrin.h" 3 4 #pragma GCC push_options #pragma GCC target ("movdiri") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _directstoreu_u32 (void * __P, unsigned int __A) { __builtin_ia32_directstoreu_u32 ((unsigned int *)__P, __A); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _directstoreu_u64 (void * __P, unsigned long long __A) { __builtin_ia32_directstoreu_u64 ((unsigned long long *)__P, __A); } #pragma GCC pop_options #pragma GCC push_options #pragma GCC target ("movdir64b") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _movdir64b (void * __P, const void * __Q) { __builtin_ia32_movdir64b (__P, __Q); } #pragma GCC pop_options # 128 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/sgxintrin.h" 1 3 4 # 28 "/usr/lib/gcc/x86_64-redhat-linux/10/include/sgxintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("sgx") # 110 "/usr/lib/gcc/x86_64-redhat-linux/10/include/sgxintrin.h" 3 4 extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _encls_u32 (const unsigned int __L, size_t __D[]) { enum __encls_type { __SGX_ECREATE = 0x00, __SGX_EADD = 0x01, __SGX_EINIT = 0x02, __SGX_EREMOVE = 0x03, __SGX_EDBGRD = 0x04, __SGX_EDBGWR = 0x05, __SGX_EEXTEND = 0x06, __SGX_ELDB = 0x07, __SGX_ELDU = 0x08, __SGX_EBLOCK = 0x09, __SGX_EPA = 0x0A, __SGX_EWB = 0x0B, __SGX_ETRACK = 0x0C, __SGX_EAUG = 0x0D, __SGX_EMODPR = 0x0E, __SGX_EMODT = 0x0F, __SGX_ERDINFO = 0x10, __SGX_ETRACKC = 0x11, __SGX_ELDBC = 0x12, __SGX_ELDUC = 0x13 }; enum __encls_type __T = (enum __encls_type)__L; unsigned int __R = 0; if (!__builtin_constant_p (__T)) __asm__ __volatile__("encls\n\t" : "=a" (__R), "=b" (__D[0]), "=c" (__D[1]), "=d" (__D[2]) : "a" (__L), "b" (__D[0]), "c" (__D[1]), "d" (__D[2]) : "cc"); else switch (__T) { case __SGX_ECREATE: case __SGX_EADD: case __SGX_EDBGWR: case __SGX_EEXTEND: case __SGX_EPA: case __SGX_EMODPR: case __SGX_EMODT: case __SGX_EAUG: case __SGX_ERDINFO: __asm__ __volatile__ ("encls\n\t" : "=a" (__R) : "a" (__L), "b" (__D[0]), "c" (__D[1]) : "cc"); break; case __SGX_EINIT: case __SGX_ELDB: case __SGX_ELDU: case __SGX_EWB: case __SGX_ELDBC: case __SGX_ELDUC: __asm__ __volatile__("encls\n\t" : "=a" (__R) : "a" (__L), "b" (__D[0]), "c" (__D[1]), "d" (__D[2]) : "cc"); break; case __SGX_EREMOVE: case __SGX_EBLOCK: case __SGX_ETRACK: case __SGX_ETRACKC: __asm__ __volatile__("encls\n\t" : "=a" (__R) : "a" (__L), "c" (__D[1]) : "cc"); break; case __SGX_EDBGRD: __asm__ __volatile__("encls\n\t" : "=a" (__R), "=b" (__D[0]) : "a" (__L), "c" (__D[1])); break; default: __asm__ __volatile__("encls\n\t" : "=a" (__R), "=b" (__D[0]), "=c" (__D[1]), "=d" (__D[2]) : "a" (__L), "b" (__D[0]), "c" (__D[1]), "d" (__D[2]) : "cc"); } return __R; } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _enclu_u32 (const unsigned int __L, size_t __D[]) { enum __enclu_type { __SGX_EREPORT = 0x00, __SGX_EGETKEY = 0x01, __SGX_EENTER = 0x02, __SGX_ERESUME = 0x03, __SGX_EEXIT = 0x04, __SGX_EACCEPT = 0x05, __SGX_EMODPE = 0x06, __SGX_EACCEPTCOPY = 0x07 }; enum __enclu_type __T = (enum __enclu_type) __L; unsigned int __R = 0; if (!__builtin_constant_p (__T)) __asm__ __volatile__("enclu\n\t" : "=a" (__R), "=b" (__D[0]), "=c" (__D[1]), "=d" (__D[2]) : "a" (__L), "b" (__D[0]), "c" (__D[1]), "d" (__D[2]) : "cc"); else switch (__T) { case __SGX_EREPORT: case __SGX_EACCEPTCOPY: __asm__ __volatile__("enclu\n\t" : "=a" (__R) : "a" (__L), "b" (__D[0]), "c" (__D[1]), "d" (__D[2]) : "cc"); break; case __SGX_EGETKEY: case __SGX_ERESUME: case __SGX_EACCEPT: case __SGX_EMODPE: __asm__ __volatile__("enclu\n\t" : "=a" (__R) : "a" (__L), "b" (__D[0]), "c" (__D[1]) : "cc"); break; case __SGX_EENTER: __asm__ __volatile__("enclu\n\t" : "=a" (__R), "=c" (__D[1]) : "a" (__L), "b" (__D[0]), "c" (__D[1]) : "cc"); break; case __SGX_EEXIT: __asm__ __volatile__("enclu\n\t" : "=a" (__R), "=c" (__D[1]) : "a" (__L), "b" (__D[0]) : "cc"); break; default: __asm__ __volatile__("enclu\n\t" : "=a" (__R), "=b" (__D[0]), "=c" (__D[1]), "=d" (__D[2]) : "a" (__L), "b" (__D[0]), "c" (__D[1]), "d" (__D[2]) : "cc"); } return __R; } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _enclv_u32 (const unsigned int __L, size_t __D[]) { enum __enclv_type { __SGX_EDECVIRTCHILD = 0x00, __SGX_EINCVIRTCHILD = 0x01, __SGX_ESETCONTEXT = 0x02 }; unsigned int __R = 0; if (!__builtin_constant_p (__L)) __asm__ __volatile__("enclv\n\t" : "=a" (__R), "=b" (__D[0]), "=c" (__D[0]), "=d" (__D[2]) : "a" (__L), "b" (__D[0]), "c" (__D[1]), "d" (__D[2]) : "cc"); else switch (__L) { case __SGX_EDECVIRTCHILD: case __SGX_EINCVIRTCHILD: __asm__ __volatile__("enclv\n\t" : "=a" (__R) : "a" (__L), "b" (__D[0]), "c" (__D[1]) : "cc"); break; case __SGX_ESETCONTEXT: __asm__ __volatile__("enclv\n\t" : "=a" (__R) : "a" (__L), "c" (__D[1]), "d" (__D[2]) : "cc"); break; default: __asm__ __volatile__("enclv\n\t" : "=a" (__R), "=b" (__D[0]), "=c" (__D[0]), "=d" (__D[2]) : "a" (__L), "b" (__D[0]), "c" (__D[1]), "d" (__D[2]) : "cc"); } return __R; } #pragma GCC pop_options # 130 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/pconfigintrin.h" 1 3 4 # 9 "/usr/lib/gcc/x86_64-redhat-linux/10/include/pconfigintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("pconfig") # 26 "/usr/lib/gcc/x86_64-redhat-linux/10/include/pconfigintrin.h" 3 4 extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _pconfig_u32 (const unsigned int __L, size_t __D[]) { enum __pconfig_type { __PCONFIG_KEY_PROGRAM = 0x01, }; unsigned int __R = 0; if (!__builtin_constant_p (__L)) __asm__ __volatile__ ("pconfig\n\t" : "=a" (__R), "=b" (__D[0]), "=c" (__D[1]), "=d" (__D[2]) : "a" (__L), "b" (__D[0]), "c" (__D[1]), "d" (__D[2]) : "cc"); else switch (__L) { case __PCONFIG_KEY_PROGRAM: __asm__ __volatile__ ("pconfig\n\t" : "=a" (__R) : "a" (__L), "b" (__D[0]) : "cc"); break; default: __asm__ __volatile__ ("pconfig\n\t" : "=a" (__R), "=b" (__D[0]), "=c" (__D[1]), "=d" (__D[2]) : "a" (__L), "b" (__D[0]), "c" (__D[1]), "d" (__D[2]) : "cc"); } return __R; } #pragma GCC pop_options # 132 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/waitpkgintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/waitpkgintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("waitpkg") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _umonitor (void *__A) { __builtin_ia32_umonitor (__A); } extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _umwait (unsigned int __A, unsigned long long __B) { return __builtin_ia32_umwait (__A, __B); } extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _tpause (unsigned int __A, unsigned long long __B) { return __builtin_ia32_tpause (__A, __B); } #pragma GCC pop_options # 134 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/cldemoteintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/cldemoteintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("cldemote") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _cldemote (void *__A) { __builtin_ia32_cldemote (__A); } #pragma GCC pop_options # 136 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512bf16vlintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512bf16vlintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512bf16,avx512vl") typedef short __v16bh __attribute__ ((__vector_size__ (32))); typedef short __v8bh __attribute__ ((__vector_size__ (16))); typedef short __m256bh __attribute__ ((__vector_size__ (32), __may_alias__)); typedef short __m128bh __attribute__ ((__vector_size__ (16), __may_alias__)); extern __inline __m256bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtne2ps_pbh (__m256 __A, __m256 __B) { return (__m256bh)__builtin_ia32_cvtne2ps2bf16_v16hi(__A, __B); } extern __inline __m256bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtne2ps_pbh (__m256bh __A, __mmask16 __B, __m256 __C, __m256 __D) { return (__m256bh)__builtin_ia32_cvtne2ps2bf16_v16hi_mask(__C, __D, __A, __B); } extern __inline __m256bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtne2ps_pbh (__mmask16 __A, __m256 __B, __m256 __C) { return (__m256bh)__builtin_ia32_cvtne2ps2bf16_v16hi_maskz(__B, __C, __A); } extern __inline __m128bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtne2ps_pbh (__m128 __A, __m128 __B) { return (__m128bh)__builtin_ia32_cvtne2ps2bf16_v8hi(__A, __B); } extern __inline __m128bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtne2ps_pbh (__m128bh __A, __mmask8 __B, __m128 __C, __m128 __D) { return (__m128bh)__builtin_ia32_cvtne2ps2bf16_v8hi_mask(__C, __D, __A, __B); } extern __inline __m128bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtne2ps_pbh (__mmask8 __A, __m128 __B, __m128 __C) { return (__m128bh)__builtin_ia32_cvtne2ps2bf16_v8hi_maskz(__B, __C, __A); } extern __inline __m128bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_cvtneps_pbh (__m256 __A) { return (__m128bh)__builtin_ia32_cvtneps2bf16_v8sf(__A); } extern __inline __m128bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_cvtneps_pbh (__m128bh __A, __mmask8 __B, __m256 __C) { return (__m128bh)__builtin_ia32_cvtneps2bf16_v8sf_mask(__C, __A, __B); } extern __inline __m128bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_cvtneps_pbh (__mmask8 __A, __m256 __B) { return (__m128bh)__builtin_ia32_cvtneps2bf16_v8sf_maskz(__B, __A); } extern __inline __m128bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_cvtneps_pbh (__m128 __A) { return (__m128bh)__builtin_ia32_cvtneps2bf16_v4sf(__A); } extern __inline __m128bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_cvtneps_pbh (__m128bh __A, __mmask8 __B, __m128 __C) { return (__m128bh)__builtin_ia32_cvtneps2bf16_v4sf_mask(__C, __A, __B); } extern __inline __m128bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_cvtneps_pbh (__mmask8 __A, __m128 __B) { return (__m128bh)__builtin_ia32_cvtneps2bf16_v4sf_maskz(__B, __A); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_dpbf16_ps (__m256 __A, __m256bh __B, __m256bh __C) { return (__m256)__builtin_ia32_dpbf16ps_v8sf(__A, __B, __C); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_mask_dpbf16_ps (__m256 __A, __mmask8 __B, __m256bh __C, __m256bh __D) { return (__m256)__builtin_ia32_dpbf16ps_v8sf_mask(__A, __C, __D, __B); } extern __inline __m256 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm256_maskz_dpbf16_ps (__mmask8 __A, __m256 __B, __m256bh __C, __m256bh __D) { return (__m256)__builtin_ia32_dpbf16ps_v8sf_maskz(__B, __C, __D, __A); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_dpbf16_ps (__m128 __A, __m128bh __B, __m128bh __C) { return (__m128)__builtin_ia32_dpbf16ps_v4sf(__A, __B, __C); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mask_dpbf16_ps (__m128 __A, __mmask8 __B, __m128bh __C, __m128bh __D) { return (__m128)__builtin_ia32_dpbf16ps_v4sf_mask(__A, __C, __D, __B); } extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_maskz_dpbf16_ps (__mmask8 __A, __m128 __B, __m128bh __C, __m128bh __D) { return (__m128)__builtin_ia32_dpbf16ps_v4sf_maskz(__B, __C, __D, __A); } #pragma GCC pop_options # 138 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512bf16intrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/avx512bf16intrin.h" 3 4 #pragma GCC push_options #pragma GCC target("avx512bf16") typedef short __v32bh __attribute__ ((__vector_size__ (64))); typedef short __m512bh __attribute__ ((__vector_size__ (64), __may_alias__)); extern __inline __m512bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtne2ps_pbh (__m512 __A, __m512 __B) { return (__m512bh)__builtin_ia32_cvtne2ps2bf16_v32hi(__A, __B); } extern __inline __m512bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtne2ps_pbh (__m512bh __A, __mmask32 __B, __m512 __C, __m512 __D) { return (__m512bh)__builtin_ia32_cvtne2ps2bf16_v32hi_mask(__C, __D, __A, __B); } extern __inline __m512bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtne2ps_pbh (__mmask32 __A, __m512 __B, __m512 __C) { return (__m512bh)__builtin_ia32_cvtne2ps2bf16_v32hi_maskz(__B, __C, __A); } extern __inline __m256bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_cvtneps_pbh (__m512 __A) { return (__m256bh)__builtin_ia32_cvtneps2bf16_v16sf(__A); } extern __inline __m256bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_cvtneps_pbh (__m256bh __A, __mmask16 __B, __m512 __C) { return (__m256bh)__builtin_ia32_cvtneps2bf16_v16sf_mask(__C, __A, __B); } extern __inline __m256bh __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_cvtneps_pbh (__mmask16 __A, __m512 __B) { return (__m256bh)__builtin_ia32_cvtneps2bf16_v16sf_maskz(__B, __A); } extern __inline __m512 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_dpbf16_ps (__m512 __A, __m512bh __B, __m512bh __C) { return (__m512)__builtin_ia32_dpbf16ps_v16sf(__A, __B, __C); } extern __inline __m512 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_mask_dpbf16_ps (__m512 __A, __mmask16 __B, __m512bh __C, __m512bh __D) { return (__m512)__builtin_ia32_dpbf16ps_v16sf_mask(__A, __C, __D, __B); } extern __inline __m512 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm512_maskz_dpbf16_ps (__mmask16 __A, __m512 __B, __m512bh __C, __m512bh __D) { return (__m512)__builtin_ia32_dpbf16ps_v16sf_maskz(__B, __C, __D, __A); } #pragma GCC pop_options # 140 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/enqcmdintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/enqcmdintrin.h" 3 4 #pragma GCC push_options #pragma GCC target ("enqcmd") extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _enqcmd (void * __P, const void * __Q) { return __builtin_ia32_enqcmd (__P, __Q); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _enqcmds (void * __P, const void * __Q) { return __builtin_ia32_enqcmds (__P, __Q); } #pragma GCC pop_options # 142 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/rdseedintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _rdseed64_step (unsigned long long *__p) { return __builtin_ia32_rdseed_di_step (__p); } #pragma GCC pop_options # 144 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/prfchwintrin.h" 1 3 4 # 31 "/usr/lib/gcc/x86_64-redhat-linux/10/include/prfchwintrin.h" 3 4 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_prefetchw (void *__P) { __builtin_prefetch (__P, 1, 3 ); } # 146 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/adxintrin.h" 1 3 4 # 31 "/usr/lib/gcc/x86_64-redhat-linux/10/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, __X, __Y, __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); } extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _subborrow_u64 (unsigned char __CF, unsigned long long __X, unsigned long long __Y, unsigned long long *__P) { return __builtin_ia32_sbb_u64 (__CF, __X, __Y, __P); } extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _addcarry_u64 (unsigned char __CF, unsigned long long __X, unsigned long long __Y, unsigned long long *__P) { return __builtin_ia32_addcarryx_u64 (__CF, __X, __Y, __P); } extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _addcarryx_u64 (unsigned char __CF, unsigned long long __X, unsigned long long __Y, unsigned long long *__P) { return __builtin_ia32_addcarryx_u64 (__CF, __X, __Y, __P); } # 148 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/clwbintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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 # 150 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/clflushoptintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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 # 152 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/wbnoinvdintrin.h" 1 3 4 # 9 "/usr/lib/gcc/x86_64-redhat-linux/10/include/wbnoinvdintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("wbnoinvd") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _wbnoinvd (void) { __builtin_ia32_wbnoinvd (); } #pragma GCC pop_options # 154 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/pkuintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/pkuintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("pku") extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _rdpkru_u32 (void) { return __builtin_ia32_rdpkru (); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _wrpkru (unsigned int __key) { __builtin_ia32_wrpkru (__key); } #pragma GCC pop_options # 156 "/usr/lib/gcc/x86_64-redhat-linux/10/include/immintrin.h" 2 3 4 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _wbinvd (void) { __builtin_ia32_wbinvd (); } #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 #pragma GCC push_options #pragma GCC target("rdpid") extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _rdpid_u32 (void) { return __builtin_ia32_rdpid (); } #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("fsgsbase") extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _readfsbase_u32 (void) { return __builtin_ia32_rdfsbase32 (); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _readfsbase_u64 (void) { return __builtin_ia32_rdfsbase64 (); } extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _readgsbase_u32 (void) { return __builtin_ia32_rdgsbase32 (); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _readgsbase_u64 (void) { return __builtin_ia32_rdgsbase64 (); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _writefsbase_u32 (unsigned int __B) { __builtin_ia32_wrfsbase32 (__B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _writefsbase_u64 (unsigned long long __B) { __builtin_ia32_wrfsbase64 (__B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _writegsbase_u32 (unsigned int __B) { __builtin_ia32_wrgsbase32 (__B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _writegsbase_u64 (unsigned long long __B) { __builtin_ia32_wrgsbase64 (__B); } #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("rdrnd") extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _rdrand64_step (unsigned long long *__P) { return __builtin_ia32_rdrand64_step (__P); } #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("ptwrite") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _ptwrite64 (unsigned long long __B) { __builtin_ia32_ptwrite64 (__B); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _ptwrite32 (unsigned __B) { __builtin_ia32_ptwrite32 (__B); } #pragma GCC pop_options # 33 "/usr/lib/gcc/x86_64-redhat-linux/10/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/mm3dnow.h" 1 3 4 # 31 "/usr/lib/gcc/x86_64-redhat-linux/10/include/mm3dnow.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/prfchwintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/mm3dnow.h" 2 3 4 #pragma GCC push_options #pragma GCC target("sse,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]; } #pragma GCC pop_options #pragma GCC push_options #pragma GCC target("sse,3dnowa") extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pf2iw (__m64 __A) { return (__m64)__builtin_ia32_pf2iw ((__v2sf)__A); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfnacc (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfnacc ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pfpnacc (__m64 __A, __m64 __B) { return (__m64)__builtin_ia32_pfpnacc ((__v2sf)__A, (__v2sf)__B); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pi2fw (__m64 __A) { return (__m64)__builtin_ia32_pi2fw ((__v2si)__A); } extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _m_pswapd (__m64 __A) { return (__m64)__builtin_ia32_pswapdsf ((__v2sf)__A); } #pragma GCC pop_options # 35 "/usr/lib/gcc/x86_64-redhat-linux/10/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/fma4intrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/include/fma4intrin.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/ammintrin.h" 1 3 4 # 34 "/usr/lib/gcc/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/include/ammintrin.h" 3 4 #pragma GCC pop_options # 33 "/usr/lib/gcc/x86_64-redhat-linux/10/include/fma4intrin.h" 2 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 # 37 "/usr/lib/gcc/x86_64-redhat-linux/10/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xopintrin.h" 1 3 4 # 31 "/usr/lib/gcc/x86_64-redhat-linux/10/include/xopintrin.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/fma4intrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/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/x86_64-redhat-linux/10/include/xopintrin.h" 3 4 #pragma GCC pop_options # 39 "/usr/lib/gcc/x86_64-redhat-linux/10/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/lwpintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __lwpval64 (unsigned long long __data2, unsigned int __data1, unsigned int __flags) { __builtin_ia32_lwpval64 (__data2, __data1, __flags); } # 77 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline unsigned char __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __lwpins64 (unsigned long long __data2, unsigned int __data1, unsigned int __flags) { return __builtin_ia32_lwpins64 (__data2, __data1, __flags); } # 104 "/usr/lib/gcc/x86_64-redhat-linux/10/include/lwpintrin.h" 3 4 #pragma GCC pop_options # 41 "/usr/lib/gcc/x86_64-redhat-linux/10/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/tbmintrin.h" 1 3 4 # 32 "/usr/lib/gcc/x86_64-redhat-linux/10/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); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __bextri_u64 (unsigned long long __X, const unsigned int __I) { return __builtin_ia32_bextri_u64 (__X, __I); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blcfill_u64 (unsigned long long __X) { return __X & (__X + 1); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blci_u64 (unsigned long long __X) { return __X | ~(__X + 1); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blcic_u64 (unsigned long long __X) { return ~__X & (__X + 1); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blcmsk_u64 (unsigned long long __X) { return __X ^ (__X + 1); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blcs_u64 (unsigned long long __X) { return __X | (__X + 1); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blsfill_u64 (unsigned long long __X) { return __X | (__X - 1); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __blsic_u64 (unsigned long long __X) { return ~__X | (__X - 1); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __t1mskc_u64 (unsigned long long __X) { return ~__X | (__X + 1); } extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __tzmsk_u64 (unsigned long long __X) { return ~__X & (__X - 1); } #pragma GCC pop_options # 43 "/usr/lib/gcc/x86_64-redhat-linux/10/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/mwaitxintrin.h" 1 3 4 # 28 "/usr/lib/gcc/x86_64-redhat-linux/10/include/mwaitxintrin.h" 3 4 #pragma GCC push_options #pragma GCC target("mwaitx") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_monitorx (void const * __P, unsigned int __E, unsigned int __H) { __builtin_ia32_monitorx (__P, __E, __H); } extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_mwaitx (unsigned int __E, unsigned int __H, unsigned int __C) { __builtin_ia32_mwaitx (__E, __H, __C); } #pragma GCC pop_options # 47 "/usr/lib/gcc/x86_64-redhat-linux/10/include/x86intrin.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/clzerointrin.h" 1 3 4 # 28 "/usr/lib/gcc/x86_64-redhat-linux/10/include/clzerointrin.h" 3 4 #pragma GCC push_options #pragma GCC target("clzero") extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_clzero (void * __I) { __builtin_ia32_clzero (__I); } #pragma GCC pop_options # 49 "/usr/lib/gcc/x86_64-redhat-linux/10/include/x86intrin.h" 2 3 4 # 94 "../../third_party/angle/src/common/platform.h" 2 # 13 "../../third_party/angle/src/common/angleutils.h" 2 # 1 "/usr/include/c++/10/climits" 1 3 # 39 "/usr/include/c++/10/climits" 3 # 40 "/usr/include/c++/10/climits" 3 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/limits.h" 1 3 4 # 34 "/usr/lib/gcc/x86_64-redhat-linux/10/include/limits.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/syslimits.h" 1 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/limits.h" 1 3 4 # 195 "/usr/lib/gcc/x86_64-redhat-linux/10/include/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 26 "/usr/include/limits.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 27 "/usr/include/limits.h" 2 3 4 # 183 "/usr/include/limits.h" 3 4 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4 # 27 "/usr/include/bits/posix1_lim.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 28 "/usr/include/bits/posix1_lim.h" 2 3 4 # 161 "/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 "/usr/include/linux/limits.h" 1 3 4 # 39 "/usr/include/bits/local_lim.h" 2 3 4 # 162 "/usr/include/bits/posix1_lim.h" 2 3 4 # 184 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4 # 188 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/xopen_lim.h" 1 3 4 # 64 "/usr/include/bits/xopen_lim.h" 3 4 # 1 "/usr/include/bits/uio_lim.h" 1 3 4 # 65 "/usr/include/bits/xopen_lim.h" 2 3 4 # 192 "/usr/include/limits.h" 2 3 4 # 196 "/usr/lib/gcc/x86_64-redhat-linux/10/include/limits.h" 2 3 4 # 8 "/usr/lib/gcc/x86_64-redhat-linux/10/include/syslimits.h" 2 3 4 # 35 "/usr/lib/gcc/x86_64-redhat-linux/10/include/limits.h" 2 3 4 # 43 "/usr/include/c++/10/climits" 2 3 # 15 "../../third_party/angle/src/common/angleutils.h" 2 # 1 "/usr/include/c++/10/cstdarg" 1 3 # 39 "/usr/include/c++/10/cstdarg" 3 # 40 "/usr/include/c++/10/cstdarg" 3 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stdarg.h" 1 3 4 # 44 "/usr/include/c++/10/cstdarg" 2 3 # 53 "/usr/include/c++/10/cstdarg" 3 namespace std { using ::va_list; } # 16 "../../third_party/angle/src/common/angleutils.h" 2 # 1 "/usr/include/c++/10/cstddef" 1 3 # 42 "/usr/include/c++/10/cstddef" 3 # 43 "/usr/include/c++/10/cstddef" 3 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 51 "/usr/include/c++/10/cstddef" 2 3 extern "C++" { namespace std { using ::max_align_t; } # 179 "/usr/include/c++/10/cstddef" 3 } # 17 "../../third_party/angle/src/common/angleutils.h" 2 # 1 "/usr/include/c++/10/sstream" 1 3 # 36 "/usr/include/c++/10/sstream" 3 # 37 "/usr/include/c++/10/sstream" 3 # 1 "/usr/include/c++/10/istream" 1 3 # 36 "/usr/include/c++/10/istream" 3 # 37 "/usr/include/c++/10/istream" 3 # 1 "/usr/include/c++/10/ios" 1 3 # 36 "/usr/include/c++/10/ios" 3 # 37 "/usr/include/c++/10/ios" 3 # 1 "/usr/include/c++/10/bits/ios_base.h" 1 3 # 37 "/usr/include/c++/10/bits/ios_base.h" 3 # 38 "/usr/include/c++/10/bits/ios_base.h" 3 # 1 "/usr/include/c++/10/bits/locale_classes.h" 1 3 # 37 "/usr/include/c++/10/bits/locale_classes.h" 3 # 38 "/usr/include/c++/10/bits/locale_classes.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 62 "/usr/include/c++/10/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++/10/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++/10/bits/locale_classes.h" 3 locale() throw(); # 126 "/usr/include/c++/10/bits/locale_classes.h" 3 locale(const locale& __other) throw(); # 136 "/usr/include/c++/10/bits/locale_classes.h" 3 explicit locale(const char* __s); # 151 "/usr/include/c++/10/bits/locale_classes.h" 3 locale(const locale& __base, const char* __s, category __cat); # 162 "/usr/include/c++/10/bits/locale_classes.h" 3 explicit locale(const std::string& __s) : locale(__s.c_str()) { } # 177 "/usr/include/c++/10/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++/10/bits/locale_classes.h" 3 locale(const locale& __base, const locale& __add, category __cat); # 205 "/usr/include/c++/10/bits/locale_classes.h" 3 template locale(const locale& __other, _Facet* __f); ~locale() throw(); # 219 "/usr/include/c++/10/bits/locale_classes.h" 3 const locale& operator=(const locale& __other) throw(); # 234 "/usr/include/c++/10/bits/locale_classes.h" 3 template locale combine(const locale& __other) const; __attribute ((__abi_tag__ ("cxx11"))) string name() const; # 254 "/usr/include/c++/10/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++/10/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++/10/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++/10/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); static const id* const _S_twinned_facets[]; }; # 371 "/usr/include/c++/10/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++/10/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(); # 438 "/usr/include/c++/10/bits/locale_classes.h" 3 facet(const facet&) = delete; facet& operator=(const facet&) = delete; 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) { } } } const facet* _M_sso_shim(const id*) const; const facet* _M_cow_shim(const id*) const; protected: class __shim; }; # 483 "/usr/include/c++/10/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*); }; # 641 "/usr/include/c++/10/bits/locale_classes.h" 3 template class __cxx11:: 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; # 668 "/usr/include/c++/10/bits/locale_classes.h" 3 explicit collate(size_t __refs = 0) : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) { } # 682 "/usr/include/c++/10/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)) { } # 699 "/usr/include/c++/10/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); } # 718 "/usr/include/c++/10/bits/locale_classes.h" 3 string_type transform(const _CharT* __lo, const _CharT* __hi) const { return this->do_transform(__lo, __hi); } # 732 "/usr/include/c++/10/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); } # 761 "/usr/include/c++/10/bits/locale_classes.h" 3 virtual int do_compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const; # 775 "/usr/include/c++/10/bits/locale_classes.h" 3 virtual string_type do_transform(const _CharT* __lo, const _CharT* __hi) const; # 788 "/usr/include/c++/10/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 __cxx11:: 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++/10/bits/locale_classes.tcc" 1 3 # 37 "/usr/include/c++/10/bits/locale_classes.tcc" 3 # 38 "/usr/include/c++/10/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++/10/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++/10/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&); } # 852 "/usr/include/c++/10/bits/locale_classes.h" 2 3 # 42 "/usr/include/c++/10/bits/ios_base.h" 2 3 # 1 "/usr/include/c++/10/system_error" 1 3 # 32 "/usr/include/c++/10/system_error" 3 # 33 "/usr/include/c++/10/system_error" 3 # 1 "/usr/include/c++/10/x86_64-redhat-linux/bits/error_constants.h" 1 3 # 34 "/usr/include/c++/10/x86_64-redhat-linux/bits/error_constants.h" 3 # 1 "/usr/include/c++/10/cerrno" 1 3 # 39 "/usr/include/c++/10/cerrno" 3 # 40 "/usr/include/c++/10/cerrno" 3 # 35 "/usr/include/c++/10/x86_64-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++/10/system_error" 2 3 # 1 "/usr/include/c++/10/stdexcept" 1 3 # 36 "/usr/include/c++/10/stdexcept" 3 # 37 "/usr/include/c++/10/stdexcept" 3 namespace std __attribute__ ((__visibility__ ("default"))) { struct __cow_string { union { const char* _M_p; char _M_bytes[sizeof(const char*)]; }; __cow_string(); __cow_string(const std::string&); __cow_string(const char*, size_t); __cow_string(const __cow_string&) noexcept; __cow_string& operator=(const __cow_string&) noexcept; ~__cow_string(); __cow_string(__cow_string&&) noexcept; __cow_string& operator=(__cow_string&&) noexcept; }; typedef basic_string __sso_string; # 113 "/usr/include/c++/10/stdexcept" 3 class logic_error : public exception { __cow_string _M_msg; public: explicit logic_error(const string& __arg) ; explicit logic_error(const char*) ; logic_error(logic_error&&) noexcept; logic_error& operator=(logic_error&&) noexcept; logic_error(const logic_error&) noexcept; logic_error& operator=(const logic_error&) noexcept; 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*) ; domain_error(const domain_error&) = default; domain_error& operator=(const domain_error&) = default; domain_error(domain_error&&) = default; domain_error& operator=(domain_error&&) = default; virtual ~domain_error() noexcept; }; class invalid_argument : public logic_error { public: explicit invalid_argument(const string& __arg) ; explicit invalid_argument(const char*) ; invalid_argument(const invalid_argument&) = default; invalid_argument& operator=(const invalid_argument&) = default; invalid_argument(invalid_argument&&) = default; invalid_argument& operator=(invalid_argument&&) = default; virtual ~invalid_argument() noexcept; }; class length_error : public logic_error { public: explicit length_error(const string& __arg) ; explicit length_error(const char*) ; length_error(const length_error&) = default; length_error& operator=(const length_error&) = default; length_error(length_error&&) = default; length_error& operator=(length_error&&) = default; 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*) ; out_of_range(const out_of_range&) = default; out_of_range& operator=(const out_of_range&) = default; out_of_range(out_of_range&&) = default; out_of_range& operator=(out_of_range&&) = default; 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*) ; runtime_error(runtime_error&&) noexcept; runtime_error& operator=(runtime_error&&) noexcept; runtime_error(const runtime_error&) noexcept; runtime_error& operator=(const runtime_error&) noexcept; 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*) ; range_error(const range_error&) = default; range_error& operator=(const range_error&) = default; range_error(range_error&&) = default; range_error& operator=(range_error&&) = default; virtual ~range_error() noexcept; }; class overflow_error : public runtime_error { public: explicit overflow_error(const string& __arg) ; explicit overflow_error(const char*) ; overflow_error(const overflow_error&) = default; overflow_error& operator=(const overflow_error&) = default; overflow_error(overflow_error&&) = default; overflow_error& operator=(overflow_error&&) = default; virtual ~overflow_error() noexcept; }; class underflow_error : public runtime_error { public: explicit underflow_error(const string& __arg) ; explicit underflow_error(const char*) ; underflow_error(const underflow_error&) = default; underflow_error& operator=(const underflow_error&) = default; underflow_error(underflow_error&&) = default; underflow_error& operator=(underflow_error&&) = default; virtual ~underflow_error() noexcept; }; } # 42 "/usr/include/c++/10/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 { }; # 75 "/usr/include/c++/10/system_error" 3 inline namespace _V2 { # 86 "/usr/include/c++/10/system_error" 3 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; private: __attribute ((__abi_tag__ ("cxx11"))) virtual __cow_string _M_message(int) const; public: __attribute ((__abi_tag__ ("cxx11"))) virtual string message(int) const = 0; # 122 "/usr/include/c++/10/system_error" 3 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& generic_category() noexcept; __attribute__ ((__const__)) const error_category& system_category() noexcept; } error_code make_error_code(errc) noexcept; # 171 "/usr/include/c++/10/system_error" 3 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; __attribute ((__abi_tag__ ("cxx11"))) string message() const { return category().message(value()); } explicit operator bool() const noexcept { return _M_value != 0; } private: 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; # 259 "/usr/include/c++/10/system_error" 3 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; } __attribute ((__abi_tag__ ("cxx11"))) string message() const { return category().message(value()); } explicit operator bool() const noexcept { return _M_value != 0; } 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); } # 397 "/usr/include/c++/10/system_error" 3 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) { } system_error (const system_error &) = default; system_error &operator= (const system_error &) = default; 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.value()); return std::_Hash_impl::__hash_combine(&__e.category(), __tmp); } }; # 477 "/usr/include/c++/10/system_error" 3 } # 47 "/usr/include/c++/10/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, _S_ios_fmtflags_max = 0x7fffffff, _S_ios_fmtflags_min = ~0x7fffffff }; 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, _S_ios_openmode_max = 0x7fffffff, _S_ios_openmode_min = ~0x7fffffff }; 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, _S_ios_iostate_max = 0x7fffffff, _S_ios_iostate_min = ~0x7fffffff }; 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()); } # 228 "/usr/include/c++/10/bits/ios_base.h" 3 class ios_base { # 246 "/usr/include/c++/10/bits/ios_base.h" 3 public: # 255 "/usr/include/c++/10/bits/ios_base.h" 3 class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error { public: explicit failure(const string& __str); explicit failure(const string&, const error_code&); explicit failure(const char*, const error_code& = io_errc::stream); virtual ~failure() throw(); virtual const char* what() const throw(); }; # 323 "/usr/include/c++/10/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; # 398 "/usr/include/c++/10/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; # 429 "/usr/include/c++/10/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; # 461 "/usr/include/c++/10/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; # 489 "/usr/include/c++/10/bits/ios_base.h" 3 enum event { erase_event, imbue_event, copyfmt_event }; # 506 "/usr/include/c++/10/bits/ios_base.h" 3 typedef void (*event_callback) (event __e, ios_base& __b, int __i); # 518 "/usr/include/c++/10/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(); Init(const Init&) = default; Init& operator=(const Init&) = default; private: static _Atomic_word _S_refcount; static bool _S_synced_with_stdio; }; fmtflags flags() const { return _M_flags; } # 636 "/usr/include/c++/10/bits/ios_base.h" 3 fmtflags flags(fmtflags __fmtfl) { fmtflags __old = _M_flags; _M_flags = __fmtfl; return __old; } # 652 "/usr/include/c++/10/bits/ios_base.h" 3 fmtflags setf(fmtflags __fmtfl) { fmtflags __old = _M_flags; _M_flags |= __fmtfl; return __old; } # 669 "/usr/include/c++/10/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; } # 695 "/usr/include/c++/10/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; } # 746 "/usr/include/c++/10/bits/ios_base.h" 3 static bool sync_with_stdio(bool __sync = true); # 758 "/usr/include/c++/10/bits/ios_base.h" 3 locale imbue(const locale& __loc) throw(); # 769 "/usr/include/c++/10/bits/ios_base.h" 3 locale getloc() const { return _M_ios_locale; } # 780 "/usr/include/c++/10/bits/ios_base.h" 3 const locale& _M_getloc() const { return _M_ios_locale; } # 799 "/usr/include/c++/10/bits/ios_base.h" 3 static int xalloc() throw(); # 815 "/usr/include/c++/10/bits/ios_base.h" 3 long& iword(int __ix) { _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size) ? _M_word[__ix] : _M_grow_words(__ix, true); return __word._M_iword; } # 836 "/usr/include/c++/10/bits/ios_base.h" 3 void*& pword(int __ix) { _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size) ? _M_word[__ix] : _M_grow_words(__ix, false); return __word._M_pword; } # 853 "/usr/include/c++/10/bits/ios_base.h" 3 virtual ~ios_base(); protected: ios_base() throw (); # 867 "/usr/include/c++/10/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++/10/ios" 2 3 # 1 "/usr/include/c++/10/streambuf" 1 3 # 36 "/usr/include/c++/10/streambuf" 3 # 37 "/usr/include/c++/10/streambuf" 3 # 45 "/usr/include/c++/10/streambuf" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template streamsize __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, basic_streambuf<_CharT, _Traits>*, bool&); # 121 "/usr/include/c++/10/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 typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, void>::__type advance(istreambuf_iterator<_CharT2>&, _Distance); 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() { } # 215 "/usr/include/c++/10/streambuf" 3 locale pubimbue(const locale& __loc) { locale __tmp(this->getloc()); this->imbue(__loc); _M_buf_locale = __loc; return __tmp; } # 232 "/usr/include/c++/10/streambuf" 3 locale getloc() const { return _M_buf_locale; } # 245 "/usr/include/c++/10/streambuf" 3 basic_streambuf* pubsetbuf(char_type* __s, streamsize __n) { return this->setbuf(__s, __n); } # 257 "/usr/include/c++/10/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); } # 269 "/usr/include/c++/10/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(); } # 290 "/usr/include/c++/10/streambuf" 3 streamsize in_avail() { const streamsize __ret = this->egptr() - this->gptr(); return __ret ? __ret : this->showmanyc(); } # 304 "/usr/include/c++/10/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; } # 322 "/usr/include/c++/10/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; } # 344 "/usr/include/c++/10/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; } # 363 "/usr/include/c++/10/streambuf" 3 streamsize sgetn(char_type* __s, streamsize __n) { return this->xsgetn(__s, __n); } # 378 "/usr/include/c++/10/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; } # 403 "/usr/include/c++/10/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; } # 430 "/usr/include/c++/10/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; } # 456 "/usr/include/c++/10/streambuf" 3 streamsize sputn(const char_type* __s, streamsize __n) { return this->xsputn(__s, __n); } protected: # 470 "/usr/include/c++/10/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()) { } # 488 "/usr/include/c++/10/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; } # 504 "/usr/include/c++/10/streambuf" 3 void gbump(int __n) { _M_in_cur += __n; } # 515 "/usr/include/c++/10/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; } # 535 "/usr/include/c++/10/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; } # 551 "/usr/include/c++/10/streambuf" 3 void pbump(int __n) { _M_out_cur += __n; } # 561 "/usr/include/c++/10/streambuf" 3 void setp(char_type* __pbeg, char_type* __pend) { _M_out_beg = _M_out_cur = __pbeg; _M_out_end = __pend; } # 582 "/usr/include/c++/10/streambuf" 3 virtual void imbue(const locale& __loc __attribute__ ((__unused__))) { } # 597 "/usr/include/c++/10/streambuf" 3 virtual basic_streambuf* setbuf(char_type*, streamsize) { return this; } # 608 "/usr/include/c++/10/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)); } # 620 "/usr/include/c++/10/streambuf" 3 virtual pos_type seekpos(pos_type, ios_base::openmode = ios_base::in | ios_base::out) { return pos_type(off_type(-1)); } # 633 "/usr/include/c++/10/streambuf" 3 virtual int sync() { return 0; } # 655 "/usr/include/c++/10/streambuf" 3 virtual streamsize showmanyc() { return 0; } # 671 "/usr/include/c++/10/streambuf" 3 virtual streamsize xsgetn(char_type* __s, streamsize __n); # 693 "/usr/include/c++/10/streambuf" 3 virtual int_type underflow() { return traits_type::eof(); } # 706 "/usr/include/c++/10/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; } # 730 "/usr/include/c++/10/streambuf" 3 virtual int_type pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) { return traits_type::eof(); } # 748 "/usr/include/c++/10/streambuf" 3 virtual streamsize xsputn(const char_type* __s, streamsize __n); # 774 "/usr/include/c++/10/streambuf" 3 virtual int_type overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) { return traits_type::eof(); } public: # 790 "/usr/include/c++/10/streambuf" 3 [[__deprecated__("stossc is deprecated, use sbumpc instead")]] 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++/10/bits/streambuf.tcc" 1 3 # 37 "/usr/include/c++/10/bits/streambuf.tcc" 3 # 38 "/usr/include/c++/10/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&); } # 863 "/usr/include/c++/10/streambuf" 2 3 # 44 "/usr/include/c++/10/ios" 2 3 # 1 "/usr/include/c++/10/bits/basic_ios.h" 1 3 # 33 "/usr/include/c++/10/bits/basic_ios.h" 3 # 34 "/usr/include/c++/10/bits/basic_ios.h" 3 # 1 "/usr/include/c++/10/bits/locale_facets.h" 1 3 # 37 "/usr/include/c++/10/bits/locale_facets.h" 3 # 38 "/usr/include/c++/10/bits/locale_facets.h" 3 # 1 "/usr/include/c++/10/cwctype" 1 3 # 39 "/usr/include/c++/10/cwctype" 3 # 40 "/usr/include/c++/10/cwctype" 3 # 50 "/usr/include/c++/10/cwctype" 3 # 1 "/usr/include/wctype.h" 1 3 4 # 38 "/usr/include/wctype.h" 3 4 # 1 "/usr/include/bits/wctype-wchar.h" 1 3 4 # 38 "/usr/include/bits/wctype-wchar.h" 3 4 typedef unsigned long int wctype_t; # 56 "/usr/include/bits/wctype-wchar.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 (); # 155 "/usr/include/bits/wctype-wchar.h" 3 4 extern wctype_t wctype (const char *__property) throw (); extern int iswctype (wint_t __wc, wctype_t __desc) throw (); extern wint_t towlower (wint_t __wc) throw (); extern wint_t towupper (wint_t __wc) throw (); } # 39 "/usr/include/wctype.h" 2 3 4 extern "C" { typedef const __int32_t *wctrans_t; extern wctrans_t wctrans (const char *__property) throw (); extern wint_t towctrans (wint_t __wc, wctrans_t __desc) throw (); 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 (); } # 51 "/usr/include/c++/10/cwctype" 2 3 # 80 "/usr/include/c++/10/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++/10/bits/locale_facets.h" 2 3 # 1 "/usr/include/c++/10/cctype" 1 3 # 39 "/usr/include/c++/10/cctype" 3 # 40 "/usr/include/c++/10/cctype" 3 # 41 "/usr/include/c++/10/bits/locale_facets.h" 2 3 # 1 "/usr/include/c++/10/x86_64-redhat-linux/bits/ctype_base.h" 1 3 # 36 "/usr/include/c++/10/x86_64-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++/10/bits/locale_facets.h" 2 3 # 1 "/usr/include/c++/10/bits/streambuf_iterator.h" 1 3 # 33 "/usr/include/c++/10/bits/streambuf_iterator.h" 3 # 34 "/usr/include/c++/10/bits/streambuf_iterator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 49 "/usr/include/c++/10/bits/streambuf_iterator.h" 3 template class istreambuf_iterator : public iterator { public: # 66 "/usr/include/c++/10/bits/streambuf_iterator.h" 3 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 __enable_if_t<__is_char<_CharT2>::__value, _CharT2*> __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _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 typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, void>::__type advance(istreambuf_iterator<_CharT2>&, _Distance); private: mutable streambuf_type* _M_sbuf; 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()) { } istreambuf_iterator& operator=(const istreambuf_iterator&) noexcept = default; char_type operator*() const { int_type __c = _M_get(); # 152 "/usr/include/c++/10/bits/streambuf_iterator.h" 3 return traits_type::to_char_type(__c); } istreambuf_iterator& operator++() { ; _M_sbuf->sbumpc(); _M_c = traits_type::eof(); return *this; } istreambuf_iterator operator++(int) { ; istreambuf_iterator __old = *this; __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 { int_type __ret = _M_c; if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc())) _M_sbuf = 0; return __ret; } bool _M_at_eof() const { return _S_is_eof(_M_get()); } static bool _S_is_eof(int_type __c) { const int_type __eof = traits_type::eof(); return traits_type::eq_int_type(__c, __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: # 263 "/usr/include/c++/10/bits/streambuf_iterator.h" 3 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 __enable_if_t<__is_char<_CharT>::__value, _CharT*> __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result) { if (__n == 0) return __result; ; _CharT* __beg = __result; __result += __it._M_sbuf->sgetn(__beg, __n); ; 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; const int_type __eof = traits_type::eof(); 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, __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(); } __first._M_c = __eof; } return __first; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, void>::__type advance(istreambuf_iterator<_CharT>& __i, _Distance __n) { if (__n == 0) return; ; ; 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; const int_type __eof = traits_type::eof(); streambuf_type* __sb = __i._M_sbuf; while (__n > 0) { streamsize __size = __sb->egptr() - __sb->gptr(); if (__size > __n) { __sb->__safe_gbump(__n); break; } __sb->__safe_gbump(__size); __n -= __size; if (traits_type::eq_int_type(__sb->underflow(), __eof)) { ; break; } } __i._M_c = __eof; } } # 49 "/usr/include/c++/10/bits/locale_facets.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 71 "/usr/include/c++/10/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++/10/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++/10/bits/locale_facets.h" 3 bool is(mask __m, char_type __c) const { return this->do_is(__m, __c); } # 185 "/usr/include/c++/10/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++/10/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++/10/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++/10/bits/locale_facets.h" 3 char_type toupper(char_type __c) const { return this->do_toupper(__c); } # 246 "/usr/include/c++/10/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++/10/bits/locale_facets.h" 3 char_type tolower(char_type __c) const { return this->do_tolower(__c); } # 275 "/usr/include/c++/10/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++/10/bits/locale_facets.h" 3 char_type widen(char __c) const { return this->do_widen(__c); } # 311 "/usr/include/c++/10/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++/10/bits/locale_facets.h" 3 char narrow(char_type __c, char __dfault) const { return this->do_narrow(__c, __dfault); } # 352 "/usr/include/c++/10/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++/10/bits/locale_facets.h" 3 virtual bool do_is(mask __m, char_type __c) const = 0; # 396 "/usr/include/c++/10/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++/10/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++/10/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++/10/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type __c) const = 0; # 469 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const = 0; # 485 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type __c) const = 0; # 502 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const = 0; # 521 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual char_type do_widen(char __c) const = 0; # 542 "/usr/include/c++/10/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++/10/bits/locale_facets.h" 3 virtual char do_narrow(char_type __c, char __dfault) const = 0; # 588 "/usr/include/c++/10/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++/10/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++/10/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++/10/bits/locale_facets.h" 3 explicit ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); # 730 "/usr/include/c++/10/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++/10/bits/locale_facets.h" 3 inline bool is(mask __m, char __c) const; # 758 "/usr/include/c++/10/bits/locale_facets.h" 3 inline const char* is(const char* __lo, const char* __hi, mask* __vec) const; # 772 "/usr/include/c++/10/bits/locale_facets.h" 3 inline const char* scan_is(mask __m, const char* __lo, const char* __hi) const; # 786 "/usr/include/c++/10/bits/locale_facets.h" 3 inline const char* scan_not(mask __m, const char* __lo, const char* __hi) const; # 801 "/usr/include/c++/10/bits/locale_facets.h" 3 char_type toupper(char_type __c) const { return this->do_toupper(__c); } # 818 "/usr/include/c++/10/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++/10/bits/locale_facets.h" 3 char_type tolower(char_type __c) const { return this->do_tolower(__c); } # 851 "/usr/include/c++/10/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++/10/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++/10/bits/locale_facets.h" 3 const char* widen(const char* __lo, const char* __hi, char_type* __to) const { if (_M_widen_ok == 1) { if (__builtin_expect(__hi != __lo, true)) __builtin_memcpy(__to, __lo, __hi - __lo); return __hi; } if (!_M_widen_ok) _M_widen_init(); return this->do_widen(__lo, __hi, __to); } # 930 "/usr/include/c++/10/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; } # 963 "/usr/include/c++/10/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)) { if (__builtin_expect(__hi != __lo, 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(); # 1013 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type __c) const; # 1030 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; # 1046 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type __c) const; # 1063 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; # 1083 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual char_type do_widen(char __c) const { return __c; } # 1106 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __to) const { if (__builtin_expect(__hi != __lo, true)) __builtin_memcpy(__to, __lo, __hi - __lo); return __hi; } # 1133 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual char do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const { return __c; } # 1159 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault __attribute__((__unused__)), char* __to) const { if (__builtin_expect(__hi != __lo, true)) __builtin_memcpy(__to, __lo, __hi - __lo); return __hi; } private: void _M_narrow_init() const; void _M_widen_init() const; }; # 1185 "/usr/include/c++/10/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; # 1218 "/usr/include/c++/10/bits/locale_facets.h" 3 explicit ctype(size_t __refs = 0); # 1229 "/usr/include/c++/10/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(); # 1253 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual bool do_is(mask __m, char_type __c) const; # 1272 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; # 1290 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; # 1308 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const; # 1325 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type __c) const; # 1342 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; # 1358 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type __c) const; # 1375 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; # 1395 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual char_type do_widen(char __c) const; # 1417 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __to) const; # 1440 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual char do_narrow(char_type __c, char __dfault) const; # 1466 "/usr/include/c++/10/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++/10/x86_64-redhat-linux/bits/ctype_inline.h" 1 3 # 37 "/usr/include/c++/10/x86_64-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; } } # 1539 "/usr/include/c++/10/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; } } namespace __cxx11 { # 1669 "/usr/include/c++/10/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(); } # 1707 "/usr/include/c++/10/bits/locale_facets.h" 3 explicit numpunct(__cache_type* __cache, size_t __refs = 0) : facet(__refs), _M_data(__cache) { _M_initialize_numpunct(); } # 1721 "/usr/include/c++/10/bits/locale_facets.h" 3 explicit numpunct(__c_locale __cloc, size_t __refs = 0) : facet(__refs), _M_data(0) { _M_initialize_numpunct(__cloc); } # 1735 "/usr/include/c++/10/bits/locale_facets.h" 3 char_type decimal_point() const { return this->do_decimal_point(); } # 1748 "/usr/include/c++/10/bits/locale_facets.h" 3 char_type thousands_sep() const { return this->do_thousands_sep(); } # 1779 "/usr/include/c++/10/bits/locale_facets.h" 3 string grouping() const { return this->do_grouping(); } # 1792 "/usr/include/c++/10/bits/locale_facets.h" 3 string_type truename() const { return this->do_truename(); } # 1805 "/usr/include/c++/10/bits/locale_facets.h" 3 string_type falsename() const { return this->do_falsename(); } protected: virtual ~numpunct(); # 1822 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual char_type do_decimal_point() const { return _M_data->_M_decimal_point; } # 1834 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual char_type do_thousands_sep() const { return _M_data->_M_thousands_sep; } # 1847 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual string do_grouping() const { return _M_data->_M_grouping; } # 1860 "/usr/include/c++/10/bits/locale_facets.h" 3 virtual string_type do_truename() const { return _M_data->_M_truename; } # 1873 "/usr/include/c++/10/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() { } }; } # 1951 "/usr/include/c++/10/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; # 1972 "/usr/include/c++/10/bits/locale_facets.h" 3 explicit num_get(size_t __refs = 0) : facet(__refs) { } # 1998 "/usr/include/c++/10/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); } # 2035 "/usr/include/c++/10/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); } # 2095 "/usr/include/c++/10/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); } # 2138 "/usr/include/c++/10/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() { } __attribute ((__abi_tag__ ("cxx11"))) iter_type _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&, string&) const; template __attribute ((__abi_tag__ ("cxx11"))) 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; } # 2211 "/usr/include/c++/10/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; # 2274 "/usr/include/c++/10/bits/locale_facets.h" 3 }; template locale::id num_get<_CharT, _InIter>::id; # 2292 "/usr/include/c++/10/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; # 2313 "/usr/include/c++/10/bits/locale_facets.h" 3 explicit num_put(size_t __refs = 0) : facet(__refs) { } # 2331 "/usr/include/c++/10/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); } # 2373 "/usr/include/c++/10/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); } # 2436 "/usr/include/c++/10/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); } # 2461 "/usr/include/c++/10/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() { } # 2509 "/usr/include/c++/10/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++/10/bits/locale_facets.tcc" 1 3 # 33 "/usr/include/c++/10/bits/locale_facets.tcc" 3 # 34 "/usr/include/c++/10/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++/10/bits/locale_facets.tcc" 3 __attribute__ ((__pure__)) bool __verify_grouping(const char* __grouping, size_t __grouping_size, const string& __grouping_tmp) throw (); template __attribute ((__abi_tag__ ("cxx11"))) _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 __attribute ((__abi_tag__ ("cxx11"))) _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); typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits; string __found_grouping; if (__lc->_M_use_grouping) __found_grouping.reserve(32); bool __testfail = false; bool __testoverflow = false; const __unsigned_type __max = (__negative && __num_traits::__is_signed) ? -static_cast<__unsigned_type>(__num_traits::__min) : __num_traits::__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 && __num_traits::__is_signed) __v = __num_traits::__min; else __v = __num_traits::__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++/10/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++/10/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++/10/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++/10/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++/10/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 __cxx11:: numpunct; extern template class __cxx11:: 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 __cxx11:: numpunct; extern template class __cxx11:: 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&); } # 2656 "/usr/include/c++/10/bits/locale_facets.h" 2 3 # 38 "/usr/include/c++/10/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++/10/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++/10/bits/basic_ios.h" 3 explicit operator bool() const { return !this->fail(); } bool operator!() const { return this->fail(); } # 136 "/usr/include/c++/10/bits/basic_ios.h" 3 iostate rdstate() const { return _M_streambuf_state; } # 147 "/usr/include/c++/10/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++/10/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++/10/bits/basic_ios.h" 3 iostate exceptions() const { return _M_exception; } # 256 "/usr/include/c++/10/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++/10/bits/basic_ios.h" 3 basic_ostream<_CharT, _Traits>* tie() const { return _M_tie; } # 306 "/usr/include/c++/10/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++/10/bits/basic_ios.h" 3 basic_streambuf<_CharT, _Traits>* rdbuf(basic_streambuf<_CharT, _Traits>* __sb); # 360 "/usr/include/c++/10/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++/10/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++/10/bits/basic_ios.h" 3 locale imbue(const locale& __loc); # 429 "/usr/include/c++/10/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++/10/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++/10/bits/basic_ios.tcc" 1 3 # 33 "/usr/include/c++/10/bits/basic_ios.tcc" 3 # 34 "/usr/include/c++/10/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++/10/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 = std::__addressof(use_facet<__ctype_type>(__loc)); else _M_ctype = 0; if (__builtin_expect(has_facet<__num_put_type>(__loc), true)) _M_num_put = std::__addressof(use_facet<__num_put_type>(__loc)); else _M_num_put = 0; if (__builtin_expect(has_facet<__num_get_type>(__loc), true)) _M_num_get = std::__addressof(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++/10/bits/basic_ios.h" 2 3 # 45 "/usr/include/c++/10/ios" 2 3 # 39 "/usr/include/c++/10/istream" 2 3 # 1 "/usr/include/c++/10/ostream" 1 3 # 36 "/usr/include/c++/10/ostream" 3 # 37 "/usr/include/c++/10/ostream" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 57 "/usr/include/c++/10/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++/10/ostream" 3 explicit basic_ostream(__streambuf_type* __sb) { this->init(__sb); } virtual ~basic_ostream() { } class sentry; friend class sentry; # 107 "/usr/include/c++/10/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++/10/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++/10/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++/10/ostream" 3 __ostream_type& operator<<(const void* __p) { return _M_insert(__p); } # 275 "/usr/include/c++/10/ostream" 3 __ostream_type& operator<<(__streambuf_type* __sb); # 308 "/usr/include/c++/10/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); } # 340 "/usr/include/c++/10/ostream" 3 __ostream_type& write(const char_type* __s, streamsize __n); # 353 "/usr/include/c++/10/ostream" 3 __ostream_type& flush(); # 363 "/usr/include/c++/10/ostream" 3 pos_type tellp(); # 374 "/usr/include/c++/10/ostream" 3 __ostream_type& seekp(pos_type); # 386 "/usr/include/c++/10/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); }; # 431 "/usr/include/c++/10/ostream" 3 template class basic_ostream<_CharT, _Traits>::sentry { bool _M_ok; basic_ostream<_CharT, _Traits>& _M_os; public: # 450 "/usr/include/c++/10/ostream" 3 explicit sentry(basic_ostream<_CharT, _Traits>& __os); #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" ~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); } } #pragma GCC diagnostic pop # 482 "/usr/include/c++/10/ostream" 3 explicit operator bool() const { return _M_ok; } }; # 504 "/usr/include/c++/10/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)); } # 587 "/usr/include/c++/10/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)); } # 679 "/usr/include/c++/10/ostream" 3 template inline basic_ostream<_CharT, _Traits>& endl(basic_ostream<_CharT, _Traits>& __os) { return flush(__os.put(__os.widen('\n'))); } # 691 "/usr/include/c++/10/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(); } template basic_ostream<_Ch, _Up>& __is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*); template struct __is_convertible_to_basic_ostream_impl { using __ostream_type = void; }; template using __do_is_convertible_to_basic_ostream_impl = decltype(__is_convertible_to_basic_ostream_test (declval::type*>())); template struct __is_convertible_to_basic_ostream_impl <_Tp, __void_t<__do_is_convertible_to_basic_ostream_impl<_Tp>>> { using __ostream_type = __do_is_convertible_to_basic_ostream_impl<_Tp>; }; template struct __is_convertible_to_basic_ostream : __is_convertible_to_basic_ostream_impl<_Tp> { public: using type = __not_::__ostream_type>>; constexpr static bool value = type::value; }; template struct __is_insertable : false_type {}; template struct __is_insertable<_Ostream, _Tp, __void_t() << declval())>> : true_type {}; template using __rvalue_ostream_type = typename __is_convertible_to_basic_ostream< _Ostream>::__ostream_type; # 765 "/usr/include/c++/10/ostream" 3 template inline typename enable_if<__and_<__not_>, __is_convertible_to_basic_ostream<_Ostream>, __is_insertable< __rvalue_ostream_type<_Ostream>, const _Tp&>>::value, __rvalue_ostream_type<_Ostream>>::type operator<<(_Ostream&& __os, const _Tp& __x) { __rvalue_ostream_type<_Ostream> __ret_os = __os; __ret_os << __x; return __ret_os; } } # 1 "/usr/include/c++/10/bits/ostream.tcc" 1 3 # 37 "/usr/include/c++/10/bits/ostream.tcc" 3 # 38 "/usr/include/c++/10/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*); } # 785 "/usr/include/c++/10/ostream" 2 3 # 40 "/usr/include/c++/10/istream" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 57 "/usr/include/c++/10/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++/10/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++/10/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++/10/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++/10/istream" 3 __istream_type& operator>>(void*& __p) { return _M_extract(__p); } # 258 "/usr/include/c++/10/istream" 3 __istream_type& operator>>(__streambuf_type* __sb); # 268 "/usr/include/c++/10/istream" 3 streamsize gcount() const { return _M_gcount; } # 301 "/usr/include/c++/10/istream" 3 int_type get(); # 315 "/usr/include/c++/10/istream" 3 __istream_type& get(char_type& __c); # 342 "/usr/include/c++/10/istream" 3 __istream_type& get(char_type* __s, streamsize __n, char_type __delim); # 353 "/usr/include/c++/10/istream" 3 __istream_type& get(char_type* __s, streamsize __n) { return this->get(__s, __n, this->widen('\n')); } # 376 "/usr/include/c++/10/istream" 3 __istream_type& get(__streambuf_type& __sb, char_type __delim); # 386 "/usr/include/c++/10/istream" 3 __istream_type& get(__streambuf_type& __sb) { return this->get(__sb, this->widen('\n')); } # 415 "/usr/include/c++/10/istream" 3 __istream_type& getline(char_type* __s, streamsize __n, char_type __delim); # 426 "/usr/include/c++/10/istream" 3 __istream_type& getline(char_type* __s, streamsize __n) { return this->getline(__s, __n, this->widen('\n')); } # 450 "/usr/include/c++/10/istream" 3 __istream_type& ignore(streamsize __n, int_type __delim); __istream_type& ignore(streamsize __n); __istream_type& ignore(); # 467 "/usr/include/c++/10/istream" 3 int_type peek(); # 485 "/usr/include/c++/10/istream" 3 __istream_type& read(char_type* __s, streamsize __n); # 504 "/usr/include/c++/10/istream" 3 streamsize readsome(char_type* __s, streamsize __n); # 521 "/usr/include/c++/10/istream" 3 __istream_type& putback(char_type __c); # 537 "/usr/include/c++/10/istream" 3 __istream_type& unget(); # 555 "/usr/include/c++/10/istream" 3 int sync(); # 570 "/usr/include/c++/10/istream" 3 pos_type tellg(); # 585 "/usr/include/c++/10/istream" 3 __istream_type& seekg(pos_type); # 601 "/usr/include/c++/10/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++/10/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++/10/istream" 3 explicit sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); # 732 "/usr/include/c++/10/istream" 3 explicit operator bool() const { return _M_ok; } }; # 750 "/usr/include/c++/10/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++/10/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++/10/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++/10/istream" 3 template basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _Traits>& __is); template basic_istream<_Ch, _Up>& __is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*); template struct __is_convertible_to_basic_istream_impl { using __istream_type = void; }; template using __do_is_convertible_to_basic_istream_impl = decltype(__is_convertible_to_basic_istream_test (declval::type*>())); template struct __is_convertible_to_basic_istream_impl <_Tp, __void_t<__do_is_convertible_to_basic_istream_impl<_Tp>>> { using __istream_type = __do_is_convertible_to_basic_istream_impl<_Tp>; }; template struct __is_convertible_to_basic_istream : __is_convertible_to_basic_istream_impl<_Tp> { public: using type = __not_::__istream_type>>; constexpr static bool value = type::value; }; template struct __is_extractable : false_type {}; template struct __is_extractable<_Istream, _Tp, __void_t() >> declval<_Tp>())>> : true_type {}; template using __rvalue_istream_type = typename __is_convertible_to_basic_istream< _Istream>::__istream_type; # 972 "/usr/include/c++/10/istream" 3 template inline typename enable_if<__and_<__not_>, __is_convertible_to_basic_istream<_Istream>, __is_extractable< __rvalue_istream_type<_Istream>, _Tp&&>>::value, __rvalue_istream_type<_Istream>>::type operator>>(_Istream&& __is, _Tp&& __x) { __rvalue_istream_type<_Istream> __ret_is = __is; __ret_is >> std::forward<_Tp>(__x); return __ret_is; } } # 1 "/usr/include/c++/10/bits/istream.tcc" 1 3 # 37 "/usr/include/c++/10/bits/istream.tcc" 3 # 38 "/usr/include/c++/10/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 (true) { 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 (false) { __in._M_setstate(ios_base::badbit); ; } if (false) { __in._M_setstate(ios_base::badbit); } 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(); # 521 "/usr/include/c++/10/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; } # 992 "/usr/include/c++/10/istream" 2 3 # 39 "/usr/include/c++/10/sstream" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace __cxx11 { # 64 "/usr/include/c++/10/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++/10/sstream" 3 basic_stringbuf() : __streambuf_type(), _M_mode(ios_base::in | ios_base::out), _M_string() { } # 110 "/usr/include/c++/10/sstream" 3 explicit basic_stringbuf(ios_base::openmode __mode) : __streambuf_type(), _M_mode(__mode), _M_string() { } # 123 "/usr/include/c++/10/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(), __str.get_allocator()) { _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); } # 177 "/usr/include/c++/10/sstream" 3 __string_type str() const { __string_type __ret(_M_string.get_allocator()); if (this->pptr()) { if (this->pptr() > this->egptr()) __ret.assign(this->pbase(), this->pptr()); else __ret.assign(this->pbase(), this->egptr()); } else __ret = _M_string; return __ret; } # 201 "/usr/include/c++/10/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()); # 254 "/usr/include/c++/10/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: struct __xfer_bufptrs { __xfer_bufptrs(const basic_stringbuf& __from, basic_stringbuf* __to) : _M_to{__to}, _M_goff{-1, -1, -1}, _M_poff{-1, -1, -1} { const _CharT* const __str = __from._M_string.data(); const _CharT* __end = nullptr; if (__from.eback()) { _M_goff[0] = __from.eback() - __str; _M_goff[1] = __from.gptr() - __str; _M_goff[2] = __from.egptr() - __str; __end = __from.egptr(); } if (__from.pbase()) { _M_poff[0] = __from.pbase() - __str; _M_poff[1] = __from.pptr() - __from.pbase(); _M_poff[2] = __from.epptr() - __str; if (__from.pptr() > __end) __end = __from.pptr(); } if (__end) { auto& __mut_from = const_cast(__from); __mut_from._M_string._M_length(__end - __str); } } ~__xfer_bufptrs() { char_type* __str = const_cast(_M_to->_M_string.data()); if (_M_goff[0] != -1) _M_to->setg(__str+_M_goff[0], __str+_M_goff[1], __str+_M_goff[2]); if (_M_poff[0] != -1) _M_to->_M_pbump(__str+_M_poff[0], __str+_M_poff[2], _M_poff[1]); } basic_stringbuf* _M_to; off_type _M_goff[3]; off_type _M_poff[3]; }; # 368 "/usr/include/c++/10/sstream" 3 basic_stringbuf(basic_stringbuf&& __rhs, __xfer_bufptrs&&) : __streambuf_type(static_cast(__rhs)), _M_mode(__rhs._M_mode), _M_string(std::move(__rhs._M_string)) { } }; # 391 "/usr/include/c++/10/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: # 425 "/usr/include/c++/10/sstream" 3 basic_istringstream() : __istream_type(), _M_stringbuf(ios_base::in) { this->init(&_M_stringbuf); } # 441 "/usr/include/c++/10/sstream" 3 explicit basic_istringstream(ios_base::openmode __mode) : __istream_type(), _M_stringbuf(__mode | ios_base::in) { this->init(&_M_stringbuf); } # 459 "/usr/include/c++/10/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); } # 510 "/usr/include/c++/10/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); } }; # 549 "/usr/include/c++/10/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: # 583 "/usr/include/c++/10/sstream" 3 basic_ostringstream() : __ostream_type(), _M_stringbuf(ios_base::out) { this->init(&_M_stringbuf); } # 599 "/usr/include/c++/10/sstream" 3 explicit basic_ostringstream(ios_base::openmode __mode) : __ostream_type(), _M_stringbuf(__mode | ios_base::out) { this->init(&_M_stringbuf); } # 617 "/usr/include/c++/10/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); } # 668 "/usr/include/c++/10/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); } }; # 707 "/usr/include/c++/10/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: # 741 "/usr/include/c++/10/sstream" 3 basic_stringstream() : __iostream_type(), _M_stringbuf(ios_base::out | ios_base::in) { this->init(&_M_stringbuf); } # 755 "/usr/include/c++/10/sstream" 3 explicit basic_stringstream(ios_base::openmode __m) : __iostream_type(), _M_stringbuf(__m) { this->init(&_M_stringbuf); } # 771 "/usr/include/c++/10/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); } # 822 "/usr/include/c++/10/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++/10/bits/sstream.tcc" 1 3 # 37 "/usr/include/c++/10/bits/sstream.tcc" 3 # 38 "/usr/include/c++/10/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(); if ((this->epptr() - this->pbase()) < __capacity) { char_type* __base = const_cast(_M_string.data()); _M_pbump(__base, __base + __capacity, this->pptr() - this->pbase()); if (_M_mode & ios_base::in) { const __size_type __nget = this->gptr() - this->eback(); const __size_type __eget = this->egptr() - this->eback(); this->setg(__base, __base + __nget, __base + __eget + 1); } *this->pptr() = traits_type::to_char_type(__c); this->pbump(1); return __c; } 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) { # 129 "/usr/include/c++/10/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(_M_string.get_allocator()); __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; } # 880 "/usr/include/c++/10/sstream" 2 3 # 19 "../../third_party/angle/src/common/angleutils.h" 2 # 1 "/usr/include/c++/10/vector" 1 3 # 58 "/usr/include/c++/10/vector" 3 # 59 "/usr/include/c++/10/vector" 3 # 1 "/usr/include/c++/10/bits/stl_uninitialized.h" 1 3 # 69 "/usr/include/c++/10/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, (void)++__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); } }; # 123 "/usr/include/c++/10/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; static_assert(is_constructible<_ValueType2, decltype(*__first)>::value, "result type must be constructible from value type of input range"); 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); } }; # 198 "/usr/include/c++/10/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; static_assert(is_constructible<_ValueType, const _Tp&>::value, "result type must be constructible from input type"); 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, (void) ++__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); } }; # 270 "/usr/include/c++/10/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; static_assert(is_constructible<_ValueType, const _Tp&>::value, "result type must be constructible from input type"); const bool __assignable = is_copy_assignable<_ValueType>::value; return __uninitialized_fill_n<__is_trivial(_ValueType) && __assignable>:: __uninit_fill_n(__first, __n, __x); } # 300 "/usr/include/c++/10/bits/stl_uninitialized.h" 3 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, (void)++__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, (void) ++__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); } # 414 "/usr/include/c++/10/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); ; } } # 521 "/usr/include/c++/10/bits/stl_uninitialized.h" 3 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, (void) ++__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, (void) ++__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 struct __uninitialized_default_novalue_1 { template static void __uninit_default_novalue(_ForwardIterator __first, _ForwardIterator __last) { _ForwardIterator __cur = __first; if (true) { for (; __cur != __last; ++__cur) std::_Construct_novalue(std::__addressof(*__cur)); } if (false) { std::_Destroy(__first, __cur); ; } } }; template<> struct __uninitialized_default_novalue_1 { template static void __uninit_default_novalue(_ForwardIterator __first, _ForwardIterator __last) { } }; template struct __uninitialized_default_novalue_n_1 { template static _ForwardIterator __uninit_default_novalue_n(_ForwardIterator __first, _Size __n) { _ForwardIterator __cur = __first; if (true) { for (; __n > 0; --__n, (void) ++__cur) std::_Construct_novalue(std::__addressof(*__cur)); return __cur; } if (false) { std::_Destroy(__first, __cur); ; } } }; template<> struct __uninitialized_default_novalue_n_1 { template static _ForwardIterator __uninit_default_novalue_n(_ForwardIterator __first, _Size __n) { return std::next(__first, __n); } }; template inline void __uninitialized_default_novalue(_ForwardIterator __first, _ForwardIterator __last) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; std::__uninitialized_default_novalue_1< is_trivially_default_constructible<_ValueType>::value>:: __uninit_default_novalue(__first, __last); } template inline _ForwardIterator __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n) { typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType; return __uninitialized_default_novalue_n_1< is_trivially_default_constructible<_ValueType>::value>:: __uninit_default_novalue_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, (void) ++__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); } template pair<_InputIterator, _ForwardIterator> __uninitialized_copy_n_pair(_InputIterator __first, _Size __n, _ForwardIterator __result, input_iterator_tag) { _ForwardIterator __cur = __result; if (true) { for (; __n > 0; --__n, (void) ++__first, ++__cur) std::_Construct(std::__addressof(*__cur), *__first); return {__first, __cur}; } if (false) { std::_Destroy(__result, __cur); ; } } template inline pair<_RandomAccessIterator, _ForwardIterator> __uninitialized_copy_n_pair(_RandomAccessIterator __first, _Size __n, _ForwardIterator __result, random_access_iterator_tag) { auto __second_res = uninitialized_copy(__first, __first + __n, __result); auto __first_res = std::next(__first, __n); return {__first_res, __second_res}; } # 852 "/usr/include/c++/10/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)); } template inline pair<_InputIterator, _ForwardIterator> __uninitialized_copy_n_pair(_InputIterator __first, _Size __n, _ForwardIterator __result) { return std::__uninitialized_copy_n_pair(__first, __n, __result, std::__iterator_category(__first)); } # 966 "/usr/include/c++/10/bits/stl_uninitialized.h" 3 template inline void __relocate_object_a(_Tp* __restrict __dest, _Up* __restrict __orig, _Allocator& __alloc) noexcept(noexcept(std::allocator_traits<_Allocator>::construct(__alloc, __dest, std::move(*__orig))) && noexcept(std::allocator_traits<_Allocator>::destroy( __alloc, std::__addressof(*__orig)))) { typedef std::allocator_traits<_Allocator> __traits; __traits::construct(__alloc, __dest, std::move(*__orig)); __traits::destroy(__alloc, std::__addressof(*__orig)); } template struct __is_bitwise_relocatable : is_trivial<_Tp> { }; template inline __enable_if_t::value, _Tp*> __relocate_a_1(_Tp* __first, _Tp* __last, _Tp* __result, allocator<_Up>&) noexcept { ptrdiff_t __count = __last - __first; if (__count > 0) __builtin_memmove(__result, __first, __count * sizeof(_Tp)); return __result + __count; } template inline _ForwardIterator __relocate_a_1(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _Allocator& __alloc) noexcept(noexcept(std::__relocate_object_a(std::addressof(*__result), std::addressof(*__first), __alloc))) { typedef typename iterator_traits<_InputIterator>::value_type _ValueType; typedef typename iterator_traits<_ForwardIterator>::value_type _ValueType2; static_assert(std::is_same<_ValueType, _ValueType2>::value, "relocation is only possible for values of the same type"); _ForwardIterator __cur = __result; for (; __first != __last; ++__first, (void)++__cur) std::__relocate_object_a(std::__addressof(*__cur), std::__addressof(*__first), __alloc); return __cur; } template inline _ForwardIterator __relocate_a(_InputIterator __first, _InputIterator __last, _ForwardIterator __result, _Allocator& __alloc) noexcept(noexcept(__relocate_a_1(std::__niter_base(__first), std::__niter_base(__last), std::__niter_base(__result), __alloc))) { return __relocate_a_1(std::__niter_base(__first), std::__niter_base(__last), std::__niter_base(__result), __alloc); } } # 67 "/usr/include/c++/10/vector" 2 3 # 1 "/usr/include/c++/10/bits/stl_vector.h" 1 3 # 74 "/usr/include/c++/10/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_data { pointer _M_start; pointer _M_finish; pointer _M_end_of_storage; _Vector_impl_data() noexcept : _M_start(), _M_finish(), _M_end_of_storage() { } _Vector_impl_data(_Vector_impl_data&& __x) noexcept : _M_start(__x._M_start), _M_finish(__x._M_finish), _M_end_of_storage(__x._M_end_of_storage) { __x._M_start = __x._M_finish = __x._M_end_of_storage = pointer(); } void _M_copy_data(_Vector_impl_data const& __x) noexcept { _M_start = __x._M_start; _M_finish = __x._M_finish; _M_end_of_storage = __x._M_end_of_storage; } void _M_swap_data(_Vector_impl_data& __x) noexcept { _Vector_impl_data __tmp; __tmp._M_copy_data(*this); _M_copy_data(__x); __x._M_copy_data(__tmp); } }; struct _Vector_impl : public _Tp_alloc_type, public _Vector_impl_data { _Vector_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value) : _Tp_alloc_type() { } _Vector_impl(_Tp_alloc_type const& __a) noexcept : _Tp_alloc_type(__a) { } _Vector_impl(_Vector_impl&& __x) noexcept : _Tp_alloc_type(std::move(__x)), _Vector_impl_data(std::move(__x)) { } _Vector_impl(_Tp_alloc_type&& __a) noexcept : _Tp_alloc_type(std::move(__a)) { } _Vector_impl(_Tp_alloc_type&& __a, _Vector_impl&& __rv) noexcept : _Tp_alloc_type(std::move(__a)), _Vector_impl_data(std::move(__rv)) { } # 267 "/usr/include/c++/10/bits/stl_vector.h" 3 }; public: typedef _Alloc allocator_type; _Tp_alloc_type& _M_get_Tp_allocator() noexcept { return this->_M_impl; } const _Tp_alloc_type& _M_get_Tp_allocator() const noexcept { return this->_M_impl; } allocator_type get_allocator() const noexcept { return allocator_type(_M_get_Tp_allocator()); } _Vector_base() = default; _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(_Vector_base&&) = default; _Vector_base(_Tp_alloc_type&& __a) noexcept : _M_impl(std::move(__a)) { } _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(const allocator_type& __a, _Vector_base&& __x) : _M_impl(_Tp_alloc_type(__a), std::move(__x._M_impl)) { } ~_Vector_base() noexcept { _M_deallocate(_M_impl._M_start, _M_impl._M_end_of_storage - _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); } protected: 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; } }; # 385 "/usr/include/c++/10/bits/stl_vector.h" 3 template > class vector : protected _Vector_base<_Tp, _Alloc> { # 398 "/usr/include/c++/10/bits/stl_vector.h" 3 static_assert(is_same::type, _Tp>::value, "std::vector must have a non-const, non-volatile 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; private: static constexpr bool _S_nothrow_relocate(true_type) { return noexcept(std::__relocate_a(std::declval(), std::declval(), std::declval(), std::declval<_Tp_alloc_type&>())); } static constexpr bool _S_nothrow_relocate(false_type) { return false; } static constexpr bool _S_use_relocate() { return _S_nothrow_relocate(__is_move_insertable<_Tp_alloc_type>{}); } static pointer _S_do_relocate(pointer __first, pointer __last, pointer __result, _Tp_alloc_type& __alloc, true_type) noexcept { return std::__relocate_a(__first, __last, __result, __alloc); } static pointer _S_do_relocate(pointer, pointer, pointer __result, _Tp_alloc_type&, false_type) noexcept { return __result; } static pointer _S_relocate(pointer __first, pointer __last, pointer __result, _Tp_alloc_type& __alloc) noexcept { using __do_it = __bool_constant<_S_use_relocate()>; return _S_do_relocate(__first, __last, __result, __alloc, __do_it{}); } protected: using _Base::_M_allocate; using _Base::_M_deallocate; using _Base::_M_impl; using _Base::_M_get_Tp_allocator; public: vector() = default; # 493 "/usr/include/c++/10/bits/stl_vector.h" 3 explicit vector(const allocator_type& __a) noexcept : _Base(__a) { } # 506 "/usr/include/c++/10/bits/stl_vector.h" 3 explicit vector(size_type __n, const allocator_type& __a = allocator_type()) : _Base(_S_check_init_len(__n, __a), __a) { _M_default_initialize(__n); } # 519 "/usr/include/c++/10/bits/stl_vector.h" 3 vector(size_type __n, const value_type& __value, const allocator_type& __a = allocator_type()) : _Base(_S_check_init_len(__n, __a), __a) { _M_fill_initialize(__n, __value); } # 550 "/usr/include/c++/10/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()); } # 569 "/usr/include/c++/10/bits/stl_vector.h" 3 vector(vector&&) noexcept = default; 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()); } private: vector(vector&& __rv, const allocator_type& __m, true_type) noexcept : _Base(__m, std::move(__rv)) { } vector(vector&& __rv, const allocator_type& __m, false_type) : _Base(__m) { if (__rv.get_allocator() == __m) this->_M_impl._M_swap_data(__rv._M_impl); else if (!__rv.empty()) { this->_M_create_storage(__rv.size()); this->_M_impl._M_finish = std::__uninitialized_move_a(__rv.begin(), __rv.end(), this->_M_impl._M_start, _M_get_Tp_allocator()); __rv.clear(); } } public: vector(vector&& __rv, const allocator_type& __m) noexcept( noexcept( vector(std::declval(), std::declval(), std::declval())) ) : vector(std::move(__rv), __m, typename _Alloc_traits::is_always_equal{}) { } # 622 "/usr/include/c++/10/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()); } # 648 "/usr/include/c++/10/bits/stl_vector.h" 3 template> vector(_InputIterator __first, _InputIterator __last, const allocator_type& __a = allocator_type()) : _Base(__a) { _M_range_initialize(__first, __last, std::__iterator_category(__first)); } # 675 "/usr/include/c++/10/bits/stl_vector.h" 3 ~vector() noexcept { std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, _M_get_Tp_allocator()); ; } # 691 "/usr/include/c++/10/bits/stl_vector.h" 3 vector& operator=(const vector& __x); # 705 "/usr/include/c++/10/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), __bool_constant<__move_storage>()); return *this; } # 726 "/usr/include/c++/10/bits/stl_vector.h" 3 vector& operator=(initializer_list __l) { this->_M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); return *this; } # 745 "/usr/include/c++/10/bits/stl_vector.h" 3 void assign(size_type __n, const value_type& __val) { _M_fill_assign(__n, __val); } # 762 "/usr/include/c++/10/bits/stl_vector.h" 3 template> void assign(_InputIterator __first, _InputIterator __last) { _M_assign_dispatch(__first, __last, __false_type()); } # 790 "/usr/include/c++/10/bits/stl_vector.h" 3 void assign(initializer_list __l) { this->_M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); } 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 _S_max_size(_M_get_Tp_allocator()); } # 933 "/usr/include/c++/10/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); } # 953 "/usr/include/c++/10/bits/stl_vector.h" 3 void resize(size_type __new_size, const value_type& __x) { if (__new_size > size()) _M_fill_insert(end(), __new_size - size(), __x); else if (__new_size < size()) _M_erase_at_end(this->_M_impl._M_start + __new_size); } # 985 "/usr/include/c++/10/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(); } # 1024 "/usr/include/c++/10/bits/stl_vector.h" 3 void reserve(size_type __n); # 1039 "/usr/include/c++/10/bits/stl_vector.h" 3 reference operator[](size_type __n) noexcept { ; return *(this->_M_impl._M_start + __n); } # 1057 "/usr/include/c++/10/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: # 1088 "/usr/include/c++/10/bits/stl_vector.h" 3 reference at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } # 1106 "/usr/include/c++/10/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); } # 1164 "/usr/include/c++/10/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); } # 1183 "/usr/include/c++/10/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_realloc_insert(end(), __x); } void push_back(value_type&& __x) { emplace_back(std::move(__x)); } template void emplace_back(_Args&&... __args); # 1221 "/usr/include/c++/10/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); ; } # 1243 "/usr/include/c++/10/bits/stl_vector.h" 3 template iterator emplace(const_iterator __position, _Args&&... __args) { return _M_emplace_aux(__position, std::forward<_Args>(__args)...); } # 1259 "/usr/include/c++/10/bits/stl_vector.h" 3 iterator insert(const_iterator __position, const value_type& __x); # 1289 "/usr/include/c++/10/bits/stl_vector.h" 3 iterator insert(const_iterator __position, value_type&& __x) { return _M_insert_rval(__position, std::move(__x)); } # 1306 "/usr/include/c++/10/bits/stl_vector.h" 3 iterator insert(const_iterator __position, initializer_list __l) { auto __offset = __position - cbegin(); _M_range_insert(begin() + __offset, __l.begin(), __l.end(), std::random_access_iterator_tag()); return begin() + __offset; } # 1331 "/usr/include/c++/10/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; } # 1373 "/usr/include/c++/10/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; } # 1425 "/usr/include/c++/10/bits/stl_vector.h" 3 iterator erase(const_iterator __position) { return _M_erase(begin() + (__position - cbegin())); } # 1452 "/usr/include/c++/10/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)); } # 1476 "/usr/include/c++/10/bits/stl_vector.h" 3 void swap(vector& __x) noexcept { ; 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); ; } } # 1553 "/usr/include/c++/10/bits/stl_vector.h" 3 template void _M_range_initialize(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { if (true) { for (; __first != __last; ++__first) emplace_back(*__first); } if (false) { clear(); ; } } 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(_S_check_init_len(__n, _M_get_Tp_allocator())); 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()); } # 1615 "/usr/include/c++/10/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) { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } 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); 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) { _M_range_insert(__pos, __first, __last, std::__iterator_category(__first)); } 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(); # 1702 "/usr/include/c++/10/bits/stl_vector.h" 3 struct _Temporary_value { template explicit _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec) { _Alloc_traits::construct(_M_this->_M_impl, _M_ptr(), std::forward<_Args>(__args)...); } ~_Temporary_value() { _Alloc_traits::destroy(_M_this->_M_impl, _M_ptr()); } value_type& _M_val() { return *_M_ptr(); } private: _Tp* _M_ptr() { return reinterpret_cast<_Tp*>(&__buf); } vector* _M_this; typename aligned_storage::type __buf; }; template void _M_insert_aux(iterator __position, _Arg&& __arg); template void _M_realloc_insert(iterator __position, _Args&&... __args); iterator _M_insert_rval(const_iterator __position, value_type&& __v); template iterator _M_emplace_aux(const_iterator __position, _Args&&... __args); iterator _M_emplace_aux(const_iterator __position, value_type&& __v) { return _M_insert_rval(__position, std::move(__v)); } 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; } static size_type _S_check_init_len(size_type __n, const allocator_type& __a) { if (__n > _S_max_size(_Tp_alloc_type(__a))) __throw_length_error( ("cannot create std::vector larger than max_size()")); return __n; } static size_type _S_max_size(const _Tp_alloc_type& __a) noexcept { const size_t __diffmax = __gnu_cxx::__numeric_traits::__max / sizeof(_Tp); const size_t __allocmax = _Alloc_traits::max_size(__a); return (std::min)(__diffmax, __allocmax); } void _M_erase_at_end(pointer __pos) noexcept { if (size_type __n = this->_M_impl._M_finish - __pos) { 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, true_type) noexcept { vector __tmp(get_allocator()); this->_M_impl._M_swap_data(__x._M_impl); __tmp._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, false_type) { if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator()) _M_move_assign(std::move(__x), true_type()); else { this->_M_assign_aux(std::make_move_iterator(__x.begin()), std::make_move_iterator(__x.end()), std::random_access_iterator_tag()); __x.clear(); } } template _Up* _M_data_ptr(_Up* __ptr) const noexcept { return __ptr; } template typename std::pointer_traits<_Ptr>::element_type* _M_data_ptr(_Ptr __ptr) const { return empty() ? nullptr : std::__to_address(__ptr); } # 1865 "/usr/include/c++/10/bits/stl_vector.h" 3 }; # 1887 "/usr/include/c++/10/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())); } # 1904 "/usr/include/c++/10/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) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } # 1957 "/usr/include/c++/10/bits/stl_vector.h" 3 } # 68 "/usr/include/c++/10/vector" 2 3 # 1 "/usr/include/c++/10/bits/stl_bvector.h" 1 3 # 64 "/usr/include/c++/10/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) { } _Bit_reference(const _Bit_reference&) = default; 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); } friend bool operator==(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { return __x._M_p == __y._M_p && __x._M_offset == __y._M_offset; } friend bool operator<(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { return __x._M_p < __y._M_p || (__x._M_p == __y._M_p && __x._M_offset < __y._M_offset); } friend bool operator!=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { return !(__x == __y); } friend bool operator>(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { return __y < __x; } friend bool operator<=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { return !(__y < __x); } friend bool operator>=(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) { return !(__x < __y); } friend 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; } reference operator[](difference_type __i) const { return *(*this + __i); } friend iterator operator+(const iterator& __x, difference_type __n) { iterator __tmp = __x; __tmp += __n; return __tmp; } friend iterator operator+(difference_type __n, const iterator& __x) { return __x + __n; } friend iterator operator-(const iterator& __x, difference_type __n) { iterator __tmp = __x; __tmp -= __n; return __tmp; } }; 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_reference operator[](difference_type __i) const { return *(*this + __i); } friend const_iterator operator+(const const_iterator& __x, difference_type __n) { const_iterator __tmp = __x; __tmp += __n; return __tmp; } friend const_iterator operator-(const const_iterator& __x, difference_type __n) { const_iterator __tmp = __x; __tmp -= __n; return __tmp; } friend const_iterator operator+(difference_type __n, const const_iterator& __x) { return __x + __n; } }; inline void __fill_bvector(_Bit_type * __v, unsigned int __first, unsigned int __last, bool __x) { const _Bit_type __fmask = ~0ul << __first; const _Bit_type __lmask = ~0ul >> (_S_word_bit - __last); const _Bit_type __mask = __fmask & __lmask; if (__x) *__v |= __mask; else *__v &= ~__mask; } inline void fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x) { if (__first._M_p != __last._M_p) { _Bit_type* __first_p = __first._M_p; if (__first._M_offset != 0) __fill_bvector(__first_p++, __first._M_offset, _S_word_bit, __x); __builtin_memset(__first_p, __x ? ~0 : 0, (__last._M_p - __first_p) * sizeof(_Bit_type)); if (__last._M_offset != 0) __fill_bvector(__last._M_p, 0, __last._M_offset, __x); } else if (__first._M_offset != __last._M_offset) __fill_bvector(__first._M_p, __first._M_offset, __last._M_offset, __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_data { _Bit_iterator _M_start; _Bit_iterator _M_finish; _Bit_pointer _M_end_of_storage; _Bvector_impl_data() noexcept : _M_start(), _M_finish(), _M_end_of_storage() { } _Bvector_impl_data(_Bvector_impl_data&& __x) noexcept : _M_start(__x._M_start), _M_finish(__x._M_finish) , _M_end_of_storage(__x._M_end_of_storage) { __x._M_reset(); } void _M_move_data(_Bvector_impl_data&& __x) noexcept { this->_M_start = __x._M_start; this->_M_finish = __x._M_finish; this->_M_end_of_storage = __x._M_end_of_storage; __x._M_reset(); } void _M_reset() noexcept { _M_start = _M_finish = _Bit_iterator(); _M_end_of_storage = _Bit_pointer(); } }; struct _Bvector_impl : public _Bit_alloc_type, public _Bvector_impl_data { public: _Bvector_impl() noexcept(is_nothrow_default_constructible<_Bit_alloc_type>::value) : _Bit_alloc_type() { } _Bvector_impl(const _Bit_alloc_type& __a) noexcept : _Bit_alloc_type(__a) { } _Bvector_impl(_Bvector_impl&&) = default; _Bit_type* _M_end_addr() const noexcept { if (this->_M_end_of_storage) return std::__addressof(this->_M_end_of_storage[-1]) + 1; return 0; } }; public: typedef _Alloc allocator_type; _Bit_alloc_type& _M_get_Bit_allocator() noexcept { return this->_M_impl; } const _Bit_alloc_type& _M_get_Bit_allocator() const noexcept { return this->_M_impl; } allocator_type get_allocator() const noexcept { return allocator_type(_M_get_Bit_allocator()); } _Bvector_base() = default; _Bvector_base(const allocator_type& __a) : _M_impl(__a) { } _Bvector_base(_Bvector_base&&) = default; ~_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); _M_impl._M_reset(); } } void _M_move_data(_Bvector_base&& __x) noexcept { _M_impl._M_move_data(std::move(__x._M_impl)); } static size_t _S_nword(size_t __n) { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); } }; } namespace std __attribute__ ((__visibility__ ("default"))) { # 603 "/usr/include/c++/10/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; friend struct std::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() = default; 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); _M_initialize_value(__value); } 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&&) = default; vector(vector&& __x, const allocator_type& __a) noexcept(_Bit_alloc_traits::_S_always_equal()) : _Base(__a) { if (__x.get_allocator() == __a) this->_M_move_data(std::move(__x)); 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()); } # 726 "/usr/include/c++/10/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_move_data(std::move(__x)); 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_aux(__first, __last, std::__iterator_category(__first)); } # 817 "/usr/include/c++/10/bits/stl_bvector.h" 3 void assign(initializer_list __l) { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); } iterator begin() noexcept { return iterator(this->_M_impl._M_start._M_p, 0); } const_iterator begin() const noexcept { return const_iterator(this->_M_impl._M_start._M_p, 0); } 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 const_iterator(this->_M_impl._M_start._M_p, 0); } 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 { 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; } # 1033 "/usr/include/c++/10/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) { if (__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); } else { this->_M_impl._M_end_of_storage = _Bit_pointer(); this->_M_impl._M_start = iterator(0, 0); } this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n); } void _M_initialize_value(bool __x) { if (_Bit_type* __p = this->_M_impl._M_start._M_p) __builtin_memset(__p, __x ? ~0 : 0, (this->_M_impl._M_end_addr() - __p) * sizeof(_Bit_type)); } 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)); _M_initialize_value(__x); } 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); } # 1219 "/usr/include/c++/10/bits/stl_bvector.h" 3 void _M_fill_assign(size_t __n, bool __x) { if (__n > size()) { _M_initialize_value(__x); insert(end(), __n - size(), __x); } else { _M_erase_at_end(begin() + __n); _M_initialize_value(__x); } } template void _M_assign_aux(_InputIterator __first, _InputIterator __last, std::input_iterator_tag) { iterator __cur = begin(); for (; __first != __last && __cur != end(); ++__cur, (void)++__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; }; } # 69 "/usr/include/c++/10/vector" 2 3 # 1 "/usr/include/c++/10/bits/vector.tcc" 1 3 # 59 "/usr/include/c++/10/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; if (_S_use_relocate()) { __tmp = this->_M_allocate(__n); _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish, __tmp, _M_get_Tp_allocator()); } else { __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_realloc_insert(end(), 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) if (__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()); _Temporary_value __x_copy(this, __x); _M_insert_aux(__pos, std::move(__x_copy._M_val())); } else _M_realloc_insert(begin() + (__position - cbegin()), __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); const size_type __add = __n - size(); ; this->_M_impl._M_finish = std::__uninitialized_fill_n_a(this->_M_impl._M_finish, __add, __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, (void)++__first) *__cur = *__first; if (__first == __last) _M_erase_at_end(__cur); else _M_range_insert(end(), __first, __last, std::__iterator_category(__first)); } 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()) { _S_check_init_len(__len, _M_get_Tp_allocator()); 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); const size_type __attribute__((__unused__)) __n = __len - size(); ; this->_M_impl._M_finish = std::__uninitialized_copy_a(__mid, __last, this->_M_impl._M_finish, _M_get_Tp_allocator()); ; } } template auto vector<_Tp, _Alloc>:: _M_insert_rval(const_iterator __position, value_type&& __v) -> iterator { const auto __n = __position - cbegin(); if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) if (__position == cend()) { ; _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, std::move(__v)); ++this->_M_impl._M_finish; ; } else _M_insert_aux(begin() + __n, std::move(__v)); else _M_realloc_insert(begin() + __n, std::move(__v)); return iterator(this->_M_impl._M_start + __n); } template template auto vector<_Tp, _Alloc>:: _M_emplace_aux(const_iterator __position, _Args&&... __args) -> iterator { const auto __n = __position - cbegin(); if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) if (__position == cend()) { ; _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, std::forward<_Args>(__args)...); ++this->_M_impl._M_finish; ; } else { _Temporary_value __tmp(this, std::forward<_Args>(__args)...); _M_insert_aux(begin() + __n, std::move(__tmp._M_val())); } else _M_realloc_insert(begin() + __n, std::forward<_Args>(__args)...); return iterator(this->_M_impl._M_start + __n); } template template void vector<_Tp, _Alloc>:: _M_insert_aux(iterator __position, _Arg&& __arg) { ; _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 = std::forward<_Arg>(__arg); } template template void vector<_Tp, _Alloc>:: _M_realloc_insert(iterator __position, _Args&&... __args) { const size_type __len = _M_check_len(size_type(1), "vector::_M_realloc_insert"); pointer __old_start = this->_M_impl._M_start; pointer __old_finish = this->_M_impl._M_finish; 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(); if (_S_use_relocate()) { __new_finish = _S_relocate(__old_start, __position.base(), __new_start, _M_get_Tp_allocator()); ++__new_finish; __new_finish = _S_relocate(__position.base(), __old_finish, __new_finish, _M_get_Tp_allocator()); } else { __new_finish = std::__uninitialized_move_if_noexcept_a (__old_start, __position.base(), __new_start, _M_get_Tp_allocator()); ++__new_finish; __new_finish = std::__uninitialized_move_if_noexcept_a (__position.base(), __old_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); ; } if (!_S_use_relocate()) std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator()); ; _M_deallocate(__old_start, this->_M_impl._M_end_of_storage - __old_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) { _Temporary_value __tmp(this, __x); value_type& __x_copy = __tmp._M_val(); 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) { const size_type __size = size(); size_type __navail = size_type(this->_M_impl._M_end_of_storage - this->_M_impl._M_finish); if (__size > max_size() || __navail > max_size() - __size) __builtin_unreachable(); if (__navail >= __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"); pointer __new_start(this->_M_allocate(__len)); if (_S_use_relocate()) { if (true) { std::__uninitialized_default_n_a(__new_start + __size, __n, _M_get_Tp_allocator()); } if (false) { _M_deallocate(__new_start, __len); ; } _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish, __new_start, _M_get_Tp_allocator()); } else { pointer __destroy_from = pointer(); if (true) { std::__uninitialized_default_n_a(__new_start + __size, __n, _M_get_Tp_allocator()); __destroy_from = __new_start + __size; std::__uninitialized_move_if_noexcept_a( this->_M_impl._M_start, this->_M_impl._M_finish, __new_start, _M_get_Tp_allocator()); } if (false) { if (__destroy_from) std::_Destroy(__destroy_from, __destroy_from + __n, _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_start + __size + __n; 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) { if (__pos == end()) { for (; __first != __last; ++__first) insert(end(), *__first); } else if (__first != __last) { vector __tmp(__first, __last, _M_get_Tp_allocator()); insert(__pos, std::make_move_iterator(__tmp.begin()), std::make_move_iterator(__tmp.end())); } } 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); iterator __finish(_M_copy_aligned(begin(), end(), __start)); this->_M_deallocate(); this->_M_impl._M_start = __start; this->_M_impl._M_finish = __finish; 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); iterator __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; this->_M_impl._M_finish = __finish; } } 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); iterator __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; this->_M_impl._M_finish = __finish; } } } 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; iterator __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; this->_M_impl._M_finish = __finish; } } 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; } } # 73 "/usr/include/c++/10/vector" 2 3 # 21 "../../third_party/angle/src/common/angleutils.h" 2 # 23 "../../third_party/angle/src/common/angleutils.h" namespace angle { class NonCopyable { protected: constexpr NonCopyable() = default; ~NonCopyable() = default; private: NonCopyable(const NonCopyable &) = delete; void operator=(const NonCopyable &) = delete; }; extern const uintptr_t DirtyPointer; } template constexpr inline size_t ArraySize(T (&)[N]) { return N; } template class WrappedArray final : angle::NonCopyable { public: template constexpr WrappedArray(const T (&data)[N]) : mArray(&data[0]), mSize(N) {} constexpr WrappedArray() : mArray(nullptr), mSize(0) {} constexpr WrappedArray(const T *data, size_t size) : mArray(data), mSize(size) {} WrappedArray(WrappedArray &&other) : WrappedArray() { std::swap(mArray, other.mArray); std::swap(mSize, other.mSize); } ~WrappedArray() {} constexpr const T *get() const { return mArray; } constexpr size_t size() const { return mSize; } private: const T *mArray; size_t mSize; }; template void SafeRelease(T (&resourceBlock)[N]) { for (unsigned int i = 0; i < N; i++) { SafeRelease(resourceBlock[i]); } } template void SafeRelease(T &resource) { if (resource) { resource->Release(); resource = nullptr; } } template void SafeDelete(T *&resource) { delete resource; resource = nullptr; } template void SafeDeleteContainer(T &resource) { for (auto &element : resource) { SafeDelete(element); } resource.clear(); } template void SafeDeleteArray(T *&resource) { delete[] resource; resource = nullptr; } template inline bool StructLessThan(const T &a, const T &b) { return (memcmp(&a, &b, sizeof(T)) < 0); } template inline bool StructEquals(const T &a, const T &b) { return (memcmp(&a, &b, sizeof(T)) == 0); } template inline void StructZero(T *obj) { memset(obj, 0, sizeof(T)); } template inline bool IsMaskFlagSet(T mask, T flag) { return (mask & flag) == flag; } inline const char *MakeStaticString(const std::string &str) { static std::set *strings = new std::set; std::set::iterator it = strings->find(str); if (it != strings->end()) { return it->c_str(); } return strings->insert(str).first->c_str(); } std::string ArrayString(unsigned int i); std::string ArrayIndexString(const std::vector &indices); inline std::string Str(int i) { std::stringstream strstr; strstr << i; return strstr.str(); } size_t FormatStringIntoVector(const char *fmt, va_list vararg, std::vector &buffer); template std::string ToString(const T &value) { std::ostringstream o; o << value; return o.str(); } # 12 "../../third_party/angle/src/common/MemoryBuffer.h" 2 # 1 "../../third_party/angle/src/common/debug.h" 1 # 13 "../../third_party/angle/src/common/debug.h" # 1 "/usr/include/assert.h" 1 3 4 # 14 "../../third_party/angle/src/common/debug.h" 2 # 1 "/usr/include/c++/10/iomanip" 1 3 # 36 "/usr/include/c++/10/iomanip" 3 # 37 "/usr/include/c++/10/iomanip" 3 # 1 "/usr/include/c++/10/locale" 1 3 # 36 "/usr/include/c++/10/locale" 3 # 37 "/usr/include/c++/10/locale" 3 # 1 "/usr/include/c++/10/bits/locale_facets_nonio.h" 1 3 # 37 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 # 38 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 # 1 "/usr/include/c++/10/ctime" 1 3 # 39 "/usr/include/c++/10/ctime" 3 # 40 "/usr/include/c++/10/ctime" 3 # 58 "/usr/include/c++/10/ctime" 3 # 58 "/usr/include/c++/10/ctime" 3 namespace std { using ::clock_t; using ::time_t; using ::tm; using ::clock; using ::difftime; using ::mktime; using ::time; using ::asctime; using ::ctime; using ::gmtime; using ::localtime; using ::strftime; } # 40 "/usr/include/c++/10/bits/locale_facets_nonio.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 52 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 class time_base { public: enum dateorder { no_order, dmy, mdy, ymd, ydm }; }; template struct __timepunct_cache : public locale::facet { static const _CharT* _S_timezones[14]; const _CharT* _M_date_format; const _CharT* _M_date_era_format; const _CharT* _M_time_format; const _CharT* _M_time_era_format; const _CharT* _M_date_time_format; const _CharT* _M_date_time_era_format; const _CharT* _M_am; const _CharT* _M_pm; const _CharT* _M_am_pm_format; const _CharT* _M_day1; const _CharT* _M_day2; const _CharT* _M_day3; const _CharT* _M_day4; const _CharT* _M_day5; const _CharT* _M_day6; const _CharT* _M_day7; const _CharT* _M_aday1; const _CharT* _M_aday2; const _CharT* _M_aday3; const _CharT* _M_aday4; const _CharT* _M_aday5; const _CharT* _M_aday6; const _CharT* _M_aday7; const _CharT* _M_month01; const _CharT* _M_month02; const _CharT* _M_month03; const _CharT* _M_month04; const _CharT* _M_month05; const _CharT* _M_month06; const _CharT* _M_month07; const _CharT* _M_month08; const _CharT* _M_month09; const _CharT* _M_month10; const _CharT* _M_month11; const _CharT* _M_month12; const _CharT* _M_amonth01; const _CharT* _M_amonth02; const _CharT* _M_amonth03; const _CharT* _M_amonth04; const _CharT* _M_amonth05; const _CharT* _M_amonth06; const _CharT* _M_amonth07; const _CharT* _M_amonth08; const _CharT* _M_amonth09; const _CharT* _M_amonth10; const _CharT* _M_amonth11; const _CharT* _M_amonth12; bool _M_allocated; __timepunct_cache(size_t __refs = 0) : facet(__refs), _M_date_format(0), _M_date_era_format(0), _M_time_format(0), _M_time_era_format(0), _M_date_time_format(0), _M_date_time_era_format(0), _M_am(0), _M_pm(0), _M_am_pm_format(0), _M_day1(0), _M_day2(0), _M_day3(0), _M_day4(0), _M_day5(0), _M_day6(0), _M_day7(0), _M_aday1(0), _M_aday2(0), _M_aday3(0), _M_aday4(0), _M_aday5(0), _M_aday6(0), _M_aday7(0), _M_month01(0), _M_month02(0), _M_month03(0), _M_month04(0), _M_month05(0), _M_month06(0), _M_month07(0), _M_month08(0), _M_month09(0), _M_month10(0), _M_month11(0), _M_month12(0), _M_amonth01(0), _M_amonth02(0), _M_amonth03(0), _M_amonth04(0), _M_amonth05(0), _M_amonth06(0), _M_amonth07(0), _M_amonth08(0), _M_amonth09(0), _M_amonth10(0), _M_amonth11(0), _M_amonth12(0), _M_allocated(false) { } ~__timepunct_cache(); private: __timepunct_cache& operator=(const __timepunct_cache&); explicit __timepunct_cache(const __timepunct_cache&); }; template __timepunct_cache<_CharT>::~__timepunct_cache() { if (_M_allocated) { } } template<> const char* __timepunct_cache::_S_timezones[14]; template<> const wchar_t* __timepunct_cache::_S_timezones[14]; template const _CharT* __timepunct_cache<_CharT>::_S_timezones[14]; template class __timepunct : public locale::facet { public: typedef _CharT __char_type; typedef __timepunct_cache<_CharT> __cache_type; protected: __cache_type* _M_data; __c_locale _M_c_locale_timepunct; const char* _M_name_timepunct; public: static locale::id id; explicit __timepunct(size_t __refs = 0); explicit __timepunct(__cache_type* __cache, size_t __refs = 0); # 206 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 explicit __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0); void _M_put(_CharT* __s, size_t __maxlen, const _CharT* __format, const tm* __tm) const throw (); void _M_date_formats(const _CharT** __date) const { __date[0] = _M_data->_M_date_format; __date[1] = _M_data->_M_date_era_format; } void _M_time_formats(const _CharT** __time) const { __time[0] = _M_data->_M_time_format; __time[1] = _M_data->_M_time_era_format; } void _M_date_time_formats(const _CharT** __dt) const { __dt[0] = _M_data->_M_date_time_format; __dt[1] = _M_data->_M_date_time_era_format; } void _M_am_pm_format(const _CharT*) const { } void _M_am_pm(const _CharT** __ampm) const { __ampm[0] = _M_data->_M_am; __ampm[1] = _M_data->_M_pm; } void _M_days(const _CharT** __days) const { __days[0] = _M_data->_M_day1; __days[1] = _M_data->_M_day2; __days[2] = _M_data->_M_day3; __days[3] = _M_data->_M_day4; __days[4] = _M_data->_M_day5; __days[5] = _M_data->_M_day6; __days[6] = _M_data->_M_day7; } void _M_days_abbreviated(const _CharT** __days) const { __days[0] = _M_data->_M_aday1; __days[1] = _M_data->_M_aday2; __days[2] = _M_data->_M_aday3; __days[3] = _M_data->_M_aday4; __days[4] = _M_data->_M_aday5; __days[5] = _M_data->_M_aday6; __days[6] = _M_data->_M_aday7; } void _M_months(const _CharT** __months) const { __months[0] = _M_data->_M_month01; __months[1] = _M_data->_M_month02; __months[2] = _M_data->_M_month03; __months[3] = _M_data->_M_month04; __months[4] = _M_data->_M_month05; __months[5] = _M_data->_M_month06; __months[6] = _M_data->_M_month07; __months[7] = _M_data->_M_month08; __months[8] = _M_data->_M_month09; __months[9] = _M_data->_M_month10; __months[10] = _M_data->_M_month11; __months[11] = _M_data->_M_month12; } void _M_months_abbreviated(const _CharT** __months) const { __months[0] = _M_data->_M_amonth01; __months[1] = _M_data->_M_amonth02; __months[2] = _M_data->_M_amonth03; __months[3] = _M_data->_M_amonth04; __months[4] = _M_data->_M_amonth05; __months[5] = _M_data->_M_amonth06; __months[6] = _M_data->_M_amonth07; __months[7] = _M_data->_M_amonth08; __months[8] = _M_data->_M_amonth09; __months[9] = _M_data->_M_amonth10; __months[10] = _M_data->_M_amonth11; __months[11] = _M_data->_M_amonth12; } protected: virtual ~__timepunct(); void _M_initialize_timepunct(__c_locale __cloc = 0); }; template locale::id __timepunct<_CharT>::id; template<> void __timepunct::_M_initialize_timepunct(__c_locale __cloc); template<> void __timepunct::_M_put(char*, size_t, const char*, const tm*) const throw (); template<> void __timepunct::_M_initialize_timepunct(__c_locale __cloc); template<> void __timepunct::_M_put(wchar_t*, size_t, const wchar_t*, const tm*) const throw (); } # 1 "/usr/include/c++/10/x86_64-redhat-linux/bits/time_members.h" 1 3 # 37 "/usr/include/c++/10/x86_64-redhat-linux/bits/time_members.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template __timepunct<_CharT>::__timepunct(size_t __refs) : facet(__refs), _M_data(0), _M_c_locale_timepunct(0), _M_name_timepunct(_S_get_c_name()) { _M_initialize_timepunct(); } template __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs) : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(0), _M_name_timepunct(_S_get_c_name()) { _M_initialize_timepunct(); } template __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s, size_t __refs) : facet(__refs), _M_data(0), _M_c_locale_timepunct(0), _M_name_timepunct(0) { if (__builtin_strcmp(__s, _S_get_c_name()) != 0) { const size_t __len = __builtin_strlen(__s) + 1; char* __tmp = new char[__len]; __builtin_memcpy(__tmp, __s, __len); _M_name_timepunct = __tmp; } else _M_name_timepunct = _S_get_c_name(); if (true) { _M_initialize_timepunct(__cloc); } if (false) { if (_M_name_timepunct != _S_get_c_name()) delete [] _M_name_timepunct; ; } } template __timepunct<_CharT>::~__timepunct() { if (_M_name_timepunct != _S_get_c_name()) delete [] _M_name_timepunct; delete _M_data; _S_destroy_c_locale(_M_c_locale_timepunct); } } # 347 "/usr/include/c++/10/bits/locale_facets_nonio.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace __cxx11 { # 367 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 template class time_get : public locale::facet, public time_base { public: typedef _CharT char_type; typedef _InIter iter_type; static locale::id id; # 388 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 explicit time_get(size_t __refs = 0) : facet (__refs) { } # 405 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 dateorder date_order() const { return this->do_date_order(); } # 429 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 iter_type get_time(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { return this->do_get_time(__beg, __end, __io, __err, __tm); } # 454 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 iter_type get_date(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { return this->do_get_date(__beg, __end, __io, __err, __tm); } # 482 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 iter_type get_weekday(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { return this->do_get_weekday(__beg, __end, __io, __err, __tm); } # 511 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 iter_type get_monthname(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { return this->do_get_monthname(__beg, __end, __io, __err, __tm); } # 537 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 iter_type get_year(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { return this->do_get_year(__beg, __end, __io, __err, __tm); } # 558 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 inline iter_type get(iter_type __s, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm, char __format, char __modifier = 0) const { return this->do_get(__s, __end, __io, __err, __tm, __format, __modifier); } # 585 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 iter_type get(iter_type __s, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm, const char_type* __fmt, const char_type* __fmtend) const; protected: virtual ~time_get() { } # 605 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual dateorder do_date_order() const; # 623 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual iter_type do_get_time(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const; # 642 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual iter_type do_get_date(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const; # 661 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual iter_type do_get_weekday(iter_type __beg, iter_type __end, ios_base&, ios_base::iostate& __err, tm* __tm) const; # 680 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual iter_type do_get_monthname(iter_type __beg, iter_type __end, ios_base&, ios_base::iostate& __err, tm* __tm) const; # 699 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual iter_type do_get_year(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const; # 722 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual iter_type do_get(iter_type __s, iter_type __end, ios_base& __f, ios_base::iostate& __err, tm* __tm, char __format, char __modifier) const; iter_type _M_extract_num(iter_type __beg, iter_type __end, int& __member, int __min, int __max, size_t __len, ios_base& __io, ios_base::iostate& __err) const; iter_type _M_extract_name(iter_type __beg, iter_type __end, int& __member, const _CharT** __names, size_t __indexlen, ios_base& __io, ios_base::iostate& __err) const; iter_type _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member, const _CharT** __names, size_t __indexlen, ios_base& __io, ios_base::iostate& __err) const; iter_type _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm, const _CharT* __format) const; }; template locale::id time_get<_CharT, _InIter>::id; template class time_get_byname : public time_get<_CharT, _InIter> { public: typedef _CharT char_type; typedef _InIter iter_type; explicit time_get_byname(const char*, size_t __refs = 0) : time_get<_CharT, _InIter>(__refs) { } explicit time_get_byname(const string& __s, size_t __refs = 0) : time_get_byname(__s.c_str(), __refs) { } protected: virtual ~time_get_byname() { } }; } # 796 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 template class time_put : public locale::facet { public: typedef _CharT char_type; typedef _OutIter iter_type; static locale::id id; # 817 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 explicit time_put(size_t __refs = 0) : facet(__refs) { } # 836 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 iter_type put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm, const _CharT* __beg, const _CharT* __end) const; # 856 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 iter_type put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm, char __format, char __mod = 0) const { return this->do_put(__s, __io, __fill, __tm, __format, __mod); } protected: virtual ~time_put() { } # 883 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm, char __format, char __mod) const; }; template locale::id time_put<_CharT, _OutIter>::id; template class time_put_byname : public time_put<_CharT, _OutIter> { public: typedef _CharT char_type; typedef _OutIter iter_type; explicit time_put_byname(const char*, size_t __refs = 0) : time_put<_CharT, _OutIter>(__refs) { } explicit time_put_byname(const string& __s, size_t __refs = 0) : time_put_byname(__s.c_str(), __refs) { } protected: virtual ~time_put_byname() { } }; # 928 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 class money_base { public: enum part { none, space, symbol, sign, value }; struct pattern { char field[4]; }; static const pattern _S_default_pattern; enum { _S_minus, _S_zero, _S_end = 11 }; static const char* _S_atoms; __attribute__ ((__const__)) static pattern _S_construct_pattern(char __precedes, char __space, char __posn) throw (); }; template struct __moneypunct_cache : public locale::facet { const char* _M_grouping; size_t _M_grouping_size; bool _M_use_grouping; _CharT _M_decimal_point; _CharT _M_thousands_sep; const _CharT* _M_curr_symbol; size_t _M_curr_symbol_size; const _CharT* _M_positive_sign; size_t _M_positive_sign_size; const _CharT* _M_negative_sign; size_t _M_negative_sign_size; int _M_frac_digits; money_base::pattern _M_pos_format; money_base::pattern _M_neg_format; _CharT _M_atoms[money_base::_S_end]; bool _M_allocated; __moneypunct_cache(size_t __refs = 0) : facet(__refs), _M_grouping(0), _M_grouping_size(0), _M_use_grouping(false), _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()), _M_curr_symbol(0), _M_curr_symbol_size(0), _M_positive_sign(0), _M_positive_sign_size(0), _M_negative_sign(0), _M_negative_sign_size(0), _M_frac_digits(0), _M_pos_format(money_base::pattern()), _M_neg_format(money_base::pattern()), _M_allocated(false) { } ~__moneypunct_cache(); void _M_cache(const locale& __loc); private: __moneypunct_cache& operator=(const __moneypunct_cache&); explicit __moneypunct_cache(const __moneypunct_cache&); }; template __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache() { if (_M_allocated) { delete [] _M_grouping; delete [] _M_curr_symbol; delete [] _M_positive_sign; delete [] _M_negative_sign; } } namespace __cxx11 { # 1023 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 template class moneypunct : public locale::facet, public money_base { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; typedef __moneypunct_cache<_CharT, _Intl> __cache_type; private: __cache_type* _M_data; public: static const bool intl = _Intl; static locale::id id; # 1052 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 explicit moneypunct(size_t __refs = 0) : facet(__refs), _M_data(0) { _M_initialize_moneypunct(); } # 1065 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 explicit moneypunct(__cache_type* __cache, size_t __refs = 0) : facet(__refs), _M_data(__cache) { _M_initialize_moneypunct(); } # 1080 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 explicit moneypunct(__c_locale __cloc, const char* __s, size_t __refs = 0) : facet(__refs), _M_data(0) { _M_initialize_moneypunct(__cloc, __s); } # 1094 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 char_type decimal_point() const { return this->do_decimal_point(); } # 1107 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 char_type thousands_sep() const { return this->do_thousands_sep(); } # 1137 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 string grouping() const { return this->do_grouping(); } # 1150 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 string_type curr_symbol() const { return this->do_curr_symbol(); } # 1167 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 string_type positive_sign() const { return this->do_positive_sign(); } # 1184 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 string_type negative_sign() const { return this->do_negative_sign(); } # 1200 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 int frac_digits() const { return this->do_frac_digits(); } # 1236 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 pattern pos_format() const { return this->do_pos_format(); } pattern neg_format() const { return this->do_neg_format(); } protected: virtual ~moneypunct(); # 1258 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual char_type do_decimal_point() const { return _M_data->_M_decimal_point; } # 1270 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual char_type do_thousands_sep() const { return _M_data->_M_thousands_sep; } # 1283 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual string do_grouping() const { return _M_data->_M_grouping; } # 1296 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual string_type do_curr_symbol() const { return _M_data->_M_curr_symbol; } # 1309 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual string_type do_positive_sign() const { return _M_data->_M_positive_sign; } # 1322 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual string_type do_negative_sign() const { return _M_data->_M_negative_sign; } # 1336 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual int do_frac_digits() const { return _M_data->_M_frac_digits; } # 1350 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual pattern do_pos_format() const { return _M_data->_M_pos_format; } # 1364 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual pattern do_neg_format() const { return _M_data->_M_neg_format; } void _M_initialize_moneypunct(__c_locale __cloc = 0, const char* __name = 0); }; template locale::id moneypunct<_CharT, _Intl>::id; template const bool moneypunct<_CharT, _Intl>::intl; template<> moneypunct::~moneypunct(); template<> moneypunct::~moneypunct(); template<> void moneypunct::_M_initialize_moneypunct(__c_locale, const char*); template<> void moneypunct::_M_initialize_moneypunct(__c_locale, const char*); template<> moneypunct::~moneypunct(); template<> moneypunct::~moneypunct(); template<> void moneypunct::_M_initialize_moneypunct(__c_locale, const char*); template<> void moneypunct::_M_initialize_moneypunct(__c_locale, const char*); template class moneypunct_byname : public moneypunct<_CharT, _Intl> { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; static const bool intl = _Intl; explicit moneypunct_byname(const char* __s, size_t __refs = 0) : moneypunct<_CharT, _Intl>(__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_moneypunct(__tmp); this->_S_destroy_c_locale(__tmp); } } explicit moneypunct_byname(const string& __s, size_t __refs = 0) : moneypunct_byname(__s.c_str(), __refs) { } protected: virtual ~moneypunct_byname() { } }; template const bool moneypunct_byname<_CharT, _Intl>::intl; } namespace __cxx11 { # 1467 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 template class money_get : public locale::facet { public: typedef _CharT char_type; typedef _InIter iter_type; typedef basic_string<_CharT> string_type; static locale::id id; # 1489 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 explicit money_get(size_t __refs = 0) : facet(__refs) { } # 1519 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 iter_type get(iter_type __s, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, long double& __units) const { return this->do_get(__s, __end, __intl, __io, __err, __units); } # 1550 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 iter_type get(iter_type __s, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, string_type& __digits) const { return this->do_get(__s, __end, __intl, __io, __err, __digits); } protected: virtual ~money_get() { } # 1574 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual iter_type do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, long double& __units) const; # 1586 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual iter_type do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, string_type& __digits) const; # 1598 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 template iter_type _M_extract(iter_type __s, iter_type __end, ios_base& __io, ios_base::iostate& __err, string& __digits) const; }; template locale::id money_get<_CharT, _InIter>::id; # 1620 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 template class money_put : public locale::facet { public: typedef _CharT char_type; typedef _OutIter iter_type; typedef basic_string<_CharT> string_type; static locale::id id; # 1641 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 explicit money_put(size_t __refs = 0) : facet(__refs) { } # 1661 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 iter_type put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, long double __units) const { return this->do_put(__s, __intl, __io, __fill, __units); } # 1684 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 iter_type put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, const string_type& __digits) const { return this->do_put(__s, __intl, __io, __fill, __digits); } protected: virtual ~money_put() { } # 1719 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual iter_type do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, long double __units) const; # 1743 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual iter_type do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, const string_type& __digits) const; # 1755 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 template iter_type _M_insert(iter_type __s, ios_base& __io, char_type __fill, const string_type& __digits) const; }; template locale::id money_put<_CharT, _OutIter>::id; } struct messages_base { typedef int catalog; }; namespace __cxx11 { # 1798 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 template class messages : public locale::facet, public messages_base { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; protected: __c_locale _M_c_locale_messages; const char* _M_name_messages; public: static locale::id id; # 1826 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 explicit messages(size_t __refs = 0); # 1840 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 explicit messages(__c_locale __cloc, const char* __s, size_t __refs = 0); # 1853 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 catalog open(const basic_string& __s, const locale& __loc) const { return this->do_open(__s, __loc); } # 1871 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 catalog open(const basic_string&, const locale&, const char*) const; # 1889 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 string_type get(catalog __c, int __set, int __msgid, const string_type& __s) const { return this->do_get(__c, __set, __msgid, __s); } # 1900 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 void close(catalog __c) const { return this->do_close(__c); } protected: virtual ~messages(); # 1920 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual catalog do_open(const basic_string&, const locale&) const; # 1939 "/usr/include/c++/10/bits/locale_facets_nonio.h" 3 virtual string_type do_get(catalog, int, int, const string_type& __dfault) const; virtual void do_close(catalog) const; char* _M_convert_to_char(const string_type& __msg) const { return reinterpret_cast(const_cast<_CharT*>(__msg.c_str())); } string_type _M_convert_from_char(char*) const { return string_type(); } }; template locale::id messages<_CharT>::id; template<> string messages::do_get(catalog, int, int, const string&) const; template<> wstring messages::do_get(catalog, int, int, const wstring&) const; template class messages_byname : public messages<_CharT> { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; explicit messages_byname(const char* __s, size_t __refs = 0); explicit messages_byname(const string& __s, size_t __refs = 0) : messages_byname(__s.c_str(), __refs) { } protected: virtual ~messages_byname() { } }; } } # 1 "/usr/include/c++/10/x86_64-redhat-linux/bits/messages_members.h" 1 3 # 36 "/usr/include/c++/10/x86_64-redhat-linux/bits/messages_members.h" 3 # 1 "/usr/include/libintl.h" 1 3 4 # 34 "/usr/include/libintl.h" 3 4 extern "C" { extern char *gettext (const char *__msgid) throw () __attribute__ ((__format_arg__ (1))); extern char *dgettext (const char *__domainname, const char *__msgid) throw () __attribute__ ((__format_arg__ (2))); extern char *__dgettext (const char *__domainname, const char *__msgid) throw () __attribute__ ((__format_arg__ (2))); extern char *dcgettext (const char *__domainname, const char *__msgid, int __category) throw () __attribute__ ((__format_arg__ (2))); extern char *__dcgettext (const char *__domainname, const char *__msgid, int __category) throw () __attribute__ ((__format_arg__ (2))); extern char *ngettext (const char *__msgid1, const char *__msgid2, unsigned long int __n) throw () __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2))); extern char *dngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n) throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); extern char *dcngettext (const char *__domainname, const char *__msgid1, const char *__msgid2, unsigned long int __n, int __category) throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); extern char *textdomain (const char *__domainname) throw (); extern char *bindtextdomain (const char *__domainname, const char *__dirname) throw (); extern char *bind_textdomain_codeset (const char *__domainname, const char *__codeset) throw (); # 121 "/usr/include/libintl.h" 3 4 } # 37 "/usr/include/c++/10/x86_64-redhat-linux/bits/messages_members.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template messages<_CharT>::messages(size_t __refs) : facet(__refs), _M_c_locale_messages(_S_get_c_locale()), _M_name_messages(_S_get_c_name()) { } template messages<_CharT>::messages(__c_locale __cloc, const char* __s, size_t __refs) : facet(__refs), _M_c_locale_messages(0), _M_name_messages(0) { if (__builtin_strcmp(__s, _S_get_c_name()) != 0) { const size_t __len = __builtin_strlen(__s) + 1; char* __tmp = new char[__len]; __builtin_memcpy(__tmp, __s, __len); _M_name_messages = __tmp; } else _M_name_messages = _S_get_c_name(); _M_c_locale_messages = _S_clone_c_locale(__cloc); } template typename messages<_CharT>::catalog messages<_CharT>::open(const basic_string& __s, const locale& __loc, const char* __dir) const { bindtextdomain(__s.c_str(), __dir); return this->do_open(__s, __loc); } template messages<_CharT>::~messages() { if (_M_name_messages != _S_get_c_name()) delete [] _M_name_messages; _S_destroy_c_locale(_M_c_locale_messages); } template typename messages<_CharT>::catalog messages<_CharT>::do_open(const basic_string& __s, const locale&) const { textdomain(__s.c_str()); return 0; } template void messages<_CharT>::do_close(catalog) const { } template messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs) : messages<_CharT>(__refs) { if (this->_M_name_messages != locale::facet::_S_get_c_name()) { delete [] this->_M_name_messages; if (__builtin_strcmp(__s, locale::facet::_S_get_c_name()) != 0) { const size_t __len = __builtin_strlen(__s) + 1; char* __tmp = new char[__len]; __builtin_memcpy(__tmp, __s, __len); this->_M_name_messages = __tmp; } else this->_M_name_messages = locale::facet::_S_get_c_name(); } if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { this->_S_destroy_c_locale(this->_M_c_locale_messages); this->_S_create_c_locale(this->_M_c_locale_messages, __s); } } template<> typename messages::catalog messages::do_open(const basic_string&, const locale&) const; template<> void messages::do_close(catalog) const; template<> typename messages::catalog messages::do_open(const basic_string&, const locale&) const; template<> void messages::do_close(catalog) const; } # 2011 "/usr/include/c++/10/bits/locale_facets_nonio.h" 2 3 # 1 "/usr/include/c++/10/bits/codecvt.h" 1 3 # 39 "/usr/include/c++/10/bits/codecvt.h" 3 # 40 "/usr/include/c++/10/bits/codecvt.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { class codecvt_base { public: enum result { ok, partial, error, noconv }; }; # 67 "/usr/include/c++/10/bits/codecvt.h" 3 template class __codecvt_abstract_base : public locale::facet, public codecvt_base { public: typedef codecvt_base::result result; typedef _InternT intern_type; typedef _ExternT extern_type; typedef _StateT state_type; # 115 "/usr/include/c++/10/bits/codecvt.h" 3 result out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const { return this->do_out(__state, __from, __from_end, __from_next, __to, __to_end, __to_next); } # 154 "/usr/include/c++/10/bits/codecvt.h" 3 result unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const { return this->do_unshift(__state, __to,__to_end,__to_next); } # 195 "/usr/include/c++/10/bits/codecvt.h" 3 result in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const { return this->do_in(__state, __from, __from_end, __from_next, __to, __to_end, __to_next); } int encoding() const throw() { return this->do_encoding(); } bool always_noconv() const throw() { return this->do_always_noconv(); } int length(state_type& __state, const extern_type* __from, const extern_type* __end, size_t __max) const { return this->do_length(__state, __from, __end, __max); } int max_length() const throw() { return this->do_max_length(); } protected: explicit __codecvt_abstract_base(size_t __refs = 0) : locale::facet(__refs) { } virtual ~__codecvt_abstract_base() { } # 236 "/usr/include/c++/10/bits/codecvt.h" 3 virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const = 0; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const = 0; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const = 0; virtual int do_encoding() const throw() = 0; virtual bool do_always_noconv() const throw() = 0; virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const = 0; virtual int do_max_length() const throw() = 0; }; # 273 "/usr/include/c++/10/bits/codecvt.h" 3 template class codecvt : public __codecvt_abstract_base<_InternT, _ExternT, _StateT> { public: typedef codecvt_base::result result; typedef _InternT intern_type; typedef _ExternT extern_type; typedef _StateT state_type; protected: __c_locale _M_c_locale_codecvt; public: static locale::id id; explicit codecvt(size_t __refs = 0) : __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs), _M_c_locale_codecvt(0) { } explicit codecvt(__c_locale __cloc, size_t __refs = 0); protected: virtual ~codecvt() { } virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const; virtual int do_encoding() const throw(); virtual bool do_always_noconv() const throw(); virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const; virtual int do_max_length() const throw(); }; template locale::id codecvt<_InternT, _ExternT, _StateT>::id; template<> class codecvt : public __codecvt_abstract_base { friend class messages; public: typedef char intern_type; typedef char extern_type; typedef mbstate_t state_type; protected: __c_locale _M_c_locale_codecvt; public: static locale::id id; explicit codecvt(size_t __refs = 0); explicit codecvt(__c_locale __cloc, size_t __refs = 0); protected: virtual ~codecvt(); virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const; virtual int do_encoding() const throw(); virtual bool do_always_noconv() const throw(); virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const; virtual int do_max_length() const throw(); }; template<> class codecvt : public __codecvt_abstract_base { friend class messages; public: typedef wchar_t intern_type; typedef char extern_type; typedef mbstate_t state_type; protected: __c_locale _M_c_locale_codecvt; public: static locale::id id; explicit codecvt(size_t __refs = 0); explicit codecvt(__c_locale __cloc, size_t __refs = 0); protected: virtual ~codecvt(); virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const; virtual int do_encoding() const throw(); virtual bool do_always_noconv() const throw(); virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const; virtual int do_max_length() const throw(); }; template<> class codecvt : public __codecvt_abstract_base { public: typedef char16_t intern_type; typedef char extern_type; typedef mbstate_t state_type; public: static locale::id id; explicit codecvt(size_t __refs = 0) : __codecvt_abstract_base(__refs) { } protected: virtual ~codecvt(); virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const; virtual int do_encoding() const throw(); virtual bool do_always_noconv() const throw(); virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const; virtual int do_max_length() const throw(); }; template<> class codecvt : public __codecvt_abstract_base { public: typedef char32_t intern_type; typedef char extern_type; typedef mbstate_t state_type; public: static locale::id id; explicit codecvt(size_t __refs = 0) : __codecvt_abstract_base(__refs) { } protected: virtual ~codecvt(); virtual result do_out(state_type& __state, const intern_type* __from, const intern_type* __from_end, const intern_type*& __from_next, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_unshift(state_type& __state, extern_type* __to, extern_type* __to_end, extern_type*& __to_next) const; virtual result do_in(state_type& __state, const extern_type* __from, const extern_type* __from_end, const extern_type*& __from_next, intern_type* __to, intern_type* __to_end, intern_type*& __to_next) const; virtual int do_encoding() const throw(); virtual bool do_always_noconv() const throw(); virtual int do_length(state_type&, const extern_type* __from, const extern_type* __end, size_t __max) const; virtual int do_max_length() const throw(); }; # 695 "/usr/include/c++/10/bits/codecvt.h" 3 template class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT> { public: explicit codecvt_byname(const char* __s, size_t __refs = 0) : codecvt<_InternT, _ExternT, _StateT>(__refs) { if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { this->_S_destroy_c_locale(this->_M_c_locale_codecvt); this->_S_create_c_locale(this->_M_c_locale_codecvt, __s); } } explicit codecvt_byname(const string& __s, size_t __refs = 0) : codecvt_byname(__s.c_str(), __refs) { } protected: virtual ~codecvt_byname() { } }; template<> class codecvt_byname : public codecvt { public: explicit codecvt_byname(const char*, size_t __refs = 0) : codecvt(__refs) { } explicit codecvt_byname(const string& __s, size_t __refs = 0) : codecvt_byname(__s.c_str(), __refs) { } protected: virtual ~codecvt_byname() { } }; template<> class codecvt_byname : public codecvt { public: explicit codecvt_byname(const char*, size_t __refs = 0) : codecvt(__refs) { } explicit codecvt_byname(const string& __s, size_t __refs = 0) : codecvt_byname(__s.c_str(), __refs) { } protected: virtual ~codecvt_byname() { } }; # 802 "/usr/include/c++/10/bits/codecvt.h" 3 extern template class codecvt_byname; extern template const codecvt& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template class codecvt_byname; extern template const codecvt& use_facet >(const locale&); extern template bool has_facet >(const locale&); extern template class codecvt_byname; extern template class codecvt_byname; # 837 "/usr/include/c++/10/bits/codecvt.h" 3 } # 2014 "/usr/include/c++/10/bits/locale_facets_nonio.h" 2 3 # 1 "/usr/include/c++/10/bits/locale_facets_nonio.tcc" 1 3 # 33 "/usr/include/c++/10/bits/locale_facets_nonio.tcc" 3 # 34 "/usr/include/c++/10/bits/locale_facets_nonio.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __use_cache<__moneypunct_cache<_CharT, _Intl> > { const __moneypunct_cache<_CharT, _Intl>* operator() (const locale& __loc) const { const size_t __i = moneypunct<_CharT, _Intl>::id._M_id(); const locale::facet** __caches = __loc._M_impl->_M_caches; if (!__caches[__i]) { __moneypunct_cache<_CharT, _Intl>* __tmp = 0; if (true) { __tmp = new __moneypunct_cache<_CharT, _Intl>; __tmp->_M_cache(__loc); } if (false) { delete __tmp; ; } __loc._M_impl->_M_install_cache(__tmp, __i); } return static_cast< const __moneypunct_cache<_CharT, _Intl>*>(__caches[__i]); } }; template void __moneypunct_cache<_CharT, _Intl>::_M_cache(const locale& __loc) { const moneypunct<_CharT, _Intl>& __mp = use_facet >(__loc); _M_decimal_point = __mp.decimal_point(); _M_thousands_sep = __mp.thousands_sep(); _M_frac_digits = __mp.frac_digits(); char* __grouping = 0; _CharT* __curr_symbol = 0; _CharT* __positive_sign = 0; _CharT* __negative_sign = 0; if (true) { const string& __g = __mp.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>& __cs = __mp.curr_symbol(); _M_curr_symbol_size = __cs.size(); __curr_symbol = new _CharT[_M_curr_symbol_size]; __cs.copy(__curr_symbol, _M_curr_symbol_size); const basic_string<_CharT>& __ps = __mp.positive_sign(); _M_positive_sign_size = __ps.size(); __positive_sign = new _CharT[_M_positive_sign_size]; __ps.copy(__positive_sign, _M_positive_sign_size); const basic_string<_CharT>& __ns = __mp.negative_sign(); _M_negative_sign_size = __ns.size(); __negative_sign = new _CharT[_M_negative_sign_size]; __ns.copy(__negative_sign, _M_negative_sign_size); _M_pos_format = __mp.pos_format(); _M_neg_format = __mp.neg_format(); const ctype<_CharT>& __ct = use_facet >(__loc); __ct.widen(money_base::_S_atoms, money_base::_S_atoms + money_base::_S_end, _M_atoms); _M_grouping = __grouping; _M_curr_symbol = __curr_symbol; _M_positive_sign = __positive_sign; _M_negative_sign = __negative_sign; _M_allocated = true; } if (false) { delete [] __grouping; delete [] __curr_symbol; delete [] __positive_sign; delete [] __negative_sign; ; } } namespace __cxx11 { template template _InIter money_get<_CharT, _InIter>:: _M_extract(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, string& __units) const { typedef char_traits<_CharT> __traits_type; typedef typename string_type::size_type size_type; typedef money_base::part part; typedef __moneypunct_cache<_CharT, _Intl> __cache_type; const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); __use_cache<__cache_type> __uc; const __cache_type* __lc = __uc(__loc); const char_type* __lit = __lc->_M_atoms; bool __negative = false; size_type __sign_size = 0; const bool __mandatory_sign = (__lc->_M_positive_sign_size && __lc->_M_negative_sign_size); string __grouping_tmp; if (__lc->_M_use_grouping) __grouping_tmp.reserve(32); int __last_pos = 0; int __n = 0; bool __testvalid = true; bool __testdecfound = false; string __res; __res.reserve(32); const char_type* __lit_zero = __lit + money_base::_S_zero; const money_base::pattern __p = __lc->_M_neg_format; for (int __i = 0; __i < 4 && __testvalid; ++__i) { const part __which = static_cast(__p.field[__i]); switch (__which) { case money_base::symbol: if (__io.flags() & ios_base::showbase || __sign_size > 1 || __i == 0 || (__i == 1 && (__mandatory_sign || (static_cast(__p.field[0]) == money_base::sign) || (static_cast(__p.field[2]) == money_base::space))) || (__i == 2 && ((static_cast(__p.field[3]) == money_base::value) || (__mandatory_sign && (static_cast(__p.field[3]) == money_base::sign))))) { const size_type __len = __lc->_M_curr_symbol_size; size_type __j = 0; for (; __beg != __end && __j < __len && *__beg == __lc->_M_curr_symbol[__j]; ++__beg, (void)++__j); if (__j != __len && (__j || __io.flags() & ios_base::showbase)) __testvalid = false; } break; case money_base::sign: if (__lc->_M_positive_sign_size && __beg != __end && *__beg == __lc->_M_positive_sign[0]) { __sign_size = __lc->_M_positive_sign_size; ++__beg; } else if (__lc->_M_negative_sign_size && __beg != __end && *__beg == __lc->_M_negative_sign[0]) { __negative = true; __sign_size = __lc->_M_negative_sign_size; ++__beg; } else if (__lc->_M_positive_sign_size && !__lc->_M_negative_sign_size) __negative = true; else if (__mandatory_sign) __testvalid = false; break; case money_base::value: for (; __beg != __end; ++__beg) { const char_type __c = *__beg; const char_type* __q = __traits_type::find(__lit_zero, 10, __c); if (__q != 0) { __res += money_base::_S_atoms[__q - __lit]; ++__n; } else if (__c == __lc->_M_decimal_point && !__testdecfound) { if (__lc->_M_frac_digits <= 0) break; __last_pos = __n; __n = 0; __testdecfound = true; } else if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep && !__testdecfound) { if (__n) { __grouping_tmp += static_cast(__n); __n = 0; } else { __testvalid = false; break; } } else break; } if (__res.empty()) __testvalid = false; break; case money_base::space: if (__beg != __end && __ctype.is(ctype_base::space, *__beg)) ++__beg; else __testvalid = false; case money_base::none: if (__i != 3) for (; __beg != __end && __ctype.is(ctype_base::space, *__beg); ++__beg); break; } } if (__sign_size > 1 && __testvalid) { const char_type* __sign = __negative ? __lc->_M_negative_sign : __lc->_M_positive_sign; size_type __i = 1; for (; __beg != __end && __i < __sign_size && *__beg == __sign[__i]; ++__beg, (void)++__i); if (__i != __sign_size) __testvalid = false; } if (__testvalid) { if (__res.size() > 1) { const size_type __first = __res.find_first_not_of('0'); const bool __only_zeros = __first == string::npos; if (__first) __res.erase(0, __only_zeros ? __res.size() - 1 : __first); } if (__negative && __res[0] != '0') __res.insert(__res.begin(), '-'); if (__grouping_tmp.size()) { __grouping_tmp += static_cast(__testdecfound ? __last_pos : __n); if (!std::__verify_grouping(__lc->_M_grouping, __lc->_M_grouping_size, __grouping_tmp)) __err |= ios_base::failbit; } if (__testdecfound && __n != __lc->_M_frac_digits) __testvalid = false; } if (!__testvalid) __err |= ios_base::failbit; else __units.swap(__res); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } # 368 "/usr/include/c++/10/bits/locale_facets_nonio.tcc" 3 template _InIter money_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, long double& __units) const { string __str; __beg = __intl ? _M_extract(__beg, __end, __io, __err, __str) : _M_extract(__beg, __end, __io, __err, __str); std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale()); return __beg; } template _InIter money_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, string_type& __digits) const { typedef typename string::size_type size_type; const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); string __str; __beg = __intl ? _M_extract(__beg, __end, __io, __err, __str) : _M_extract(__beg, __end, __io, __err, __str); const size_type __len = __str.size(); if (__len) { __digits.resize(__len); __ctype.widen(__str.data(), __str.data() + __len, &__digits[0]); } return __beg; } template template _OutIter money_put<_CharT, _OutIter>:: _M_insert(iter_type __s, ios_base& __io, char_type __fill, const string_type& __digits) const { typedef typename string_type::size_type size_type; typedef money_base::part part; typedef __moneypunct_cache<_CharT, _Intl> __cache_type; const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); __use_cache<__cache_type> __uc; const __cache_type* __lc = __uc(__loc); const char_type* __lit = __lc->_M_atoms; const char_type* __beg = __digits.data(); money_base::pattern __p; const char_type* __sign; size_type __sign_size; if (!(*__beg == __lit[money_base::_S_minus])) { __p = __lc->_M_pos_format; __sign = __lc->_M_positive_sign; __sign_size = __lc->_M_positive_sign_size; } else { __p = __lc->_M_neg_format; __sign = __lc->_M_negative_sign; __sign_size = __lc->_M_negative_sign_size; if (__digits.size()) ++__beg; } size_type __len = __ctype.scan_not(ctype_base::digit, __beg, __beg + __digits.size()) - __beg; if (__len) { string_type __value; __value.reserve(2 * __len); long __paddec = __len - __lc->_M_frac_digits; if (__paddec > 0) { if (__lc->_M_frac_digits < 0) __paddec = __len; if (__lc->_M_grouping_size) { __value.assign(2 * __paddec, char_type()); _CharT* __vend = std::__add_grouping(&__value[0], __lc->_M_thousands_sep, __lc->_M_grouping, __lc->_M_grouping_size, __beg, __beg + __paddec); __value.erase(__vend - &__value[0]); } else __value.assign(__beg, __paddec); } if (__lc->_M_frac_digits > 0) { __value += __lc->_M_decimal_point; if (__paddec >= 0) __value.append(__beg + __paddec, __lc->_M_frac_digits); else { __value.append(-__paddec, __lit[money_base::_S_zero]); __value.append(__beg, __len); } } const ios_base::fmtflags __f = __io.flags() & ios_base::adjustfield; __len = __value.size() + __sign_size; __len += ((__io.flags() & ios_base::showbase) ? __lc->_M_curr_symbol_size : 0); string_type __res; __res.reserve(2 * __len); const size_type __width = static_cast(__io.width()); const bool __testipad = (__f == ios_base::internal && __len < __width); for (int __i = 0; __i < 4; ++__i) { const part __which = static_cast(__p.field[__i]); switch (__which) { case money_base::symbol: if (__io.flags() & ios_base::showbase) __res.append(__lc->_M_curr_symbol, __lc->_M_curr_symbol_size); break; case money_base::sign: if (__sign_size) __res += __sign[0]; break; case money_base::value: __res += __value; break; case money_base::space: if (__testipad) __res.append(__width - __len, __fill); else __res += __fill; break; case money_base::none: if (__testipad) __res.append(__width - __len, __fill); break; } } if (__sign_size > 1) __res.append(__sign + 1, __sign_size - 1); __len = __res.size(); if (__width > __len) { if (__f == ios_base::left) __res.append(__width - __len, __fill); else __res.insert(0, __width - __len, __fill); __len = __width; } __s = std::__write(__s, __res.data(), __len); } __io.width(0); return __s; } # 574 "/usr/include/c++/10/bits/locale_facets_nonio.tcc" 3 template _OutIter money_put<_CharT, _OutIter>:: do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, long double __units) const { const locale __loc = __io.getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); int __cs_size = 64; char* __cs = static_cast(__builtin_alloca(__cs_size)); int __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, "%.*Lf", 0, __units); if (__len >= __cs_size) { __cs_size = __len + 1; __cs = static_cast(__builtin_alloca(__cs_size)); __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, "%.*Lf", 0, __units); } # 606 "/usr/include/c++/10/bits/locale_facets_nonio.tcc" 3 string_type __digits(__len, char_type()); __ctype.widen(__cs, __cs + __len, &__digits[0]); return __intl ? _M_insert(__s, __io, __fill, __digits) : _M_insert(__s, __io, __fill, __digits); } template _OutIter money_put<_CharT, _OutIter>:: do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill, const string_type& __digits) const { return __intl ? _M_insert(__s, __io, __fill, __digits) : _M_insert(__s, __io, __fill, __digits); } } template time_base::dateorder time_get<_CharT, _InIter>::do_date_order() const { return time_base::no_order; } template _InIter time_get<_CharT, _InIter>:: _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm, const _CharT* __format) const { const locale& __loc = __io._M_getloc(); const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); const ctype<_CharT>& __ctype = use_facet >(__loc); const size_t __len = char_traits<_CharT>::length(__format); ios_base::iostate __tmperr = ios_base::goodbit; size_t __i = 0; for (; __beg != __end && __i < __len && !__tmperr; ++__i) { if (__ctype.narrow(__format[__i], 0) == '%') { char __c = __ctype.narrow(__format[++__i], 0); int __mem = 0; if (__c == 'E' || __c == 'O') __c = __ctype.narrow(__format[++__i], 0); switch (__c) { const char* __cs; _CharT __wcs[10]; case 'a': const char_type* __days1[7]; __tp._M_days_abbreviated(__days1); __beg = _M_extract_name(__beg, __end, __mem, __days1, 7, __io, __tmperr); if (!__tmperr) __tm->tm_wday = __mem; break; case 'A': const char_type* __days2[7]; __tp._M_days(__days2); __beg = _M_extract_name(__beg, __end, __mem, __days2, 7, __io, __tmperr); if (!__tmperr) __tm->tm_wday = __mem; break; case 'h': case 'b': const char_type* __months1[12]; __tp._M_months_abbreviated(__months1); __beg = _M_extract_name(__beg, __end, __mem, __months1, 12, __io, __tmperr); if (!__tmperr) __tm->tm_mon = __mem; break; case 'B': const char_type* __months2[12]; __tp._M_months(__months2); __beg = _M_extract_name(__beg, __end, __mem, __months2, 12, __io, __tmperr); if (!__tmperr) __tm->tm_mon = __mem; break; case 'c': const char_type* __dt[2]; __tp._M_date_time_formats(__dt); __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, __tm, __dt[0]); break; case 'd': __beg = _M_extract_num(__beg, __end, __mem, 1, 31, 2, __io, __tmperr); if (!__tmperr) __tm->tm_mday = __mem; break; case 'e': if (__ctype.is(ctype_base::space, *__beg)) __beg = _M_extract_num(++__beg, __end, __mem, 1, 9, 1, __io, __tmperr); else __beg = _M_extract_num(__beg, __end, __mem, 10, 31, 2, __io, __tmperr); if (!__tmperr) __tm->tm_mday = __mem; break; case 'D': __cs = "%m/%d/%y"; __ctype.widen(__cs, __cs + 9, __wcs); __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, __tm, __wcs); break; case 'H': __beg = _M_extract_num(__beg, __end, __mem, 0, 23, 2, __io, __tmperr); if (!__tmperr) __tm->tm_hour = __mem; break; case 'I': __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2, __io, __tmperr); if (!__tmperr) __tm->tm_hour = __mem; break; case 'm': __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2, __io, __tmperr); if (!__tmperr) __tm->tm_mon = __mem - 1; break; case 'M': __beg = _M_extract_num(__beg, __end, __mem, 0, 59, 2, __io, __tmperr); if (!__tmperr) __tm->tm_min = __mem; break; case 'n': if (__ctype.narrow(*__beg, 0) == '\n') ++__beg; else __tmperr |= ios_base::failbit; break; case 'R': __cs = "%H:%M"; __ctype.widen(__cs, __cs + 6, __wcs); __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, __tm, __wcs); break; case 'S': __beg = _M_extract_num(__beg, __end, __mem, 0, 60, 2, __io, __tmperr); if (!__tmperr) __tm->tm_sec = __mem; break; case 't': if (__ctype.narrow(*__beg, 0) == '\t') ++__beg; else __tmperr |= ios_base::failbit; break; case 'T': __cs = "%H:%M:%S"; __ctype.widen(__cs, __cs + 9, __wcs); __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, __tm, __wcs); break; case 'x': const char_type* __dates[2]; __tp._M_date_formats(__dates); __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, __tm, __dates[0]); break; case 'X': const char_type* __times[2]; __tp._M_time_formats(__times); __beg = _M_extract_via_format(__beg, __end, __io, __tmperr, __tm, __times[0]); break; case 'y': case 'C': case 'Y': __beg = _M_extract_num(__beg, __end, __mem, 0, 9999, 4, __io, __tmperr); if (!__tmperr) __tm->tm_year = __mem < 0 ? __mem + 100 : __mem - 1900; break; case 'Z': if (__ctype.is(ctype_base::upper, *__beg)) { int __tmp; __beg = _M_extract_name(__beg, __end, __tmp, __timepunct_cache<_CharT>::_S_timezones, 14, __io, __tmperr); if (__beg != __end && !__tmperr && __tmp == 0 && (*__beg == __ctype.widen('-') || *__beg == __ctype.widen('+'))) { __beg = _M_extract_num(__beg, __end, __tmp, 0, 23, 2, __io, __tmperr); __beg = _M_extract_num(__beg, __end, __tmp, 0, 59, 2, __io, __tmperr); } } else __tmperr |= ios_base::failbit; break; default: __tmperr |= ios_base::failbit; } } else { if (__format[__i] == *__beg) ++__beg; else __tmperr |= ios_base::failbit; } } if (__tmperr || __i != __len) __err |= ios_base::failbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: _M_extract_num(iter_type __beg, iter_type __end, int& __member, int __min, int __max, size_t __len, ios_base& __io, ios_base::iostate& __err) const { const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); int __mult = __len == 2 ? 10 : (__len == 4 ? 1000 : 1); ++__min; size_t __i = 0; int __value = 0; for (; __beg != __end && __i < __len; ++__beg, (void)++__i) { const char __c = __ctype.narrow(*__beg, '*'); if (__c >= '0' && __c <= '9') { __value = __value * 10 + (__c - '0'); const int __valuec = __value * __mult; if (__valuec > __max || __valuec + __mult < __min) break; __mult /= 10; } else break; } if (__i == __len) __member = __value; else if (__len == 4 && __i == 2) __member = __value - 100; else __err |= ios_base::failbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: _M_extract_name(iter_type __beg, iter_type __end, int& __member, const _CharT** __names, size_t __indexlen, ios_base& __io, ios_base::iostate& __err) const { typedef char_traits<_CharT> __traits_type; const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); int* __matches = static_cast(__builtin_alloca(sizeof(int) * __indexlen)); size_t __nmatches = 0; size_t __pos = 0; bool __testvalid = true; const char_type* __name; if (__beg != __end) { const char_type __c = *__beg; for (size_t __i1 = 0; __i1 < __indexlen; ++__i1) if (__c == __names[__i1][0] || __c == __ctype.toupper(__names[__i1][0])) __matches[__nmatches++] = __i1; } while (__nmatches > 1) { size_t __minlen = __traits_type::length(__names[__matches[0]]); for (size_t __i2 = 1; __i2 < __nmatches; ++__i2) __minlen = std::min(__minlen, __traits_type::length(__names[__matches[__i2]])); ++__beg; ++__pos; if (__pos < __minlen && __beg != __end) for (size_t __i3 = 0; __i3 < __nmatches;) { __name = __names[__matches[__i3]]; if (!(__name[__pos] == *__beg)) __matches[__i3] = __matches[--__nmatches]; else ++__i3; } else break; } if (__nmatches == 1) { ++__beg; ++__pos; __name = __names[__matches[0]]; const size_t __len = __traits_type::length(__name); while (__pos < __len && __beg != __end && __name[__pos] == *__beg) ++__beg, (void)++__pos; if (__len == __pos) __member = __matches[0]; else __testvalid = false; } else __testvalid = false; if (!__testvalid) __err |= ios_base::failbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member, const _CharT** __names, size_t __indexlen, ios_base& __io, ios_base::iostate& __err) const { typedef char_traits<_CharT> __traits_type; const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); int* __matches = static_cast(__builtin_alloca(2 * sizeof(int) * __indexlen)); size_t __nmatches = 0; size_t* __matches_lengths = 0; size_t __pos = 0; if (__beg != __end) { const char_type __c = *__beg; for (size_t __i = 0; __i < 2 * __indexlen; ++__i) if (__c == __names[__i][0] || __c == __ctype.toupper(__names[__i][0])) __matches[__nmatches++] = __i; } if (__nmatches) { ++__beg; ++__pos; __matches_lengths = static_cast(__builtin_alloca(sizeof(size_t) * __nmatches)); for (size_t __i = 0; __i < __nmatches; ++__i) __matches_lengths[__i] = __traits_type::length(__names[__matches[__i]]); } for (; __beg != __end; ++__beg, (void)++__pos) { size_t __nskipped = 0; const char_type __c = *__beg; for (size_t __i = 0; __i < __nmatches;) { const char_type* __name = __names[__matches[__i]]; if (__pos >= __matches_lengths[__i]) ++__nskipped, ++__i; else if (!(__name[__pos] == __c)) { --__nmatches; __matches[__i] = __matches[__nmatches]; __matches_lengths[__i] = __matches_lengths[__nmatches]; } else ++__i; } if (__nskipped == __nmatches) break; } if ((__nmatches == 1 && __matches_lengths[0] == __pos) || (__nmatches == 2 && (__matches_lengths[0] == __pos || __matches_lengths[1] == __pos))) __member = (__matches[0] >= __indexlen ? __matches[0] - __indexlen : __matches[0]); else __err |= ios_base::failbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: do_get_time(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { const locale& __loc = __io._M_getloc(); const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); const char_type* __times[2]; __tp._M_time_formats(__times); __beg = _M_extract_via_format(__beg, __end, __io, __err, __tm, __times[0]); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: do_get_date(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { const locale& __loc = __io._M_getloc(); const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); const char_type* __dates[2]; __tp._M_date_formats(__dates); __beg = _M_extract_via_format(__beg, __end, __io, __err, __tm, __dates[0]); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: do_get_weekday(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { const locale& __loc = __io._M_getloc(); const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); const char_type* __days[14]; __tp._M_days_abbreviated(__days); __tp._M_days(__days + 7); int __tmpwday; ios_base::iostate __tmperr = ios_base::goodbit; __beg = _M_extract_wday_or_month(__beg, __end, __tmpwday, __days, 7, __io, __tmperr); if (!__tmperr) __tm->tm_wday = __tmpwday; else __err |= ios_base::failbit; if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: do_get_monthname(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { const locale& __loc = __io._M_getloc(); const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc); const char_type* __months[24]; __tp._M_months_abbreviated(__months); __tp._M_months(__months + 12); int __tmpmon; ios_base::iostate __tmperr = ios_base::goodbit; __beg = _M_extract_wday_or_month(__beg, __end, __tmpmon, __months, 12, __io, __tmperr); if (!__tmperr) __tm->tm_mon = __tmpmon; else __err |= ios_base::failbit; if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter time_get<_CharT, _InIter>:: do_get_year(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm) const { int __tmpyear; ios_base::iostate __tmperr = ios_base::goodbit; __beg = _M_extract_num(__beg, __end, __tmpyear, 0, 9999, 4, __io, __tmperr); if (!__tmperr) __tm->tm_year = __tmpyear < 0 ? __tmpyear + 100 : __tmpyear - 1900; else __err |= ios_base::failbit; if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template inline _InIter time_get<_CharT, _InIter>:: get(iter_type __s, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm, const char_type* __fmt, const char_type* __fmtend) const { const locale& __loc = __io._M_getloc(); ctype<_CharT> const& __ctype = use_facet >(__loc); __err = ios_base::goodbit; while (__fmt != __fmtend && __err == ios_base::goodbit) { if (__s == __end) { __err = ios_base::eofbit | ios_base::failbit; break; } else if (__ctype.narrow(*__fmt, 0) == '%') { char __format; char __mod = 0; if (++__fmt == __fmtend) { __err = ios_base::failbit; break; } const char __c = __ctype.narrow(*__fmt, 0); if (__c != 'E' && __c != 'O') __format = __c; else if (++__fmt != __fmtend) { __mod = __c; __format = __ctype.narrow(*__fmt, 0); } else { __err = ios_base::failbit; break; } __s = this->do_get(__s, __end, __io, __err, __tm, __format, __mod); ++__fmt; } else if (__ctype.is(ctype_base::space, *__fmt)) { ++__fmt; while (__fmt != __fmtend && __ctype.is(ctype_base::space, *__fmt)) ++__fmt; while (__s != __end && __ctype.is(ctype_base::space, *__s)) ++__s; } else if (__ctype.tolower(*__s) == __ctype.tolower(*__fmt) || __ctype.toupper(*__s) == __ctype.toupper(*__fmt)) { ++__s; ++__fmt; } else { __err = ios_base::failbit; break; } } return __s; } template inline _InIter time_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, tm* __tm, char __format, char __mod) const { const locale& __loc = __io._M_getloc(); ctype<_CharT> const& __ctype = use_facet >(__loc); __err = ios_base::goodbit; char_type __fmt[4]; __fmt[0] = __ctype.widen('%'); if (!__mod) { __fmt[1] = __format; __fmt[2] = char_type(); } else { __fmt[1] = __mod; __fmt[2] = __format; __fmt[3] = char_type(); } __beg = _M_extract_via_format(__beg, __end, __io, __err, __tm, __fmt); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _OutIter time_put<_CharT, _OutIter>:: put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm, const _CharT* __beg, const _CharT* __end) const { const locale& __loc = __io._M_getloc(); ctype<_CharT> const& __ctype = use_facet >(__loc); for (; __beg != __end; ++__beg) if (__ctype.narrow(*__beg, 0) != '%') { *__s = *__beg; ++__s; } else if (++__beg != __end) { char __format; char __mod = 0; const char __c = __ctype.narrow(*__beg, 0); if (__c != 'E' && __c != 'O') __format = __c; else if (++__beg != __end) { __mod = __c; __format = __ctype.narrow(*__beg, 0); } else break; __s = this->do_put(__s, __io, __fill, __tm, __format, __mod); } else break; return __s; } template _OutIter time_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type, const tm* __tm, char __format, char __mod) const { const locale& __loc = __io._M_getloc(); ctype<_CharT> const& __ctype = use_facet >(__loc); __timepunct<_CharT> const& __tp = use_facet<__timepunct<_CharT> >(__loc); const size_t __maxlen = 128; char_type __res[__maxlen]; char_type __fmt[4]; __fmt[0] = __ctype.widen('%'); if (!__mod) { __fmt[1] = __format; __fmt[2] = char_type(); } else { __fmt[1] = __mod; __fmt[2] = __format; __fmt[3] = char_type(); } __tp._M_put(__res, __maxlen, __fmt, __tm); return std::__write(__s, __res, char_traits::length(__res)); } extern template class moneypunct; extern template class moneypunct; extern template class moneypunct_byname; extern template class moneypunct_byname; extern template class __cxx11:: money_get; extern template class __cxx11:: money_put; extern template class __timepunct; extern template class time_put; extern template class time_put_byname; extern template class time_get; extern template class time_get_byname; extern template class messages; extern template class messages_byname; extern template const moneypunct& use_facet >(const locale&); extern template const moneypunct& use_facet >(const locale&); extern template const money_put& use_facet >(const locale&); extern template const money_get& use_facet >(const locale&); extern template const __timepunct& use_facet<__timepunct >(const locale&); extern template const time_put& use_facet >(const locale&); extern template const time_get& use_facet >(const locale&); extern template const messages& 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<__timepunct >(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 moneypunct; extern template class moneypunct; extern template class moneypunct_byname; extern template class moneypunct_byname; extern template class __cxx11:: money_get; extern template class __cxx11:: money_put; extern template class __timepunct; extern template class time_put; extern template class time_put_byname; extern template class time_get; extern template class time_get_byname; extern template class messages; extern template class messages_byname; extern template const moneypunct& use_facet >(const locale&); extern template const moneypunct& use_facet >(const locale&); extern template const money_put& use_facet >(const locale&); extern template const money_get& use_facet >(const locale&); extern template const __timepunct& use_facet<__timepunct >(const locale&); extern template const time_put& use_facet >(const locale&); extern template const time_get& use_facet >(const locale&); extern template const messages& 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<__timepunct >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); extern template bool has_facet >(const locale&); } # 2016 "/usr/include/c++/10/bits/locale_facets_nonio.h" 2 3 # 42 "/usr/include/c++/10/locale" 2 3 # 1 "/usr/include/c++/10/bits/locale_conv.h" 1 3 # 41 "/usr/include/c++/10/bits/locale_conv.h" 3 # 1 "/usr/include/c++/10/bits/unique_ptr.h" 1 3 # 37 "/usr/include/c++/10/bits/unique_ptr.h" 3 # 1 "/usr/include/c++/10/tuple" 1 3 # 32 "/usr/include/c++/10/tuple" 3 # 33 "/usr/include/c++/10/tuple" 3 # 1 "/usr/include/c++/10/array" 1 3 # 32 "/usr/include/c++/10/array" 3 # 33 "/usr/include/c++/10/array" 3 # 43 "/usr/include/c++/10/array" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __array_traits { typedef _Tp _Type[_Nm]; typedef __is_swappable<_Tp> _Is_swappable; typedef __is_nothrow_swappable<_Tp> _Is_nothrow_swappable; static constexpr _Tp& _S_ref(const _Type& __t, std::size_t __n) noexcept { return const_cast<_Tp&>(__t[__n]); } static constexpr _Tp* _S_ptr(const _Type& __t) noexcept { return const_cast<_Tp*>(__t); } }; template struct __array_traits<_Tp, 0> { struct _Type { }; typedef true_type _Is_swappable; typedef true_type _Is_nothrow_swappable; static constexpr _Tp& _S_ref(const _Type&, std::size_t) noexcept { return *static_cast<_Tp*>(nullptr); } static constexpr _Tp* _S_ptr(const _Type&) noexcept { return nullptr; } }; # 93 "/usr/include/c++/10/array" 3 template struct array { typedef _Tp value_type; typedef value_type* pointer; typedef const value_type* const_pointer; typedef value_type& reference; typedef const value_type& const_reference; typedef value_type* iterator; typedef const value_type* const_iterator; typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; typedef std::reverse_iterator reverse_iterator; typedef std::reverse_iterator const_reverse_iterator; typedef std::__array_traits<_Tp, _Nm> _AT_Type; typename _AT_Type::_Type _M_elems; void fill(const value_type& __u) { std::fill_n(begin(), size(), __u); } void swap(array& __other) noexcept(_AT_Type::_Is_nothrow_swappable::value) { std::swap_ranges(begin(), end(), __other.begin()); } iterator begin() noexcept { return iterator(data()); } const_iterator begin() const noexcept { return const_iterator(data()); } iterator end() noexcept { return iterator(data() + _Nm); } const_iterator end() const noexcept { return const_iterator(data() + _Nm); } 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(data()); } const_iterator cend() const noexcept { return const_iterator(data() + _Nm); } const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } constexpr size_type size() const noexcept { return _Nm; } constexpr size_type max_size() const noexcept { return _Nm; } constexpr bool empty() const noexcept { return size() == 0; } reference operator[](size_type __n) noexcept { return _AT_Type::_S_ref(_M_elems, __n); } constexpr const_reference operator[](size_type __n) const noexcept { return _AT_Type::_S_ref(_M_elems, __n); } reference at(size_type __n) { if (__n >= _Nm) std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)") , __n, _Nm); return _AT_Type::_S_ref(_M_elems, __n); } constexpr const_reference at(size_type __n) const { return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n) : (std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)") , __n, _Nm), _AT_Type::_S_ref(_M_elems, 0)); } reference front() noexcept { return *begin(); } constexpr const_reference front() const noexcept { return _AT_Type::_S_ref(_M_elems, 0); } reference back() noexcept { return _Nm ? *(end() - 1) : *end(); } constexpr const_reference back() const noexcept { return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1) : _AT_Type::_S_ref(_M_elems, 0); } pointer data() noexcept { return _AT_Type::_S_ptr(_M_elems); } const_pointer data() const noexcept { return _AT_Type::_S_ptr(_M_elems); } }; # 250 "/usr/include/c++/10/array" 3 template inline bool operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) { return std::equal(__one.begin(), __one.end(), __two.begin()); } # 275 "/usr/include/c++/10/array" 3 template inline bool operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) { return !(__one == __two); } template inline bool operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b) { return std::lexicographical_compare(__a.begin(), __a.end(), __b.begin(), __b.end()); } template inline bool operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) { return __two < __one; } template inline bool operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) { return !(__one > __two); } template inline bool operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) { return !(__one < __two); } template inline typename enable_if< std::__array_traits<_Tp, _Nm>::_Is_swappable::value >::type swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two) noexcept(noexcept(__one.swap(__two))) { __one.swap(__two); } template typename enable_if< !std::__array_traits<_Tp, _Nm>::_Is_swappable::value>::type swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete; template constexpr _Tp& get(array<_Tp, _Nm>& __arr) noexcept { static_assert(_Int < _Nm, "array index is within bounds"); return std::__array_traits<_Tp, _Nm>:: _S_ref(__arr._M_elems, _Int); } template constexpr _Tp&& get(array<_Tp, _Nm>&& __arr) noexcept { static_assert(_Int < _Nm, "array index is within bounds"); return std::move(std::get<_Int>(__arr)); } template constexpr const _Tp& get(const array<_Tp, _Nm>& __arr) noexcept { static_assert(_Int < _Nm, "array index is within bounds"); return std::__array_traits<_Tp, _Nm>:: _S_ref(__arr._M_elems, _Int); } template constexpr const _Tp&& get(const array<_Tp, _Nm>&& __arr) noexcept { static_assert(_Int < _Nm, "array index is within bounds"); return std::move(std::get<_Int>(__arr)); } # 404 "/usr/include/c++/10/array" 3 } namespace std __attribute__ ((__visibility__ ("default"))) { template struct tuple_size; template struct tuple_size> : public integral_constant { }; template struct tuple_element; template struct tuple_element<_Int, std::array<_Tp, _Nm>> { static_assert(_Int < _Nm, "index is out of bounds"); typedef _Tp type; }; template struct __is_tuple_like_impl> : true_type { }; } # 40 "/usr/include/c++/10/tuple" 2 3 # 1 "/usr/include/c++/10/bits/uses_allocator.h" 1 3 # 35 "/usr/include/c++/10/bits/uses_allocator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { struct __erased_type { }; template using __is_erased_or_convertible = __or_, is_same<_Tp, __erased_type>>; struct allocator_arg_t { explicit allocator_arg_t() = default; }; 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_erased_or_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, const _Alloc&, _Args...>::value, __uses_alloc1<_Alloc>, __uses_alloc2<_Alloc>>::type { static_assert(__or_< is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>, is_constructible<_Tp, _Args..., const _Alloc&>>::value, "construction with an allocator must be possible" " if uses_allocator is true"); }; 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 = std::__addressof(__a); return __ret; } template void __use_alloc(const _Alloc&&) = delete; template class _Predicate, typename _Tp, typename _Alloc, typename... _Args> struct __is_uses_allocator_predicate : conditional::value, __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>, _Predicate<_Tp, _Args..., _Alloc>>, _Predicate<_Tp, _Args...>>::type { }; template struct __is_uses_allocator_constructible : __is_uses_allocator_predicate { }; template constexpr bool __is_uses_allocator_constructible_v = __is_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; template struct __is_nothrow_uses_allocator_constructible : __is_uses_allocator_predicate { }; template constexpr bool __is_nothrow_uses_allocator_constructible_v = __is_nothrow_uses_allocator_constructible<_Tp, _Alloc, _Args...>::value; template void __uses_allocator_construct_impl(__uses_alloc0 __a, _Tp* __ptr, _Args&&... __args) { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); } template void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr, _Args&&... __args) { ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a, std::forward<_Args>(__args)...); } template void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr, _Args&&... __args) { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); } template void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr, _Args&&... __args) { std::__uses_allocator_construct_impl( std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr, std::forward<_Args>(__args)...); } } # 41 "/usr/include/c++/10/tuple" 2 3 # 1 "/usr/include/c++/10/bits/invoke.h" 1 3 # 33 "/usr/include/c++/10/bits/invoke.h" 3 # 34 "/usr/include/c++/10/bits/invoke.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 52 "/usr/include/c++/10/bits/invoke.h" 3 template::type> constexpr _Up&& __invfwd(typename remove_reference<_Tp>::type& __t) noexcept { return static_cast<_Up&&>(__t); } template constexpr _Res __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args) { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); } template constexpr _Res __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t, _Args&&... __args) { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); } template constexpr _Res __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t, _Args&&... __args) { return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...); } template constexpr _Res __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t) { return __invfwd<_Tp>(__t).*__f; } template constexpr _Res __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t) { return (*std::forward<_Tp>(__t)).*__f; } template constexpr typename __invoke_result<_Callable, _Args...>::type __invoke(_Callable&& __fn, _Args&&... __args) noexcept(__is_nothrow_invocable<_Callable, _Args...>::value) { using __result = __invoke_result<_Callable, _Args...>; using __type = typename __result::type; using __tag = typename __result::__invoke_type; return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), std::forward<_Args>(__args)...); } # 118 "/usr/include/c++/10/bits/invoke.h" 3 template using __can_invoke_as_void = __enable_if_t< __and_, __is_invocable<_Callable, _Args...>>::value, _Res >; template using __can_invoke_as_nonvoid = __enable_if_t< __and_<__not_>, is_convertible::type, _Res> >::value, _Res >; template constexpr __can_invoke_as_nonvoid<_Res, _Callable, _Args...> __invoke_r(_Callable&& __fn, _Args&&... __args) { using __result = __invoke_result<_Callable, _Args...>; using __type = typename __result::type; using __tag = typename __result::__invoke_type; return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), std::forward<_Args>(__args)...); } template constexpr __can_invoke_as_void<_Res, _Callable, _Args...> __invoke_r(_Callable&& __fn, _Args&&... __args) { using __result = __invoke_result<_Callable, _Args...>; using __type = typename __result::type; using __tag = typename __result::__invoke_type; std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), std::forward<_Args>(__args)...); } } # 42 "/usr/include/c++/10/tuple" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class tuple; template struct __is_empty_non_tuple : is_empty<_Tp> { }; template struct __is_empty_non_tuple> : false_type { }; template using __empty_not_final = typename conditional<__is_final(_Tp), false_type, __is_empty_non_tuple<_Tp>>::type; template::value> struct _Head_base; template struct _Head_base<_Idx, _Head, true> : public _Head { constexpr _Head_base() : _Head() { } constexpr _Head_base(const _Head& __h) : _Head(__h) { } constexpr _Head_base(const _Head_base&) = default; constexpr _Head_base(_Head_base&&) = default; template constexpr _Head_base(_UHead&& __h) : _Head(std::forward<_UHead>(__h)) { } _Head_base(allocator_arg_t, __uses_alloc0) : _Head() { } template _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) : _Head(allocator_arg, *__a._M_a) { } template _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) : _Head(*__a._M_a) { } template _Head_base(__uses_alloc0, _UHead&& __uhead) : _Head(std::forward<_UHead>(__uhead)) { } template _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) : _Head(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) { } template _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) : _Head(std::forward<_UHead>(__uhead), *__a._M_a) { } static constexpr _Head& _M_head(_Head_base& __b) noexcept { return __b; } static constexpr const _Head& _M_head(const _Head_base& __b) noexcept { return __b; } }; template struct _Head_base<_Idx, _Head, false> { constexpr _Head_base() : _M_head_impl() { } constexpr _Head_base(const _Head& __h) : _M_head_impl(__h) { } constexpr _Head_base(const _Head_base&) = default; constexpr _Head_base(_Head_base&&) = default; template constexpr _Head_base(_UHead&& __h) : _M_head_impl(std::forward<_UHead>(__h)) { } _Head_base(allocator_arg_t, __uses_alloc0) : _M_head_impl() { } template _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) : _M_head_impl(allocator_arg, *__a._M_a) { } template _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) : _M_head_impl(*__a._M_a) { } template _Head_base(__uses_alloc0, _UHead&& __uhead) : _M_head_impl(std::forward<_UHead>(__uhead)) { } template _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) { } template _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } static constexpr _Head& _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } static constexpr const _Head& _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } _Head _M_head_impl; }; # 178 "/usr/include/c++/10/tuple" 3 template struct _Tuple_impl; template struct _Tuple_impl<_Idx, _Head, _Tail...> : public _Tuple_impl<_Idx + 1, _Tail...>, private _Head_base<_Idx, _Head> { template friend class _Tuple_impl; typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited; typedef _Head_base<_Idx, _Head> _Base; static constexpr _Head& _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } static constexpr const _Head& _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } static constexpr _Inherited& _M_tail(_Tuple_impl& __t) noexcept { return __t; } static constexpr const _Inherited& _M_tail(const _Tuple_impl& __t) noexcept { return __t; } constexpr _Tuple_impl() : _Inherited(), _Base() { } explicit constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail) : _Inherited(__tail...), _Base(__head) { } template::type> explicit constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail) : _Inherited(std::forward<_UTail>(__tail)...), _Base(std::forward<_UHead>(__head)) { } constexpr _Tuple_impl(const _Tuple_impl&) = default; _Tuple_impl& operator=(const _Tuple_impl&) = delete; constexpr _Tuple_impl(_Tuple_impl&& __in) noexcept(__and_, is_nothrow_move_constructible<_Inherited>>::value) : _Inherited(std::move(_M_tail(__in))), _Base(std::forward<_Head>(_M_head(__in))) { } template constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in) : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { } template constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) : _Inherited(std::move (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), _Base(std::forward<_UHead> (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) : _Inherited(__tag, __a), _Base(__tag, __use_alloc<_Head>(__a)) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, const _Head& __head, const _Tail&... __tail) : _Inherited(__tag, __a, __tail...), _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { } template::type> _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, _UHead&& __head, _UTail&&... __tail) : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...), _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), std::forward<_UHead>(__head)) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, const _Tuple_impl& __in) : _Inherited(__tag, __a, _M_tail(__in)), _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, _Tuple_impl&& __in) : _Inherited(__tag, __a, std::move(_M_tail(__in))), _Base(__use_alloc<_Head, _Alloc, _Head>(__a), std::forward<_Head>(_M_head(__in))) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, const _Tuple_impl<_Idx, _UElements...>& __in) : _Inherited(__tag, __a, _Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, _Tuple_impl<_Idx, _UHead, _UTails...>&& __in) : _Inherited(__tag, __a, std::move (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), std::forward<_UHead> (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { } template void _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in) { _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in); _M_tail(*this)._M_assign( _Tuple_impl<_Idx, _UElements...>::_M_tail(__in)); } template void _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) { _M_head(*this) = std::forward<_UHead> (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)); _M_tail(*this)._M_assign( std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))); } protected: void _M_swap(_Tuple_impl& __in) { using std::swap; swap(_M_head(*this), _M_head(__in)); _Inherited::_M_swap(_M_tail(__in)); } }; template struct _Tuple_impl<_Idx, _Head> : private _Head_base<_Idx, _Head> { template friend class _Tuple_impl; typedef _Head_base<_Idx, _Head> _Base; static constexpr _Head& _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } static constexpr const _Head& _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } constexpr _Tuple_impl() : _Base() { } explicit constexpr _Tuple_impl(const _Head& __head) : _Base(__head) { } template explicit constexpr _Tuple_impl(_UHead&& __head) : _Base(std::forward<_UHead>(__head)) { } constexpr _Tuple_impl(const _Tuple_impl&) = default; _Tuple_impl& operator=(const _Tuple_impl&) = delete; constexpr _Tuple_impl(_Tuple_impl&& __in) noexcept(is_nothrow_move_constructible<_Head>::value) : _Base(std::forward<_Head>(_M_head(__in))) { } template constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in) : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in)) { } template constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in) : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) : _Base(__tag, __use_alloc<_Head>(__a)) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, const _Head& __head) : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, _UHead&& __head) : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), std::forward<_UHead>(__head)) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, const _Tuple_impl& __in) : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, _Tuple_impl&& __in) : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), std::forward<_Head>(_M_head(__in))) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, const _Tuple_impl<_Idx, _UHead>& __in) : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _Tuple_impl<_Idx, _UHead>::_M_head(__in)) { } template _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, _Tuple_impl<_Idx, _UHead>&& __in) : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) { } template void _M_assign(const _Tuple_impl<_Idx, _UHead>& __in) { _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in); } template void _M_assign(_Tuple_impl<_Idx, _UHead>&& __in) { _M_head(*this) = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)); } protected: void _M_swap(_Tuple_impl& __in) { using std::swap; swap(_M_head(*this), _M_head(__in)); } }; template struct _TupleConstraints { template static constexpr bool __is_implicitly_constructible() { return __and_..., is_convertible<_UTypes, _Types>... >::value; } template static constexpr bool __is_explicitly_constructible() { return __and_..., __not_<__and_...>> >::value; } static constexpr bool __is_implicitly_default_constructible() { return __and_... >::value; } static constexpr bool __is_explicitly_default_constructible() { return __and_..., __not_<__and_< std::__is_implicitly_default_constructible<_Types>...> >>::value; } }; template struct _TupleConstraints { template static constexpr bool __is_implicitly_constructible() { return false; } template static constexpr bool __is_explicitly_constructible() { return false; } }; template class tuple : public _Tuple_impl<0, _Elements...> { typedef _Tuple_impl<0, _Elements...> _Inherited; template using _TCC = _TupleConstraints<_Cond, _Elements...>; template using _ImplicitDefaultCtor = __enable_if_t< _TCC<_Dummy>::__is_implicitly_default_constructible(), bool>; template using _ExplicitDefaultCtor = __enable_if_t< _TCC<_Dummy>::__is_explicitly_default_constructible(), bool>; template using _ImplicitCtor = __enable_if_t< _TCC<_Cond>::template __is_implicitly_constructible<_Args...>(), bool>; template using _ExplicitCtor = __enable_if_t< _TCC<_Cond>::template __is_explicitly_constructible<_Args...>(), bool>; template static constexpr __enable_if_t __assignable() { return __and_...>::value; } template static constexpr bool __nothrow_assignable() { return __and_...>::value; } template static constexpr bool __nothrow_constructible() { return __and_...>::value; } template static constexpr bool __valid_args() { return sizeof...(_Elements) == 1 && !is_same>::value; } template static constexpr bool __valid_args() { return (sizeof...(_Tail) + 2) == sizeof...(_Elements); } # 587 "/usr/include/c++/10/tuple" 3 template> struct _UseOtherCtor : false_type { }; template struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Up>> : __or_, is_constructible<_Tp, _Tuple>> { }; template struct _UseOtherCtor<_Tuple, tuple<_Tp>, tuple<_Tp>> : true_type { }; template static constexpr bool __use_other_ctor() { return _UseOtherCtor<_Tuple>::value; } public: template::value> = true> constexpr tuple() noexcept(__and_...>::value) : _Inherited() { } template::value> = false> explicit constexpr tuple() noexcept(__and_...>::value) : _Inherited() { } template= 1), _ImplicitCtor<_NotEmpty, const _Elements&...> = true> constexpr tuple(const _Elements&... __elements) noexcept(__nothrow_constructible()) : _Inherited(__elements...) { } template= 1), _ExplicitCtor<_NotEmpty, const _Elements&...> = false> explicit constexpr tuple(const _Elements&... __elements) noexcept(__nothrow_constructible()) : _Inherited(__elements...) { } template(), _ImplicitCtor<_Valid, _UElements...> = true> constexpr tuple(_UElements&&... __elements) noexcept(__nothrow_constructible<_UElements...>()) : _Inherited(std::forward<_UElements>(__elements)...) { } template(), _ExplicitCtor<_Valid, _UElements...> = false> explicit constexpr tuple(_UElements&&... __elements) noexcept(__nothrow_constructible<_UElements...>()) : _Inherited(std::forward<_UElements>(__elements)...) { } constexpr tuple(const tuple&) = default; constexpr tuple(tuple&&) = default; template&>(), _ImplicitCtor<_Valid, const _UElements&...> = true> constexpr tuple(const tuple<_UElements...>& __in) noexcept(__nothrow_constructible()) : _Inherited(static_cast&>(__in)) { } template&>(), _ExplicitCtor<_Valid, const _UElements&...> = false> explicit constexpr tuple(const tuple<_UElements...>& __in) noexcept(__nothrow_constructible()) : _Inherited(static_cast&>(__in)) { } template&&>(), _ImplicitCtor<_Valid, _UElements...> = true> constexpr tuple(tuple<_UElements...>&& __in) noexcept(__nothrow_constructible<_UElements...>()) : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } template&&>(), _ExplicitCtor<_Valid, _UElements...> = false> explicit constexpr tuple(tuple<_UElements...>&& __in) noexcept(__nothrow_constructible<_UElements...>()) : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } template::value> = true> tuple(allocator_arg_t __tag, const _Alloc& __a) : _Inherited(__tag, __a) { } template= 1), _ImplicitCtor<_NotEmpty, const _Elements&...> = true> tuple(allocator_arg_t __tag, const _Alloc& __a, const _Elements&... __elements) : _Inherited(__tag, __a, __elements...) { } template= 1), _ExplicitCtor<_NotEmpty, const _Elements&...> = false> explicit tuple(allocator_arg_t __tag, const _Alloc& __a, const _Elements&... __elements) : _Inherited(__tag, __a, __elements...) { } template(), _ImplicitCtor<_Valid, _UElements...> = true> tuple(allocator_arg_t __tag, const _Alloc& __a, _UElements&&... __elements) : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) { } template(), _ExplicitCtor<_Valid, _UElements...> = false> explicit tuple(allocator_arg_t __tag, const _Alloc& __a, _UElements&&... __elements) : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) { } template tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) : _Inherited(__tag, __a, static_cast(__in)) { } template tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } template&>(), _ImplicitCtor<_Valid, const _UElements&...> = true> tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple<_UElements...>& __in) : _Inherited(__tag, __a, static_cast&>(__in)) { } template&>(), _ExplicitCtor<_Valid, const _UElements&...> = false> explicit tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple<_UElements...>& __in) : _Inherited(__tag, __a, static_cast&>(__in)) { } template&&>(), _ImplicitCtor<_Valid, _UElements...> = true> tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_UElements...>&& __in) : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } template&&>(), _ExplicitCtor<_Valid, _UElements...> = false> explicit tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_UElements...>&& __in) : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } tuple& operator=(typename conditional<__assignable(), const tuple&, const __nonesuch&>::type __in) noexcept(__nothrow_assignable()) { this->_M_assign(__in); return *this; } tuple& operator=(typename conditional<__assignable<_Elements...>(), tuple&&, __nonesuch&&>::type __in) noexcept(__nothrow_assignable<_Elements...>()) { this->_M_assign(std::move(__in)); return *this; } template __enable_if_t<__assignable(), tuple&> operator=(const tuple<_UElements...>& __in) noexcept(__nothrow_assignable()) { this->_M_assign(__in); return *this; } template __enable_if_t<__assignable<_UElements...>(), tuple&> operator=(tuple<_UElements...>&& __in) noexcept(__nothrow_assignable<_UElements...>()) { this->_M_assign(std::move(__in)); return *this; } void swap(tuple& __in) noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value) { _Inherited::_M_swap(__in); } }; # 863 "/usr/include/c++/10/tuple" 3 template<> class tuple<> { public: void swap(tuple&) noexcept { } tuple() = default; template tuple(allocator_arg_t, const _Alloc&) noexcept { } template tuple(allocator_arg_t, const _Alloc&, const tuple&) noexcept { } }; template class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2> { typedef _Tuple_impl<0, _T1, _T2> _Inherited; template using _ImplicitDefaultCtor = __enable_if_t< _TupleConstraints<_Dummy, _U1, _U2>:: __is_implicitly_default_constructible(), bool>; template using _ExplicitDefaultCtor = __enable_if_t< _TupleConstraints<_Dummy, _U1, _U2>:: __is_explicitly_default_constructible(), bool>; template using _TCC = _TupleConstraints<_Dummy, _T1, _T2>; template using _ImplicitCtor = __enable_if_t< _TCC<_Cond>::template __is_implicitly_constructible<_U1, _U2>(), bool>; template using _ExplicitCtor = __enable_if_t< _TCC<_Cond>::template __is_explicitly_constructible<_U1, _U2>(), bool>; template static constexpr bool __assignable() { return __and_, is_assignable<_T2&, _U2>>::value; } template static constexpr bool __nothrow_assignable() { return __and_, is_nothrow_assignable<_T2&, _U2>>::value; } template static constexpr bool __nothrow_constructible() { return __and_, is_nothrow_constructible<_T2, _U2>>::value; } static constexpr bool __nothrow_default_constructible() { return __and_, is_nothrow_default_constructible<_T2>>::value; } template static constexpr bool __is_alloc_arg() { return is_same<__remove_cvref_t<_U1>, allocator_arg_t>::value; } public: template = true> constexpr tuple() noexcept(__nothrow_default_constructible()) : _Inherited() { } template = false> explicit constexpr tuple() noexcept(__nothrow_default_constructible()) : _Inherited() { } template = true> constexpr tuple(const _T1& __a1, const _T2& __a2) noexcept(__nothrow_constructible()) : _Inherited(__a1, __a2) { } template = false> explicit constexpr tuple(const _T1& __a1, const _T2& __a2) noexcept(__nothrow_constructible()) : _Inherited(__a1, __a2) { } template(), _U1, _U2> = true> constexpr tuple(_U1&& __a1, _U2&& __a2) noexcept(__nothrow_constructible<_U1, _U2>()) : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } template(), _U1, _U2> = false> explicit constexpr tuple(_U1&& __a1, _U2&& __a2) noexcept(__nothrow_constructible<_U1, _U2>()) : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } constexpr tuple(const tuple&) = default; constexpr tuple(tuple&&) = default; template = true> constexpr tuple(const tuple<_U1, _U2>& __in) noexcept(__nothrow_constructible()) : _Inherited(static_cast&>(__in)) { } template = false> explicit constexpr tuple(const tuple<_U1, _U2>& __in) noexcept(__nothrow_constructible()) : _Inherited(static_cast&>(__in)) { } template = true> constexpr tuple(tuple<_U1, _U2>&& __in) noexcept(__nothrow_constructible<_U1, _U2>()) : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } template = false> explicit constexpr tuple(tuple<_U1, _U2>&& __in) noexcept(__nothrow_constructible<_U1, _U2>()) : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } template = true> constexpr tuple(const pair<_U1, _U2>& __in) noexcept(__nothrow_constructible()) : _Inherited(__in.first, __in.second) { } template = false> explicit constexpr tuple(const pair<_U1, _U2>& __in) noexcept(__nothrow_constructible()) : _Inherited(__in.first, __in.second) { } template = true> constexpr tuple(pair<_U1, _U2>&& __in) noexcept(__nothrow_constructible<_U1, _U2>()) : _Inherited(std::forward<_U1>(__in.first), std::forward<_U2>(__in.second)) { } template = false> explicit constexpr tuple(pair<_U1, _U2>&& __in) noexcept(__nothrow_constructible<_U1, _U2>()) : _Inherited(std::forward<_U1>(__in.first), std::forward<_U2>(__in.second)) { } template::value, _T1, _T2> = true> tuple(allocator_arg_t __tag, const _Alloc& __a) : _Inherited(__tag, __a) { } template = true> tuple(allocator_arg_t __tag, const _Alloc& __a, const _T1& __a1, const _T2& __a2) : _Inherited(__tag, __a, __a1, __a2) { } template = false> explicit tuple(allocator_arg_t __tag, const _Alloc& __a, const _T1& __a1, const _T2& __a2) : _Inherited(__tag, __a, __a1, __a2) { } template = true> tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2) : _Inherited(__tag, __a, std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } template = false> explicit tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2) : _Inherited(__tag, __a, std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } template tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) : _Inherited(__tag, __a, static_cast(__in)) { } template tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } template = true> tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple<_U1, _U2>& __in) : _Inherited(__tag, __a, static_cast&>(__in)) { } template = false> explicit tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple<_U1, _U2>& __in) : _Inherited(__tag, __a, static_cast&>(__in)) { } template = true> tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in) : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } template = false> explicit tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in) : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } template = true> tuple(allocator_arg_t __tag, const _Alloc& __a, const pair<_U1, _U2>& __in) : _Inherited(__tag, __a, __in.first, __in.second) { } template = false> explicit tuple(allocator_arg_t __tag, const _Alloc& __a, const pair<_U1, _U2>& __in) : _Inherited(__tag, __a, __in.first, __in.second) { } template = true> tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in) : _Inherited(__tag, __a, std::forward<_U1>(__in.first), std::forward<_U2>(__in.second)) { } template = false> explicit tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in) : _Inherited(__tag, __a, std::forward<_U1>(__in.first), std::forward<_U2>(__in.second)) { } tuple& operator=(typename conditional<__assignable(), const tuple&, const __nonesuch&>::type __in) noexcept(__nothrow_assignable()) { this->_M_assign(__in); return *this; } tuple& operator=(typename conditional<__assignable<_T1, _T2>(), tuple&&, __nonesuch&&>::type __in) noexcept(__nothrow_assignable<_T1, _T2>()) { this->_M_assign(std::move(__in)); return *this; } template __enable_if_t<__assignable(), tuple&> operator=(const tuple<_U1, _U2>& __in) noexcept(__nothrow_assignable()) { this->_M_assign(__in); return *this; } template __enable_if_t<__assignable<_U1, _U2>(), tuple&> operator=(tuple<_U1, _U2>&& __in) noexcept(__nothrow_assignable<_U1, _U2>()) { this->_M_assign(std::move(__in)); return *this; } template __enable_if_t<__assignable(), tuple&> operator=(const pair<_U1, _U2>& __in) noexcept(__nothrow_assignable()) { this->_M_head(*this) = __in.first; this->_M_tail(*this)._M_head(*this) = __in.second; return *this; } template __enable_if_t<__assignable<_U1, _U2>(), tuple&> operator=(pair<_U1, _U2>&& __in) noexcept(__nothrow_assignable<_U1, _U2>()) { this->_M_head(*this) = std::forward<_U1>(__in.first); this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second); return *this; } void swap(tuple& __in) noexcept(__and_<__is_nothrow_swappable<_T1>, __is_nothrow_swappable<_T2>>::value) { _Inherited::_M_swap(__in); } }; template struct tuple_size> : public integral_constant { }; # 1254 "/usr/include/c++/10/tuple" 3 template struct tuple_element<__i, tuple<_Head, _Tail...> > : tuple_element<__i - 1, tuple<_Tail...> > { }; template struct tuple_element<0, tuple<_Head, _Tail...> > { typedef _Head type; }; template struct tuple_element<__i, tuple<>> { static_assert(__i < tuple_size>::value, "tuple index is in range"); }; template constexpr _Head& __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } template constexpr const _Head& __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } template constexpr __tuple_element_t<__i, tuple<_Elements...>>& get(tuple<_Elements...>& __t) noexcept { return std::__get_helper<__i>(__t); } template constexpr const __tuple_element_t<__i, tuple<_Elements...>>& get(const tuple<_Elements...>& __t) noexcept { return std::__get_helper<__i>(__t); } template constexpr __tuple_element_t<__i, tuple<_Elements...>>&& get(tuple<_Elements...>&& __t) noexcept { typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; return std::forward<__element_type&&>(std::get<__i>(__t)); } template constexpr const __tuple_element_t<__i, tuple<_Elements...>>&& get(const tuple<_Elements...>&& __t) noexcept { typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; return std::forward(std::get<__i>(__t)); } template constexpr _Head& __get_helper2(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } template constexpr const _Head& __get_helper2(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } template constexpr _Tp& get(tuple<_Types...>& __t) noexcept { return std::__get_helper2<_Tp>(__t); } template constexpr _Tp&& get(tuple<_Types...>&& __t) noexcept { return std::forward<_Tp&&>(std::__get_helper2<_Tp>(__t)); } template constexpr const _Tp& get(const tuple<_Types...>& __t) noexcept { return std::__get_helper2<_Tp>(__t); } template constexpr const _Tp&& get(const tuple<_Types...>&& __t) noexcept { return std::forward(std::__get_helper2<_Tp>(__t)); } template struct __tuple_compare { static constexpr bool __eq(const _Tp& __t, const _Up& __u) { return bool(std::get<__i>(__t) == std::get<__i>(__u)) && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u); } static constexpr bool __less(const _Tp& __t, const _Up& __u) { return bool(std::get<__i>(__t) < std::get<__i>(__u)) || (!bool(std::get<__i>(__u) < std::get<__i>(__t)) && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u)); } }; template struct __tuple_compare<_Tp, _Up, __size, __size> { static constexpr bool __eq(const _Tp&, const _Up&) { return true; } static constexpr bool __less(const _Tp&, const _Up&) { return false; } }; template constexpr bool operator==(const tuple<_TElements...>& __t, const tuple<_UElements...>& __u) { static_assert(sizeof...(_TElements) == sizeof...(_UElements), "tuple objects can only be compared if they have equal sizes."); using __compare = __tuple_compare, tuple<_UElements...>, 0, sizeof...(_TElements)>; return __compare::__eq(__t, __u); } template constexpr bool operator<(const tuple<_TElements...>& __t, const tuple<_UElements...>& __u) { static_assert(sizeof...(_TElements) == sizeof...(_UElements), "tuple objects can only be compared if they have equal sizes."); using __compare = __tuple_compare, tuple<_UElements...>, 0, sizeof...(_TElements)>; return __compare::__less(__t, __u); } template constexpr bool operator!=(const tuple<_TElements...>& __t, const tuple<_UElements...>& __u) { return !(__t == __u); } template constexpr bool operator>(const tuple<_TElements...>& __t, const tuple<_UElements...>& __u) { return __u < __t; } template constexpr bool operator<=(const tuple<_TElements...>& __t, const tuple<_UElements...>& __u) { return !(__u < __t); } template constexpr bool operator>=(const tuple<_TElements...>& __t, const tuple<_UElements...>& __u) { return !(__t < __u); } template constexpr tuple::__type...> make_tuple(_Elements&&... __args) { typedef tuple::__type...> __result_type; return __result_type(std::forward<_Elements>(__args)...); } template constexpr tuple<_Elements&&...> forward_as_tuple(_Elements&&... __args) noexcept { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); } template struct __make_tuple_impl; template struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm> : __make_tuple_impl<_Idx + 1, tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>, _Tuple, _Nm> { }; template struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm> { typedef tuple<_Tp...> __type; }; template struct __do_make_tuple : __make_tuple_impl<0, tuple<>, _Tuple, std::tuple_size<_Tuple>::value> { }; template struct __make_tuple : public __do_make_tuple<__remove_cvref_t<_Tuple>> { }; template struct __combine_tuples; template<> struct __combine_tuples<> { typedef tuple<> __type; }; template struct __combine_tuples> { typedef tuple<_Ts...> __type; }; template struct __combine_tuples, tuple<_T2s...>, _Rem...> { typedef typename __combine_tuples, _Rem...>::__type __type; }; template struct __tuple_cat_result { typedef typename __combine_tuples ::__type...>::__type __type; }; template struct __make_1st_indices; template<> struct __make_1st_indices<> { typedef std::_Index_tuple<> __type; }; template struct __make_1st_indices<_Tp, _Tpls...> { typedef typename std::_Build_index_tuple::type>::value>::__type __type; }; template struct __tuple_concater; template struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...> { template static constexpr _Ret _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us) { typedef typename __make_1st_indices<_Tpls...>::__type __idx; typedef __tuple_concater<_Ret, __idx, _Tpls...> __next; return __next::_S_do(std::forward<_Tpls>(__tps)..., std::forward<_Us>(__us)..., std::get<_Is>(std::forward<_Tp>(__tp))...); } }; template struct __tuple_concater<_Ret, std::_Index_tuple<>> { template static constexpr _Ret _S_do(_Us&&... __us) { return _Ret(std::forward<_Us>(__us)...); } }; template...>::value>::type> constexpr auto tuple_cat(_Tpls&&... __tpls) -> typename __tuple_cat_result<_Tpls...>::__type { typedef typename __tuple_cat_result<_Tpls...>::__type __ret; typedef typename __make_1st_indices<_Tpls...>::__type __idx; typedef __tuple_concater<__ret, __idx, _Tpls...> __concater; return __concater::_S_do(std::forward<_Tpls>(__tpls)...); } template constexpr tuple<_Elements&...> tie(_Elements&... __args) noexcept { return tuple<_Elements&...>(__args...); } template inline typename enable_if<__and_<__is_swappable<_Elements>...>::value >::type swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } template typename enable_if...>::value>::type swap(tuple<_Elements...>&, tuple<_Elements...>&) = delete; struct _Swallow_assign { template constexpr const _Swallow_assign& operator=(const _Tp&) const { return *this; } }; constexpr _Swallow_assign ignore{}; template struct uses_allocator, _Alloc> : true_type { }; # 1635 "/usr/include/c++/10/tuple" 3 template template inline pair<_T1, _T2>:: pair(piecewise_construct_t, tuple<_Args1...> __first, tuple<_Args2...> __second) : pair(__first, __second, typename _Build_index_tuple::__type(), typename _Build_index_tuple::__type()) { } template template inline pair<_T1, _T2>:: pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2, _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>) : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...), second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...) { } # 1725 "/usr/include/c++/10/tuple" 3 } # 38 "/usr/include/c++/10/bits/unique_ptr.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template class auto_ptr; #pragma GCC diagnostic pop template struct default_delete { constexpr default_delete() noexcept = default; template>> default_delete(const default_delete<_Up>&) noexcept { } void operator()(_Tp* __ptr) const { static_assert(!is_void<_Tp>::value, "can't delete pointer to incomplete type"); static_assert(sizeof(_Tp)>0, "can't delete pointer to incomplete type"); delete __ptr; } }; template struct default_delete<_Tp[]> { public: constexpr default_delete() noexcept = default; # 105 "/usr/include/c++/10/bits/unique_ptr.h" 3 template>> default_delete(const default_delete<_Up[]>&) noexcept { } template typename enable_if::value>::type operator()(_Up* __ptr) const { static_assert(sizeof(_Tp)>0, "can't delete pointer to incomplete type"); delete [] __ptr; } }; template class __uniq_ptr_impl { template struct _Ptr { using type = _Up*; }; template struct _Ptr<_Up, _Ep, __void_t::type::pointer>> { using type = typename remove_reference<_Ep>::type::pointer; }; public: using _DeleterConstraint = enable_if< __and_<__not_>, is_default_constructible<_Dp>>::value>; using pointer = typename _Ptr<_Tp, _Dp>::type; static_assert( !is_rvalue_reference<_Dp>::value, "unique_ptr's deleter type must be a function object type" " or an lvalue reference type" ); __uniq_ptr_impl() = default; __uniq_ptr_impl(pointer __p) : _M_t() { _M_ptr() = __p; } template __uniq_ptr_impl(pointer __p, _Del&& __d) : _M_t(__p, std::forward<_Del>(__d)) { } __uniq_ptr_impl(__uniq_ptr_impl&& __u) noexcept : _M_t(std::move(__u._M_t)) { __u._M_ptr() = nullptr; } __uniq_ptr_impl& operator=(__uniq_ptr_impl&& __u) noexcept { reset(__u.release()); _M_deleter() = std::forward<_Dp>(__u._M_deleter()); return *this; } pointer& _M_ptr() { return std::get<0>(_M_t); } pointer _M_ptr() const { return std::get<0>(_M_t); } _Dp& _M_deleter() { return std::get<1>(_M_t); } const _Dp& _M_deleter() const { return std::get<1>(_M_t); } void reset(pointer __p) noexcept { const pointer __old_p = _M_ptr(); _M_ptr() = __p; if (__old_p) _M_deleter()(__old_p); } pointer release() noexcept { pointer __p = _M_ptr(); _M_ptr() = nullptr; return __p; } void swap(__uniq_ptr_impl& __rhs) noexcept { using std::swap; swap(this->_M_ptr(), __rhs._M_ptr()); swap(this->_M_deleter(), __rhs._M_deleter()); } private: tuple _M_t; }; template ::value, bool = is_move_assignable<_Dp>::value> struct __uniq_ptr_data : __uniq_ptr_impl<_Tp, _Dp> { using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl; __uniq_ptr_data(__uniq_ptr_data&&) = default; __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default; }; template struct __uniq_ptr_data<_Tp, _Dp, true, false> : __uniq_ptr_impl<_Tp, _Dp> { using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl; __uniq_ptr_data(__uniq_ptr_data&&) = default; __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete; }; template struct __uniq_ptr_data<_Tp, _Dp, false, true> : __uniq_ptr_impl<_Tp, _Dp> { using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl; __uniq_ptr_data(__uniq_ptr_data&&) = delete; __uniq_ptr_data& operator=(__uniq_ptr_data&&) = default; }; template struct __uniq_ptr_data<_Tp, _Dp, false, false> : __uniq_ptr_impl<_Tp, _Dp> { using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl; __uniq_ptr_data(__uniq_ptr_data&&) = delete; __uniq_ptr_data& operator=(__uniq_ptr_data&&) = delete; }; template > class unique_ptr { template using _DeleterConstraint = typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type; __uniq_ptr_data<_Tp, _Dp> _M_t; public: using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer; using element_type = _Tp; using deleter_type = _Dp; private: template using __safe_conversion_up = __and_< is_convertible::pointer, pointer>, __not_> >; public: template> constexpr unique_ptr() noexcept : _M_t() { } template> explicit unique_ptr(pointer __p) noexcept : _M_t(__p) { } # 288 "/usr/include/c++/10/bits/unique_ptr.h" 3 template>> unique_ptr(pointer __p, const deleter_type& __d) noexcept : _M_t(__p, __d) { } # 300 "/usr/include/c++/10/bits/unique_ptr.h" 3 template>> unique_ptr(pointer __p, __enable_if_t::value, _Del&&> __d) noexcept : _M_t(__p, std::move(__d)) { } template::type> unique_ptr(pointer, __enable_if_t::value, _DelUnref&&>) = delete; template> constexpr unique_ptr(nullptr_t) noexcept : _M_t() { } unique_ptr(unique_ptr&&) = default; template, typename conditional::value, is_same<_Ep, _Dp>, is_convertible<_Ep, _Dp>>::type>> unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter())) { } #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template, is_same<_Dp, default_delete<_Tp>>>> unique_ptr(auto_ptr<_Up>&& __u) noexcept; #pragma GCC diagnostic pop ~unique_ptr() noexcept { static_assert(__is_invocable::value, "unique_ptr's deleter must be invocable with a pointer"); auto& __ptr = _M_t._M_ptr(); if (__ptr != nullptr) get_deleter()(std::move(__ptr)); __ptr = pointer(); } unique_ptr& operator=(unique_ptr&&) = default; # 376 "/usr/include/c++/10/bits/unique_ptr.h" 3 template typename enable_if< __and_< __safe_conversion_up<_Up, _Ep>, is_assignable >::value, unique_ptr&>::type operator=(unique_ptr<_Up, _Ep>&& __u) noexcept { reset(__u.release()); get_deleter() = std::forward<_Ep>(__u.get_deleter()); return *this; } unique_ptr& operator=(nullptr_t) noexcept { reset(); return *this; } typename add_lvalue_reference::type operator*() const { ; return *get(); } pointer operator->() const noexcept { ; return get(); } pointer get() const noexcept { return _M_t._M_ptr(); } deleter_type& get_deleter() noexcept { return _M_t._M_deleter(); } const deleter_type& get_deleter() const noexcept { return _M_t._M_deleter(); } explicit operator bool() const noexcept { return get() == pointer() ? false : true; } pointer release() noexcept { return _M_t.release(); } void reset(pointer __p = pointer()) noexcept { static_assert(__is_invocable::value, "unique_ptr's deleter must be invocable with a pointer"); _M_t.reset(std::move(__p)); } void swap(unique_ptr& __u) noexcept { static_assert(__is_swappable<_Dp>::value, "deleter must be swappable"); _M_t.swap(__u._M_t); } unique_ptr(const unique_ptr&) = delete; unique_ptr& operator=(const unique_ptr&) = delete; }; template class unique_ptr<_Tp[], _Dp> { template using _DeleterConstraint = typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type; __uniq_ptr_data<_Tp, _Dp> _M_t; template using __remove_cv = typename remove_cv<_Up>::type; template using __is_derived_Tp = __and_< is_base_of<_Tp, _Up>, __not_, __remove_cv<_Up>>> >; public: using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer; using element_type = _Tp; using deleter_type = _Dp; template, typename _UP_pointer = typename _UPtr::pointer, typename _UP_element_type = typename _UPtr::element_type> using __safe_conversion_up = __and_< is_array<_Up>, is_same, is_same<_UP_pointer, _UP_element_type*>, is_convertible<_UP_element_type(*)[], element_type(*)[]> >; template using __safe_conversion_raw = __and_< __or_<__or_, is_same<_Up, nullptr_t>>, __and_, is_same, is_convertible< typename remove_pointer<_Up>::type(*)[], element_type(*)[]> > > >; template> constexpr unique_ptr() noexcept : _M_t() { } # 537 "/usr/include/c++/10/bits/unique_ptr.h" 3 template, typename = typename enable_if< __safe_conversion_raw<_Up>::value, bool>::type> explicit unique_ptr(_Up __p) noexcept : _M_t(__p) { } # 555 "/usr/include/c++/10/bits/unique_ptr.h" 3 template, is_copy_constructible<_Del>>> unique_ptr(_Up __p, const deleter_type& __d) noexcept : _M_t(__p, __d) { } # 569 "/usr/include/c++/10/bits/unique_ptr.h" 3 template, is_move_constructible<_Del>>> unique_ptr(_Up __p, __enable_if_t::value, _Del&&> __d) noexcept : _M_t(std::move(__p), std::move(__d)) { } template::type, typename = _Require<__safe_conversion_raw<_Up>>> unique_ptr(_Up, __enable_if_t::value, _DelUnref&&>) = delete; unique_ptr(unique_ptr&&) = default; template> constexpr unique_ptr(nullptr_t) noexcept : _M_t() { } template, typename conditional::value, is_same<_Ep, _Dp>, is_convertible<_Ep, _Dp>>::type>> unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter())) { } ~unique_ptr() { auto& __ptr = _M_t._M_ptr(); if (__ptr != nullptr) get_deleter()(__ptr); __ptr = pointer(); } unique_ptr& operator=(unique_ptr&&) = default; # 628 "/usr/include/c++/10/bits/unique_ptr.h" 3 template typename enable_if<__and_<__safe_conversion_up<_Up, _Ep>, is_assignable >::value, unique_ptr&>::type operator=(unique_ptr<_Up, _Ep>&& __u) noexcept { reset(__u.release()); get_deleter() = std::forward<_Ep>(__u.get_deleter()); return *this; } unique_ptr& operator=(nullptr_t) noexcept { reset(); return *this; } typename std::add_lvalue_reference::type operator[](size_t __i) const { ; return get()[__i]; } pointer get() const noexcept { return _M_t._M_ptr(); } deleter_type& get_deleter() noexcept { return _M_t._M_deleter(); } const deleter_type& get_deleter() const noexcept { return _M_t._M_deleter(); } explicit operator bool() const noexcept { return get() == pointer() ? false : true; } pointer release() noexcept { return _M_t.release(); } template , __and_, is_pointer<_Up>, is_convertible< typename remove_pointer<_Up>::type(*)[], element_type(*)[] > > > >> void reset(_Up __p) noexcept { _M_t.reset(std::move(__p)); } void reset(nullptr_t = nullptr) noexcept { reset(pointer()); } void swap(unique_ptr& __u) noexcept { static_assert(__is_swappable<_Dp>::value, "deleter must be swappable"); _M_t.swap(__u._M_t); } unique_ptr(const unique_ptr&) = delete; unique_ptr& operator=(const unique_ptr&) = delete; }; template inline typename enable_if<__is_swappable<_Dp>::value>::type swap(unique_ptr<_Tp, _Dp>& __x, unique_ptr<_Tp, _Dp>& __y) noexcept { __x.swap(__y); } template typename enable_if::value>::type swap(unique_ptr<_Tp, _Dp>&, unique_ptr<_Tp, _Dp>&) = delete; template inline bool operator==(const unique_ptr<_Tp, _Dp>& __x, const unique_ptr<_Up, _Ep>& __y) { return __x.get() == __y.get(); } template inline bool operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept { return !__x; } template inline bool operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept { return !__x; } template inline bool operator!=(const unique_ptr<_Tp, _Dp>& __x, const unique_ptr<_Up, _Ep>& __y) { return __x.get() != __y.get(); } template inline bool operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept { return (bool)__x; } template inline bool operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept { return (bool)__x; } template inline bool operator<(const unique_ptr<_Tp, _Dp>& __x, const unique_ptr<_Up, _Ep>& __y) { typedef typename std::common_type::pointer, typename unique_ptr<_Up, _Ep>::pointer>::type _CT; return std::less<_CT>()(__x.get(), __y.get()); } template inline bool operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) { return std::less::pointer>()(__x.get(), nullptr); } template inline bool operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) { return std::less::pointer>()(nullptr, __x.get()); } template inline bool operator<=(const unique_ptr<_Tp, _Dp>& __x, const unique_ptr<_Up, _Ep>& __y) { return !(__y < __x); } template inline bool operator<=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) { return !(nullptr < __x); } template inline bool operator<=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) { return !(__x < nullptr); } template inline bool operator>(const unique_ptr<_Tp, _Dp>& __x, const unique_ptr<_Up, _Ep>& __y) { return (__y < __x); } template inline bool operator>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) { return std::less::pointer>()(nullptr, __x.get()); } template inline bool operator>(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) { return std::less::pointer>()(__x.get(), nullptr); } template inline bool operator>=(const unique_ptr<_Tp, _Dp>& __x, const unique_ptr<_Up, _Ep>& __y) { return !(__x < __y); } template inline bool operator>=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) { return !(__x < nullptr); } template inline bool operator>=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) { return !(nullptr < __x); } template::__enable_hash_call> struct __uniq_ptr_hash : private __poison_hash<_Ptr> { size_t operator()(const _Up& __u) const noexcept(noexcept(std::declval>()(std::declval<_Ptr>()))) { return hash<_Ptr>()(__u.get()); } }; template struct __uniq_ptr_hash<_Up, _Ptr, false> : private __poison_hash<_Ptr> { }; template struct hash> : public __hash_base>, public __uniq_ptr_hash> { }; template struct _MakeUniq { typedef unique_ptr<_Tp> __single_object; }; template struct _MakeUniq<_Tp[]> { typedef unique_ptr<_Tp[]> __array; }; template struct _MakeUniq<_Tp[_Bound]> { struct __invalid_type { }; }; template inline typename _MakeUniq<_Tp>::__single_object make_unique(_Args&&... __args) { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } template inline typename _MakeUniq<_Tp>::__array make_unique(size_t __num) { return unique_ptr<_Tp>(new remove_extent_t<_Tp>[__num]()); } template inline typename _MakeUniq<_Tp>::__invalid_type make_unique(_Args&&...) = delete; # 965 "/usr/include/c++/10/bits/unique_ptr.h" 3 } # 42 "/usr/include/c++/10/bits/locale_conv.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template bool __do_str_codecvt(const _InChar* __first, const _InChar* __last, _OutStr& __outstr, const _Codecvt& __cvt, _State& __state, size_t& __count, _Fn __fn) { if (__first == __last) { __outstr.clear(); __count = 0; return true; } size_t __outchars = 0; auto __next = __first; const auto __maxlen = __cvt.max_length() + 1; codecvt_base::result __result; do { __outstr.resize(__outstr.size() + (__last - __next) * __maxlen); auto __outnext = &__outstr.front() + __outchars; auto const __outlast = &__outstr.back() + 1; __result = (__cvt.*__fn)(__state, __next, __last, __next, __outnext, __outlast, __outnext); __outchars = __outnext - &__outstr.front(); } while (__result == codecvt_base::partial && __next != __last && (__outstr.size() - __outchars) < __maxlen); if (__result == codecvt_base::error) { __count = __next - __first; return false; } if (is_same()) if (__result == codecvt_base::noconv) { __outstr.assign(__first, __last); __count = __last - __first; return true; } __outstr.resize(__outchars); __count = __next - __first; return true; } template inline bool __str_codecvt_in(const char* __first, const char* __last, basic_string<_CharT, _Traits, _Alloc>& __outstr, const codecvt<_CharT, char, _State>& __cvt, _State& __state, size_t& __count) { using _Codecvt = codecvt<_CharT, char, _State>; using _ConvFn = codecvt_base::result (_Codecvt::*)(_State&, const char*, const char*, const char*&, _CharT*, _CharT*, _CharT*&) const; _ConvFn __fn = &codecvt<_CharT, char, _State>::in; return __do_str_codecvt(__first, __last, __outstr, __cvt, __state, __count, __fn); } template inline bool __str_codecvt_in(const char* __first, const char* __last, basic_string<_CharT, _Traits, _Alloc>& __outstr, const codecvt<_CharT, char, _State>& __cvt) { _State __state = {}; size_t __n; return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n); } template inline bool __str_codecvt_in_all(const char* __first, const char* __last, basic_string<_CharT, _Traits, _Alloc>& __outstr, const codecvt<_CharT, char, _State>& __cvt) { _State __state = {}; size_t __n; return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n) && (__n == (__last - __first)); } template inline bool __str_codecvt_out(const _CharT* __first, const _CharT* __last, basic_string& __outstr, const codecvt<_CharT, char, _State>& __cvt, _State& __state, size_t& __count) { using _Codecvt = codecvt<_CharT, char, _State>; using _ConvFn = codecvt_base::result (_Codecvt::*)(_State&, const _CharT*, const _CharT*, const _CharT*&, char*, char*, char*&) const; _ConvFn __fn = &codecvt<_CharT, char, _State>::out; return __do_str_codecvt(__first, __last, __outstr, __cvt, __state, __count, __fn); } template inline bool __str_codecvt_out(const _CharT* __first, const _CharT* __last, basic_string& __outstr, const codecvt<_CharT, char, _State>& __cvt) { _State __state = {}; size_t __n; return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n); } template inline bool __str_codecvt_out_all(const _CharT* __first, const _CharT* __last, basic_string& __outstr, const codecvt<_CharT, char, _State>& __cvt) { _State __state = {}; size_t __n; return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n) && (__n == (__last - __first)); } # 226 "/usr/include/c++/10/bits/locale_conv.h" 3 namespace __cxx11 { template, typename _Byte_alloc = allocator> class wstring_convert { public: typedef basic_string, _Byte_alloc> byte_string; typedef basic_string<_Elem, char_traits<_Elem>, _Wide_alloc> wide_string; typedef typename _Codecvt::state_type state_type; typedef typename wide_string::traits_type::int_type int_type; wstring_convert() : _M_cvt(new _Codecvt()) { } explicit wstring_convert(_Codecvt* __pcvt) : _M_cvt(__pcvt) { if (!_M_cvt) __throw_logic_error("wstring_convert"); } # 264 "/usr/include/c++/10/bits/locale_conv.h" 3 wstring_convert(_Codecvt* __pcvt, state_type __state) : _M_cvt(__pcvt), _M_state(__state), _M_with_cvtstate(true) { if (!_M_cvt) __throw_logic_error("wstring_convert"); } explicit wstring_convert(const byte_string& __byte_err, const wide_string& __wide_err = wide_string()) : _M_cvt(new _Codecvt), _M_byte_err_string(__byte_err), _M_wide_err_string(__wide_err), _M_with_strings(true) { if (!_M_cvt) __throw_logic_error("wstring_convert"); } ~wstring_convert() = default; wstring_convert(const wstring_convert&) = delete; wstring_convert& operator=(const wstring_convert&) = delete; wide_string from_bytes(char __byte) { char __bytes[2] = { __byte }; return from_bytes(__bytes, __bytes+1); } wide_string from_bytes(const char* __ptr) { return from_bytes(__ptr, __ptr+char_traits::length(__ptr)); } wide_string from_bytes(const byte_string& __str) { auto __ptr = __str.data(); return from_bytes(__ptr, __ptr + __str.size()); } wide_string from_bytes(const char* __first, const char* __last) { if (!_M_with_cvtstate) _M_state = state_type(); wide_string __out{ _M_wide_err_string.get_allocator() }; if (__str_codecvt_in(__first, __last, __out, *_M_cvt, _M_state, _M_count)) return __out; if (_M_with_strings) return _M_wide_err_string; __throw_range_error("wstring_convert::from_bytes"); } byte_string to_bytes(_Elem __wchar) { _Elem __wchars[2] = { __wchar }; return to_bytes(__wchars, __wchars+1); } byte_string to_bytes(const _Elem* __ptr) { return to_bytes(__ptr, __ptr+wide_string::traits_type::length(__ptr)); } byte_string to_bytes(const wide_string& __wstr) { auto __ptr = __wstr.data(); return to_bytes(__ptr, __ptr + __wstr.size()); } byte_string to_bytes(const _Elem* __first, const _Elem* __last) { if (!_M_with_cvtstate) _M_state = state_type(); byte_string __out{ _M_byte_err_string.get_allocator() }; if (__str_codecvt_out(__first, __last, __out, *_M_cvt, _M_state, _M_count)) return __out; if (_M_with_strings) return _M_byte_err_string; __throw_range_error("wstring_convert::to_bytes"); } size_t converted() const noexcept { return _M_count; } state_type state() const { return _M_state; } private: unique_ptr<_Codecvt> _M_cvt; byte_string _M_byte_err_string; wide_string _M_wide_err_string; state_type _M_state = state_type(); size_t _M_count = 0; bool _M_with_cvtstate = false; bool _M_with_strings = false; }; } template> class wbuffer_convert : public basic_streambuf<_Elem, _Tr> { typedef basic_streambuf<_Elem, _Tr> _Wide_streambuf; public: typedef typename _Codecvt::state_type state_type; wbuffer_convert() : wbuffer_convert(nullptr) { } # 405 "/usr/include/c++/10/bits/locale_conv.h" 3 explicit wbuffer_convert(streambuf* __bytebuf, _Codecvt* __pcvt = new _Codecvt, state_type __state = state_type()) : _M_buf(__bytebuf), _M_cvt(__pcvt), _M_state(__state) { if (!_M_cvt) __throw_logic_error("wbuffer_convert"); _M_always_noconv = _M_cvt->always_noconv(); if (_M_buf) { this->setp(_M_put_area, _M_put_area + _S_buffer_length); this->setg(_M_get_area + _S_putback_length, _M_get_area + _S_putback_length, _M_get_area + _S_putback_length); } } ~wbuffer_convert() = default; wbuffer_convert(const wbuffer_convert&) = delete; wbuffer_convert& operator=(const wbuffer_convert&) = delete; streambuf* rdbuf() const noexcept { return _M_buf; } streambuf* rdbuf(streambuf *__bytebuf) noexcept { auto __prev = _M_buf; _M_buf = __bytebuf; return __prev; } state_type state() const noexcept { return _M_state; } protected: int sync() { return _M_buf && _M_conv_put() && !_M_buf->pubsync() ? 0 : -1; } typename _Wide_streambuf::int_type overflow(typename _Wide_streambuf::int_type __out) { if (!_M_buf || !_M_conv_put()) return _Tr::eof(); else if (!_Tr::eq_int_type(__out, _Tr::eof())) return this->sputc(__out); return _Tr::not_eof(__out); } typename _Wide_streambuf::int_type underflow() { if (!_M_buf) return _Tr::eof(); if (this->gptr() < this->egptr() || (_M_buf && _M_conv_get())) return _Tr::to_int_type(*this->gptr()); else return _Tr::eof(); } streamsize xsputn(const typename _Wide_streambuf::char_type* __s, streamsize __n) { if (!_M_buf || __n == 0) return 0; streamsize __done = 0; do { auto __nn = std::min(this->epptr() - this->pptr(), __n - __done); _Tr::copy(this->pptr(), __s + __done, __nn); this->pbump(__nn); __done += __nn; } while (__done < __n && _M_conv_put()); return __done; } private: bool _M_conv_get() { const streamsize __pb1 = this->gptr() - this->eback(); const streamsize __pb2 = _S_putback_length; const streamsize __npb = std::min(__pb1, __pb2); _Tr::move(_M_get_area + _S_putback_length - __npb, this->gptr() - __npb, __npb); streamsize __nbytes = sizeof(_M_get_buf) - _M_unconv; __nbytes = std::min(__nbytes, _M_buf->in_avail()); if (__nbytes < 1) __nbytes = 1; __nbytes = _M_buf->sgetn(_M_get_buf + _M_unconv, __nbytes); if (__nbytes < 1) return false; __nbytes += _M_unconv; _Elem* __outbuf = _M_get_area + _S_putback_length; _Elem* __outnext = __outbuf; const char* __bnext = _M_get_buf; codecvt_base::result __result; if (_M_always_noconv) __result = codecvt_base::noconv; else { _Elem* __outend = _M_get_area + _S_buffer_length; __result = _M_cvt->in(_M_state, __bnext, __bnext + __nbytes, __bnext, __outbuf, __outend, __outnext); } if (__result == codecvt_base::noconv) { auto __get_buf = reinterpret_cast(_M_get_buf); _Tr::copy(__outbuf, __get_buf, __nbytes); _M_unconv = 0; return true; } if ((_M_unconv = _M_get_buf + __nbytes - __bnext)) char_traits::move(_M_get_buf, __bnext, _M_unconv); this->setg(__outbuf, __outbuf, __outnext); return __result != codecvt_base::error; } bool _M_put(...) { return false; } bool _M_put(const char* __p, streamsize __n) { if (_M_buf->sputn(__p, __n) < __n) return false; return true; } bool _M_conv_put() { _Elem* const __first = this->pbase(); const _Elem* const __last = this->pptr(); const streamsize __pending = __last - __first; if (_M_always_noconv) return _M_put(__first, __pending); char __outbuf[2 * _S_buffer_length]; const _Elem* __next = __first; const _Elem* __start; do { __start = __next; char* __outnext = __outbuf; char* const __outlast = __outbuf + sizeof(__outbuf); auto __result = _M_cvt->out(_M_state, __next, __last, __next, __outnext, __outlast, __outnext); if (__result == codecvt_base::error) return false; else if (__result == codecvt_base::noconv) return _M_put(__next, __pending); if (!_M_put(__outbuf, __outnext - __outbuf)) return false; } while (__next != __last && __next != __start); if (__next != __last) _Tr::move(__first, __next, __last - __next); this->pbump(__first - __next); return __next != __first; } streambuf* _M_buf; unique_ptr<_Codecvt> _M_cvt; state_type _M_state; static const streamsize _S_buffer_length = 32; static const streamsize _S_putback_length = 3; _Elem _M_put_area[_S_buffer_length]; _Elem _M_get_area[_S_buffer_length]; streamsize _M_unconv = 0; char _M_get_buf[_S_buffer_length-_S_putback_length]; bool _M_always_noconv; }; } # 44 "/usr/include/c++/10/locale" 2 3 # 44 "/usr/include/c++/10/iomanip" 2 3 # 1 "/usr/include/c++/10/bits/quoted_string.h" 1 3 # 33 "/usr/include/c++/10/bits/quoted_string.h" 3 # 34 "/usr/include/c++/10/bits/quoted_string.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace __detail { template struct _Quoted_string { static_assert(is_reference<_String>::value || is_pointer<_String>::value, "String type must be pointer or reference"); _Quoted_string(_String __str, _CharT __del, _CharT __esc) : _M_string(__str), _M_delim{__del}, _M_escape{__esc} { } _Quoted_string& operator=(_Quoted_string&) = delete; _String _M_string; _CharT _M_delim; _CharT _M_escape; }; # 91 "/usr/include/c++/10/bits/quoted_string.h" 3 template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const _Quoted_string& __str) { std::basic_ostringstream<_CharT, _Traits> __ostr; __ostr << __str._M_delim; for (const _CharT* __c = __str._M_string; *__c; ++__c) { if (*__c == __str._M_delim || *__c == __str._M_escape) __ostr << __str._M_escape; __ostr << *__c; } __ostr << __str._M_delim; return __os << __ostr.str(); } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const _Quoted_string<_String, _CharT>& __str) { std::basic_ostringstream<_CharT, _Traits> __ostr; __ostr << __str._M_delim; for (auto __c : __str._M_string) { if (__c == __str._M_delim || __c == __str._M_escape) __ostr << __str._M_escape; __ostr << __c; } __ostr << __str._M_delim; return __os << __ostr.str(); } template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, const _Quoted_string&, _CharT>& __str) { _CharT __c; __is >> __c; if (!__is.good()) return __is; if (__c != __str._M_delim) { __is.unget(); __is >> __str._M_string; return __is; } __str._M_string.clear(); std::ios_base::fmtflags __flags = __is.flags(__is.flags() & ~std::ios_base::skipws); do { __is >> __c; if (!__is.good()) break; if (__c == __str._M_escape) { __is >> __c; if (!__is.good()) break; } else if (__c == __str._M_delim) break; __str._M_string += __c; } while (true); __is.setf(__flags); return __is; } } } # 46 "/usr/include/c++/10/iomanip" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { struct _Resetiosflags { ios_base::fmtflags _M_mask; }; # 65 "/usr/include/c++/10/iomanip" 3 inline _Resetiosflags resetiosflags(ios_base::fmtflags __mask) { return { __mask }; } template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Resetiosflags __f) { __is.setf(ios_base::fmtflags(0), __f._M_mask); return __is; } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Resetiosflags __f) { __os.setf(ios_base::fmtflags(0), __f._M_mask); return __os; } struct _Setiosflags { ios_base::fmtflags _M_mask; }; # 95 "/usr/include/c++/10/iomanip" 3 inline _Setiosflags setiosflags(ios_base::fmtflags __mask) { return { __mask }; } template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Setiosflags __f) { __is.setf(__f._M_mask); return __is; } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Setiosflags __f) { __os.setf(__f._M_mask); return __os; } struct _Setbase { int _M_base; }; # 126 "/usr/include/c++/10/iomanip" 3 inline _Setbase setbase(int __base) { return { __base }; } template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Setbase __f) { __is.setf(__f._M_base == 8 ? ios_base::oct : __f._M_base == 10 ? ios_base::dec : __f._M_base == 16 ? ios_base::hex : ios_base::fmtflags(0), ios_base::basefield); return __is; } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Setbase __f) { __os.setf(__f._M_base == 8 ? ios_base::oct : __f._M_base == 10 ? ios_base::dec : __f._M_base == 16 ? ios_base::hex : ios_base::fmtflags(0), ios_base::basefield); return __os; } template struct _Setfill { _CharT _M_c; }; # 163 "/usr/include/c++/10/iomanip" 3 template inline _Setfill<_CharT> setfill(_CharT __c) { return { __c }; } template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Setfill<_CharT> __f) { __is.fill(__f._M_c); return __is; } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Setfill<_CharT> __f) { __os.fill(__f._M_c); return __os; } struct _Setprecision { int _M_n; }; # 194 "/usr/include/c++/10/iomanip" 3 inline _Setprecision setprecision(int __n) { return { __n }; } template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Setprecision __f) { __is.precision(__f._M_n); return __is; } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Setprecision __f) { __os.precision(__f._M_n); return __os; } struct _Setw { int _M_n; }; # 224 "/usr/include/c++/10/iomanip" 3 inline _Setw setw(int __n) { return { __n }; } template inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Setw __f) { __is.width(__f._M_n); return __is; } template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Setw __f) { __os.width(__f._M_n); return __os; } template struct _Get_money { _MoneyT& _M_mon; bool _M_intl; }; # 257 "/usr/include/c++/10/iomanip" 3 template inline _Get_money<_MoneyT> get_money(_MoneyT& __mon, bool __intl = false) { return { __mon, __intl }; } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Get_money<_MoneyT> __f) { typename basic_istream<_CharT, _Traits>::sentry __cerb(__is, false); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { typedef istreambuf_iterator<_CharT, _Traits> _Iter; typedef money_get<_CharT, _Iter> _MoneyGet; const _MoneyGet& __mg = use_facet<_MoneyGet>(__is.getloc()); __mg.get(_Iter(__is.rdbuf()), _Iter(), __f._M_intl, __is, __err, __f._M_mon); } if (false) { __is._M_setstate(ios_base::badbit); ; } if (false) { __is._M_setstate(ios_base::badbit); } if (__err) __is.setstate(__err); } return __is; } template struct _Put_money { const _MoneyT& _M_mon; bool _M_intl; }; # 304 "/usr/include/c++/10/iomanip" 3 template inline _Put_money<_MoneyT> put_money(const _MoneyT& __mon, bool __intl = false) { return { __mon, __intl }; } template basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_money<_MoneyT> __f) { typename basic_ostream<_CharT, _Traits>::sentry __cerb(__os); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { typedef ostreambuf_iterator<_CharT, _Traits> _Iter; typedef money_put<_CharT, _Iter> _MoneyPut; const _MoneyPut& __mp = use_facet<_MoneyPut>(__os.getloc()); if (__mp.put(_Iter(__os.rdbuf()), __f._M_intl, __os, __os.fill(), __f._M_mon).failed()) __err |= ios_base::badbit; } if (false) { __os._M_setstate(ios_base::badbit); ; } if (false) { __os._M_setstate(ios_base::badbit); } if (__err) __os.setstate(__err); } return __os; } template struct _Put_time { const std::tm* _M_tmb; const _CharT* _M_fmt; }; # 356 "/usr/include/c++/10/iomanip" 3 template inline _Put_time<_CharT> put_time(const std::tm* __tmb, const _CharT* __fmt) { return { __tmb, __fmt }; } template basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_time<_CharT> __f) { typename basic_ostream<_CharT, _Traits>::sentry __cerb(__os); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { typedef ostreambuf_iterator<_CharT, _Traits> _Iter; typedef time_put<_CharT, _Iter> _TimePut; const _CharT* const __fmt_end = __f._M_fmt + _Traits::length(__f._M_fmt); const _TimePut& __mp = use_facet<_TimePut>(__os.getloc()); if (__mp.put(_Iter(__os.rdbuf()), __os, __os.fill(), __f._M_tmb, __f._M_fmt, __fmt_end).failed()) __err |= ios_base::badbit; } if (false) { __os._M_setstate(ios_base::badbit); ; } if (false) { __os._M_setstate(ios_base::badbit); } if (__err) __os.setstate(__err); } return __os; } template struct _Get_time { std::tm* _M_tmb; const _CharT* _M_fmt; }; # 411 "/usr/include/c++/10/iomanip" 3 template inline _Get_time<_CharT> get_time(std::tm* __tmb, const _CharT* __fmt) { return { __tmb, __fmt }; } template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _Get_time<_CharT> __f) { typename basic_istream<_CharT, _Traits>::sentry __cerb(__is, false); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; if (true) { typedef istreambuf_iterator<_CharT, _Traits> _Iter; typedef time_get<_CharT, _Iter> _TimeGet; const _CharT* const __fmt_end = __f._M_fmt + _Traits::length(__f._M_fmt); const _TimeGet& __mg = use_facet<_TimeGet>(__is.getloc()); __mg.get(_Iter(__is.rdbuf()), _Iter(), __is, __err, __f._M_tmb, __f._M_fmt, __fmt_end); } if (false) { __is._M_setstate(ios_base::badbit); ; } if (false) { __is._M_setstate(ios_base::badbit); } if (__err) __is.setstate(__err); } return __is; } # 459 "/usr/include/c++/10/iomanip" 3 template inline auto quoted(const _CharT* __string, _CharT __delim = _CharT('"'), _CharT __escape = _CharT('\\')) { return __detail::_Quoted_string(__string, __delim, __escape); } template inline auto quoted(const basic_string<_CharT, _Traits, _Alloc>& __string, _CharT __delim = _CharT('"'), _CharT __escape = _CharT('\\')) { return __detail::_Quoted_string< const basic_string<_CharT, _Traits, _Alloc>&, _CharT>( __string, __delim, __escape); } template inline auto quoted(basic_string<_CharT, _Traits, _Alloc>& __string, _CharT __delim = _CharT('"'), _CharT __escape = _CharT('\\')) { return __detail::_Quoted_string< basic_string<_CharT, _Traits, _Alloc>&, _CharT>( __string, __delim, __escape); } # 508 "/usr/include/c++/10/iomanip" 3 extern template ostream& operator<<(ostream&, _Setfill); extern template ostream& operator<<(ostream&, _Setiosflags); extern template ostream& operator<<(ostream&, _Resetiosflags); extern template ostream& operator<<(ostream&, _Setbase); extern template ostream& operator<<(ostream&, _Setprecision); extern template ostream& operator<<(ostream&, _Setw); extern template istream& operator>>(istream&, _Setfill); extern template istream& operator>>(istream&, _Setiosflags); extern template istream& operator>>(istream&, _Resetiosflags); extern template istream& operator>>(istream&, _Setbase); extern template istream& operator>>(istream&, _Setprecision); extern template istream& operator>>(istream&, _Setw); extern template wostream& operator<<(wostream&, _Setfill); extern template wostream& operator<<(wostream&, _Setiosflags); extern template wostream& operator<<(wostream&, _Resetiosflags); extern template wostream& operator<<(wostream&, _Setbase); extern template wostream& operator<<(wostream&, _Setprecision); extern template wostream& operator<<(wostream&, _Setw); extern template wistream& operator>>(wistream&, _Setfill); extern template wistream& operator>>(wistream&, _Setiosflags); extern template wistream& operator>>(wistream&, _Resetiosflags); extern template wistream& operator>>(wistream&, _Setbase); extern template wistream& operator>>(wistream&, _Setprecision); extern template wistream& operator>>(wistream&, _Setw); } # 17 "../../third_party/angle/src/common/debug.h" 2 # 28 "../../third_party/angle/src/common/debug.h" # 28 "../../third_party/angle/src/common/debug.h" namespace gl { class ScopedPerfEventHelper : angle::NonCopyable { public: __attribute__((format(__printf__, 2, 3))) ScopedPerfEventHelper(const char *format, ...); ~ScopedPerfEventHelper(); private: const char *mFunctionName; }; using LogSeverity = int; constexpr LogSeverity LOG_EVENT = 0; constexpr LogSeverity LOG_INFO = 1; constexpr LogSeverity LOG_WARN = 2; constexpr LogSeverity LOG_ERR = 3; constexpr LogSeverity LOG_FATAL = 4; constexpr LogSeverity LOG_NUM_SEVERITIES = 5; void Trace(LogSeverity severity, const char *message); # 62 "../../third_party/angle/src/common/debug.h" class LogMessage : angle::NonCopyable { public: LogMessage(const char *function, int line, LogSeverity severity); ~LogMessage(); std::ostream &stream() { return mStream; } LogSeverity getSeverity() const; std::string getMessage() const; private: const char *mFunction; const int mLine; const LogSeverity mSeverity; std::ostringstream mStream; }; class DebugAnnotator : angle::NonCopyable { public: DebugAnnotator() {} virtual ~DebugAnnotator() {} virtual void beginEvent(const char *eventName, const char *eventMessage) = 0; virtual void endEvent(const char *eventName) = 0; virtual void setMarker(const char *markerName) = 0; virtual bool getStatus() = 0; virtual void logMessage(const LogMessage &msg) const = 0; }; void InitializeDebugAnnotations(DebugAnnotator *debugAnnotator); void UninitializeDebugAnnotations(); bool DebugAnnotationsActive(); bool DebugAnnotationsInitialized(); void InitializeDebugMutexIfNeeded(); namespace priv { class LogMessageVoidify { public: LogMessageVoidify() {} void operator&(std::ostream &) {} }; extern std::ostream *gSwallowStream; bool ShouldCreatePlatformLogMessage(LogSeverity severity); template std::ostream &FmtHex(std::ostream &os, T value) { os << "0x"; std::ios_base::fmtflags oldFlags = os.flags(); std::streamsize oldWidth = os.width(); std::ostream::char_type oldFill = os.fill(); os << std::hex << std::uppercase << std::setw(N) << std::setfill('0') << value; os.flags(oldFlags); os.width(oldWidth); os.fill(oldFill); return os; } template std::ostream &FmtHexAutoSized(std::ostream &os, T value) { constexpr int N = sizeof(T) * 2; return priv::FmtHex(os, value); } template class FmtHexHelper { public: FmtHexHelper(const char *prefix, T value) : mPrefix(prefix), mValue(value) {} explicit FmtHexHelper(T value) : mPrefix(nullptr), mValue(value) {} private: const char *mPrefix; T mValue; friend std::ostream &operator<<(std::ostream &os, const FmtHexHelper &fmt) { if (fmt.mPrefix) { os << fmt.mPrefix; } return FmtHexAutoSized(os, fmt.mValue); } }; } template priv::FmtHexHelper FmtHex(T value) { return priv::FmtHexHelper(value); } template std::ostream &FmtHex(std::ostream &os, T value) { return priv::FmtHexAutoSized(os, value); } # 226 "../../third_party/angle/src/common/debug.h" } # 13 "../../third_party/angle/src/common/MemoryBuffer.h" 2 namespace angle { class MemoryBuffer final : NonCopyable { public: MemoryBuffer() = default; MemoryBuffer(size_t size) { resize(size); } ~MemoryBuffer(); MemoryBuffer(MemoryBuffer &&other); MemoryBuffer &operator=(MemoryBuffer &&other); bool resize(size_t size); size_t size() const { return mSize; } bool empty() const { return mSize == 0; } const uint8_t *data() const { return mData; } uint8_t *data() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mData); return mData; } uint8_t &operator[](size_t pos) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(pos < mSize); return mData[pos]; } const uint8_t &operator[](size_t pos) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(pos < mSize); return mData[pos]; } void fill(uint8_t datum); private: size_t mSize = 0; uint8_t *mData = nullptr; }; class ScratchBuffer final : NonCopyable { public: ScratchBuffer(uint32_t lifetime); ~ScratchBuffer(); bool get(size_t requestedSize, MemoryBuffer **memoryBufferOut); bool getInitialized(size_t requestedSize, MemoryBuffer **memoryBufferOut, uint8_t initValue); void tick(); void clear(); private: bool getImpl(size_t requestedSize, MemoryBuffer **memoryBufferOut, Optional initValue); const uint32_t mLifetime; uint32_t mResetCounter; MemoryBuffer mScratchMemory; }; } # 18 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/common/PackedEnums.h" 1 # 12 "../../third_party/angle/src/common/PackedEnums.h" # 1 "../../third_party/angle/src/common/PackedEGLEnums_autogen.h" 1 # 15 "../../third_party/angle/src/common/PackedEGLEnums_autogen.h" # 1 "../../third_party/angle/include/EGL/egl.h" 1 extern "C" { # 39 "../../third_party/angle/include/EGL/egl.h" # 1 "../../third_party/angle/include/EGL/eglplatform.h" 1 # 128 "../../third_party/angle/include/EGL/eglplatform.h" # 1 "/usr/include/X11/Xlib.h" 1 3 4 # 44 "/usr/include/X11/Xlib.h" 3 4 # 1 "/usr/include/X11/X.h" 1 3 4 # 66 "/usr/include/X11/X.h" 3 4 # 66 "/usr/include/X11/X.h" 3 4 typedef unsigned long XID; typedef unsigned long Mask; typedef unsigned long Atom; typedef unsigned long VisualID; typedef unsigned long Time; # 96 "/usr/include/X11/X.h" 3 4 typedef XID Window; typedef XID Drawable; typedef XID Font; typedef XID Pixmap; typedef XID Cursor; typedef XID Colormap; typedef XID GContext; typedef XID KeySym; typedef unsigned char KeyCode; # 45 "/usr/include/X11/Xlib.h" 2 3 4 # 1 "/usr/include/X11/Xfuncproto.h" 1 3 4 # 48 "/usr/include/X11/Xlib.h" 2 3 4 # 1 "/usr/include/X11/Xosdefs.h" 1 3 4 # 49 "/usr/include/X11/Xlib.h" 2 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 52 "/usr/include/X11/Xlib.h" 2 3 4 # 62 "/usr/include/X11/Xlib.h" 3 4 extern int _Xmblen( char *str, int len ); # 80 "/usr/include/X11/Xlib.h" 3 4 typedef char *XPointer; # 148 "/usr/include/X11/Xlib.h" 3 4 typedef struct _XExtData { int number; struct _XExtData *next; int (*free_private)( struct _XExtData *extension ); XPointer private_data; } XExtData; typedef struct { int extension; int major_opcode; int first_event; int first_error; } XExtCodes; typedef struct { int depth; int bits_per_pixel; int scanline_pad; } XPixmapFormatValues; typedef struct { int function; unsigned long plane_mask; unsigned long foreground; unsigned long background; int line_width; int line_style; int cap_style; int join_style; int fill_style; int fill_rule; int arc_mode; Pixmap tile; Pixmap stipple; int ts_x_origin; int ts_y_origin; Font font; int subwindow_mode; int graphics_exposures; int clip_x_origin; int clip_y_origin; Pixmap clip_mask; int dash_offset; char dashes; } XGCValues; typedef struct _XGC *GC; typedef struct { XExtData *ext_data; VisualID visualid; int c_class; unsigned long red_mask, green_mask, blue_mask; int bits_per_rgb; int map_entries; } Visual; typedef struct { int depth; int nvisuals; Visual *visuals; } Depth; struct _XDisplay; typedef struct { XExtData *ext_data; struct _XDisplay *display; Window root; int width, height; int mwidth, mheight; int ndepths; Depth *depths; int root_depth; Visual *root_visual; GC default_gc; Colormap cmap; unsigned long white_pixel; unsigned long black_pixel; int max_maps, min_maps; int backing_store; int save_unders; long root_input_mask; } Screen; typedef struct { XExtData *ext_data; int depth; int bits_per_pixel; int scanline_pad; } ScreenFormat; typedef struct { Pixmap background_pixmap; unsigned long background_pixel; Pixmap border_pixmap; unsigned long border_pixel; int bit_gravity; int win_gravity; int backing_store; unsigned long backing_planes; unsigned long backing_pixel; int save_under; long event_mask; long do_not_propagate_mask; int override_redirect; Colormap colormap; Cursor cursor; } XSetWindowAttributes; typedef struct { int x, y; int width, height; int border_width; int depth; Visual *visual; Window root; int c_class; int bit_gravity; int win_gravity; int backing_store; unsigned long backing_planes; unsigned long backing_pixel; int save_under; Colormap colormap; int map_installed; int map_state; long all_event_masks; long your_event_mask; long do_not_propagate_mask; int override_redirect; Screen *screen; } XWindowAttributes; typedef struct { int family; int length; char *address; } XHostAddress; typedef struct { int typelength; int valuelength; char *type; char *value; } XServerInterpretedAddress; typedef struct _XImage { int width, height; int xoffset; int format; char *data; int byte_order; int bitmap_unit; int bitmap_bit_order; int bitmap_pad; int depth; int bytes_per_line; int bits_per_pixel; unsigned long red_mask; unsigned long green_mask; unsigned long blue_mask; XPointer obdata; struct funcs { struct _XImage *(*create_image)( struct _XDisplay* , Visual* , unsigned int , int , int , char* , unsigned int , unsigned int , int , int ); int (*destroy_image) (struct _XImage *); unsigned long (*get_pixel) (struct _XImage *, int, int); int (*put_pixel) (struct _XImage *, int, int, unsigned long); struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int); int (*add_pixel) (struct _XImage *, long); } f; } XImage; typedef struct { int x, y; int width, height; int border_width; Window sibling; int stack_mode; } XWindowChanges; typedef struct { unsigned long pixel; unsigned short red, green, blue; char flags; char pad; } XColor; typedef struct { short x1, y1, x2, y2; } XSegment; typedef struct { short x, y; } XPoint; typedef struct { short x, y; unsigned short width, height; } XRectangle; typedef struct { short x, y; unsigned short width, height; short angle1, angle2; } XArc; typedef struct { int key_click_percent; int bell_percent; int bell_pitch; int bell_duration; int led; int led_mode; int key; int auto_repeat_mode; } XKeyboardControl; typedef struct { int key_click_percent; int bell_percent; unsigned int bell_pitch, bell_duration; unsigned long led_mask; int global_auto_repeat; char auto_repeats[32]; } XKeyboardState; typedef struct { Time time; short x, y; } XTimeCoord; typedef struct { int max_keypermod; KeyCode *modifiermap; } XModifierKeymap; # 487 "/usr/include/X11/Xlib.h" 3 4 typedef struct _XDisplay Display; struct _XPrivate; struct _XrmHashBucketRec; typedef struct { XExtData *ext_data; struct _XPrivate *private1; int fd; int private2; int proto_major_version; int proto_minor_version; char *vendor; XID private3; XID private4; XID private5; int private6; XID (*resource_alloc)( struct _XDisplay* ); int byte_order; int bitmap_unit; int bitmap_pad; int bitmap_bit_order; int nformats; ScreenFormat *pixmap_format; int private8; int release; struct _XPrivate *private9, *private10; int qlen; unsigned long last_request_read; unsigned long request; XPointer private11; XPointer private12; XPointer private13; XPointer private14; unsigned max_request_size; struct _XrmHashBucketRec *db; int (*private15)( struct _XDisplay* ); char *display_name; int default_screen; int nscreens; Screen *screens; unsigned long motion_buffer; unsigned long private16; int min_keycode; int max_keycode; XPointer private17; XPointer private18; int private19; char *xdefaults; } *_XPrivDisplay; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; Window root; Window subwindow; Time time; int x, y; int x_root, y_root; unsigned int state; unsigned int keycode; int same_screen; } XKeyEvent; typedef XKeyEvent XKeyPressedEvent; typedef XKeyEvent XKeyReleasedEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; Window root; Window subwindow; Time time; int x, y; int x_root, y_root; unsigned int state; unsigned int button; int same_screen; } XButtonEvent; typedef XButtonEvent XButtonPressedEvent; typedef XButtonEvent XButtonReleasedEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; Window root; Window subwindow; Time time; int x, y; int x_root, y_root; unsigned int state; char is_hint; int same_screen; } XMotionEvent; typedef XMotionEvent XPointerMovedEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; Window root; Window subwindow; Time time; int x, y; int x_root, y_root; int mode; int detail; int same_screen; int focus; unsigned int state; } XCrossingEvent; typedef XCrossingEvent XEnterWindowEvent; typedef XCrossingEvent XLeaveWindowEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; int mode; int detail; } XFocusChangeEvent; typedef XFocusChangeEvent XFocusInEvent; typedef XFocusChangeEvent XFocusOutEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; char key_vector[32]; } XKeymapEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; int x, y; int width, height; int count; } XExposeEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Drawable drawable; int x, y; int width, height; int count; int major_code; int minor_code; } XGraphicsExposeEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Drawable drawable; int major_code; int minor_code; } XNoExposeEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; int state; } XVisibilityEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window parent; Window window; int x, y; int width, height; int border_width; int override_redirect; } XCreateWindowEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window event; Window window; } XDestroyWindowEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window event; Window window; int from_configure; } XUnmapEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window event; Window window; int override_redirect; } XMapEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window parent; Window window; } XMapRequestEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window event; Window window; Window parent; int x, y; int override_redirect; } XReparentEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window event; Window window; int x, y; int width, height; int border_width; Window above; int override_redirect; } XConfigureEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window event; Window window; int x, y; } XGravityEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; int width, height; } XResizeRequestEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window parent; Window window; int x, y; int width, height; int border_width; Window above; int detail; unsigned long value_mask; } XConfigureRequestEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window event; Window window; int place; } XCirculateEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window parent; Window window; int place; } XCirculateRequestEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; Atom atom; Time time; int state; } XPropertyEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; Atom selection; Time time; } XSelectionClearEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window owner; Window requestor; Atom selection; Atom target; Atom property; Time time; } XSelectionRequestEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window requestor; Atom selection; Atom target; Atom property; Time time; } XSelectionEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; Colormap colormap; int c_new; int state; } XColormapEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; Atom message_type; int format; union { char b[20]; short s[10]; long l[5]; } data; } XClientMessageEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; int request; int first_keycode; int count; } XMappingEvent; typedef struct { int type; Display *display; XID resourceid; unsigned long serial; unsigned char error_code; unsigned char request_code; unsigned char minor_code; } XErrorEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; Window window; } XAnyEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; int extension; int evtype; } XGenericEvent; typedef struct { int type; unsigned long serial; int send_event; Display *display; int extension; int evtype; unsigned int cookie; void *data; } XGenericEventCookie; typedef union _XEvent { int type; XAnyEvent xany; XKeyEvent xkey; XButtonEvent xbutton; XMotionEvent xmotion; XCrossingEvent xcrossing; XFocusChangeEvent xfocus; XExposeEvent xexpose; XGraphicsExposeEvent xgraphicsexpose; XNoExposeEvent xnoexpose; XVisibilityEvent xvisibility; XCreateWindowEvent xcreatewindow; XDestroyWindowEvent xdestroywindow; XUnmapEvent xunmap; XMapEvent xmap; XMapRequestEvent xmaprequest; XReparentEvent xreparent; XConfigureEvent xconfigure; XGravityEvent xgravity; XResizeRequestEvent xresizerequest; XConfigureRequestEvent xconfigurerequest; XCirculateEvent xcirculate; XCirculateRequestEvent xcirculaterequest; XPropertyEvent xproperty; XSelectionClearEvent xselectionclear; XSelectionRequestEvent xselectionrequest; XSelectionEvent xselection; XColormapEvent xcolormap; XClientMessageEvent xclient; XMappingEvent xmapping; XErrorEvent xerror; XKeymapEvent xkeymap; XGenericEvent xgeneric; XGenericEventCookie xcookie; long pad[24]; } XEvent; typedef struct { short lbearing; short rbearing; short width; short ascent; short descent; unsigned short attributes; } XCharStruct; typedef struct { Atom name; unsigned long card32; } XFontProp; typedef struct { XExtData *ext_data; Font fid; unsigned direction; unsigned min_char_or_byte2; unsigned max_char_or_byte2; unsigned min_byte1; unsigned max_byte1; int all_chars_exist; unsigned default_char; int n_properties; XFontProp *properties; XCharStruct min_bounds; XCharStruct max_bounds; XCharStruct *per_char; int ascent; int descent; } XFontStruct; typedef struct { char *chars; int nchars; int delta; Font font; } XTextItem; typedef struct { unsigned char byte1; unsigned char byte2; } XChar2b; typedef struct { XChar2b *chars; int nchars; int delta; Font font; } XTextItem16; typedef union { Display *display; GC gc; Visual *visual; Screen *screen; ScreenFormat *pixmap_format; XFontStruct *font; } XEDataObject; typedef struct { XRectangle max_ink_extent; XRectangle max_logical_extent; } XFontSetExtents; typedef struct _XOM *XOM; typedef struct _XOC *XOC, *XFontSet; typedef struct { char *chars; int nchars; int delta; XFontSet font_set; } XmbTextItem; typedef struct { wchar_t *chars; int nchars; int delta; XFontSet font_set; } XwcTextItem; # 1121 "/usr/include/X11/Xlib.h" 3 4 typedef struct { int charset_count; char **charset_list; } XOMCharSetList; typedef enum { XOMOrientation_LTR_TTB, XOMOrientation_RTL_TTB, XOMOrientation_TTB_LTR, XOMOrientation_TTB_RTL, XOMOrientation_Context } XOrientation; typedef struct { int num_orientation; XOrientation *orientation; } XOMOrientation; typedef struct { int num_font; XFontStruct **font_struct_list; char **font_name_list; } XOMFontInfo; typedef struct _XIM *XIM; typedef struct _XIC *XIC; typedef void (*XIMProc)( XIM, XPointer, XPointer ); typedef int (*XICProc)( XIC, XPointer, XPointer ); typedef void (*XIDProc)( Display*, XPointer, XPointer ); typedef unsigned long XIMStyle; typedef struct { unsigned short count_styles; XIMStyle *supported_styles; } XIMStyles; # 1233 "/usr/include/X11/Xlib.h" 3 4 typedef void *XVaNestedList; typedef struct { XPointer client_data; XIMProc callback; } XIMCallback; typedef struct { XPointer client_data; XICProc callback; } XICCallback; typedef unsigned long XIMFeedback; # 1257 "/usr/include/X11/Xlib.h" 3 4 typedef struct _XIMText { unsigned short length; XIMFeedback *feedback; int encoding_is_wchar; union { char *multi_byte; wchar_t *wide_char; } string; } XIMText; typedef unsigned long XIMPreeditState; typedef struct _XIMPreeditStateNotifyCallbackStruct { XIMPreeditState state; } XIMPreeditStateNotifyCallbackStruct; typedef unsigned long XIMResetState; typedef unsigned long XIMStringConversionFeedback; # 1291 "/usr/include/X11/Xlib.h" 3 4 typedef struct _XIMStringConversionText { unsigned short length; XIMStringConversionFeedback *feedback; int encoding_is_wchar; union { char *mbs; wchar_t *wcs; } string; } XIMStringConversionText; typedef unsigned short XIMStringConversionPosition; typedef unsigned short XIMStringConversionType; typedef unsigned short XIMStringConversionOperation; typedef enum { XIMForwardChar, XIMBackwardChar, XIMForwardWord, XIMBackwardWord, XIMCaretUp, XIMCaretDown, XIMNextLine, XIMPreviousLine, XIMLineStart, XIMLineEnd, XIMAbsolutePosition, XIMDontChange } XIMCaretDirection; typedef struct _XIMStringConversionCallbackStruct { XIMStringConversionPosition position; XIMCaretDirection direction; XIMStringConversionOperation operation; unsigned short factor; XIMStringConversionText *text; } XIMStringConversionCallbackStruct; typedef struct _XIMPreeditDrawCallbackStruct { int caret; int chg_first; int chg_length; XIMText *text; } XIMPreeditDrawCallbackStruct; typedef enum { XIMIsInvisible, XIMIsPrimary, XIMIsSecondary } XIMCaretStyle; typedef struct _XIMPreeditCaretCallbackStruct { int position; XIMCaretDirection direction; XIMCaretStyle style; } XIMPreeditCaretCallbackStruct; typedef enum { XIMTextType, XIMBitmapType } XIMStatusDataType; typedef struct _XIMStatusDrawCallbackStruct { XIMStatusDataType type; union { XIMText *text; Pixmap bitmap; } data; } XIMStatusDrawCallbackStruct; typedef struct _XIMHotKeyTrigger { KeySym keysym; int modifier; int modifier_mask; } XIMHotKeyTrigger; typedef struct _XIMHotKeyTriggers { int num_hot_key; XIMHotKeyTrigger *key; } XIMHotKeyTriggers; typedef unsigned long XIMHotKeyState; typedef struct { unsigned short count_values; char **supported_values; } XIMValuesList; extern "C" { extern int _Xdebug; extern XFontStruct *XLoadQueryFont( Display* , const char* ); extern XFontStruct *XQueryFont( Display* , XID ); extern XTimeCoord *XGetMotionEvents( Display* , Window , Time , Time , int* ); extern XModifierKeymap *XDeleteModifiermapEntry( XModifierKeymap* , KeyCode , int ); extern XModifierKeymap *XGetModifierMapping( Display* ); extern XModifierKeymap *XInsertModifiermapEntry( XModifierKeymap* , KeyCode , int ); extern XModifierKeymap *XNewModifiermap( int ); extern XImage *XCreateImage( Display* , Visual* , unsigned int , int , int , char* , unsigned int , unsigned int , int , int ); extern int XInitImage( XImage* ); extern XImage *XGetImage( Display* , Drawable , int , int , unsigned int , unsigned int , unsigned long , int ); extern XImage *XGetSubImage( Display* , Drawable , int , int , unsigned int , unsigned int , unsigned long , int , XImage* , int , int ); extern Display *XOpenDisplay( const char* ); extern void XrmInitialize( void ); extern char *XFetchBytes( Display* , int* ); extern char *XFetchBuffer( Display* , int* , int ); extern char *XGetAtomName( Display* , Atom ); extern int XGetAtomNames( Display* , Atom* , int , char** ); extern char *XGetDefault( Display* , const char* , const char* ); extern char *XDisplayName( const char* ); extern char *XKeysymToString( KeySym ); extern int (*XSynchronize( Display* , int ))( Display* ); extern int (*XSetAfterFunction( Display* , int (*) ( Display* ) ))( Display* ); extern Atom XInternAtom( Display* , const char* , int ); extern int XInternAtoms( Display* , char** , int , int , Atom* ); extern Colormap XCopyColormapAndFree( Display* , Colormap ); extern Colormap XCreateColormap( Display* , Window , Visual* , int ); extern Cursor XCreatePixmapCursor( Display* , Pixmap , Pixmap , XColor* , XColor* , unsigned int , unsigned int ); extern Cursor XCreateGlyphCursor( Display* , Font , Font , unsigned int , unsigned int , XColor const * , XColor const * ); extern Cursor XCreateFontCursor( Display* , unsigned int ); extern Font XLoadFont( Display* , const char* ); extern GC XCreateGC( Display* , Drawable , unsigned long , XGCValues* ); extern GContext XGContextFromGC( GC ); extern void XFlushGC( Display* , GC ); extern Pixmap XCreatePixmap( Display* , Drawable , unsigned int , unsigned int , unsigned int ); extern Pixmap XCreateBitmapFromData( Display* , Drawable , const char* , unsigned int , unsigned int ); extern Pixmap XCreatePixmapFromBitmapData( Display* , Drawable , char* , unsigned int , unsigned int , unsigned long , unsigned long , unsigned int ); extern Window XCreateSimpleWindow( Display* , Window , int , int , unsigned int , unsigned int , unsigned int , unsigned long , unsigned long ); extern Window XGetSelectionOwner( Display* , Atom ); extern Window XCreateWindow( Display* , Window , int , int , unsigned int , unsigned int , unsigned int , int , unsigned int , Visual* , unsigned long , XSetWindowAttributes* ); extern Colormap *XListInstalledColormaps( Display* , Window , int* ); extern char **XListFonts( Display* , const char* , int , int* ); extern char **XListFontsWithInfo( Display* , const char* , int , int* , XFontStruct** ); extern char **XGetFontPath( Display* , int* ); extern char **XListExtensions( Display* , int* ); extern Atom *XListProperties( Display* , Window , int* ); extern XHostAddress *XListHosts( Display* , int* , int* ); __attribute__((deprecated)) extern KeySym XKeycodeToKeysym( Display* , KeyCode , int ); extern KeySym XLookupKeysym( XKeyEvent* , int ); extern KeySym *XGetKeyboardMapping( Display* , KeyCode , int , int* ); extern KeySym XStringToKeysym( const char* ); extern long XMaxRequestSize( Display* ); extern long XExtendedMaxRequestSize( Display* ); extern char *XResourceManagerString( Display* ); extern char *XScreenResourceString( Screen* ); extern unsigned long XDisplayMotionBufferSize( Display* ); extern VisualID XVisualIDFromVisual( Visual* ); extern int XInitThreads( void ); extern void XLockDisplay( Display* ); extern void XUnlockDisplay( Display* ); extern XExtCodes *XInitExtension( Display* , const char* ); extern XExtCodes *XAddExtension( Display* ); extern XExtData *XFindOnExtensionList( XExtData** , int ); extern XExtData **XEHeadOfExtensionList( XEDataObject ); extern Window XRootWindow( Display* , int ); extern Window XDefaultRootWindow( Display* ); extern Window XRootWindowOfScreen( Screen* ); extern Visual *XDefaultVisual( Display* , int ); extern Visual *XDefaultVisualOfScreen( Screen* ); extern GC XDefaultGC( Display* , int ); extern GC XDefaultGCOfScreen( Screen* ); extern unsigned long XBlackPixel( Display* , int ); extern unsigned long XWhitePixel( Display* , int ); extern unsigned long XAllPlanes( void ); extern unsigned long XBlackPixelOfScreen( Screen* ); extern unsigned long XWhitePixelOfScreen( Screen* ); extern unsigned long XNextRequest( Display* ); extern unsigned long XLastKnownRequestProcessed( Display* ); extern char *XServerVendor( Display* ); extern char *XDisplayString( Display* ); extern Colormap XDefaultColormap( Display* , int ); extern Colormap XDefaultColormapOfScreen( Screen* ); extern Display *XDisplayOfScreen( Screen* ); extern Screen *XScreenOfDisplay( Display* , int ); extern Screen *XDefaultScreenOfDisplay( Display* ); extern long XEventMaskOfScreen( Screen* ); extern int XScreenNumberOfScreen( Screen* ); typedef int (*XErrorHandler) ( Display* , XErrorEvent* ); extern XErrorHandler XSetErrorHandler ( XErrorHandler ); typedef int (*XIOErrorHandler) ( Display* ); extern XIOErrorHandler XSetIOErrorHandler ( XIOErrorHandler ); extern XPixmapFormatValues *XListPixmapFormats( Display* , int* ); extern int *XListDepths( Display* , int , int* ); extern int XReconfigureWMWindow( Display* , Window , int , unsigned int , XWindowChanges* ); extern int XGetWMProtocols( Display* , Window , Atom** , int* ); extern int XSetWMProtocols( Display* , Window , Atom* , int ); extern int XIconifyWindow( Display* , Window , int ); extern int XWithdrawWindow( Display* , Window , int ); extern int XGetCommand( Display* , Window , char*** , int* ); extern int XGetWMColormapWindows( Display* , Window , Window** , int* ); extern int XSetWMColormapWindows( Display* , Window , Window* , int ); extern void XFreeStringList( char** ); extern int XSetTransientForHint( Display* , Window , Window ); extern int XActivateScreenSaver( Display* ); extern int XAddHost( Display* , XHostAddress* ); extern int XAddHosts( Display* , XHostAddress* , int ); extern int XAddToExtensionList( struct _XExtData** , XExtData* ); extern int XAddToSaveSet( Display* , Window ); extern int XAllocColor( Display* , Colormap , XColor* ); extern int XAllocColorCells( Display* , Colormap , int , unsigned long* , unsigned int , unsigned long* , unsigned int ); extern int XAllocColorPlanes( Display* , Colormap , int , unsigned long* , int , int , int , int , unsigned long* , unsigned long* , unsigned long* ); extern int XAllocNamedColor( Display* , Colormap , const char* , XColor* , XColor* ); extern int XAllowEvents( Display* , int , Time ); extern int XAutoRepeatOff( Display* ); extern int XAutoRepeatOn( Display* ); extern int XBell( Display* , int ); extern int XBitmapBitOrder( Display* ); extern int XBitmapPad( Display* ); extern int XBitmapUnit( Display* ); extern int XCellsOfScreen( Screen* ); extern int XChangeActivePointerGrab( Display* , unsigned int , Cursor , Time ); extern int XChangeGC( Display* , GC , unsigned long , XGCValues* ); extern int XChangeKeyboardControl( Display* , unsigned long , XKeyboardControl* ); extern int XChangeKeyboardMapping( Display* , int , int , KeySym* , int ); extern int XChangePointerControl( Display* , int , int , int , int , int ); extern int XChangeProperty( Display* , Window , Atom , Atom , int , int , const unsigned char* , int ); extern int XChangeSaveSet( Display* , Window , int ); extern int XChangeWindowAttributes( Display* , Window , unsigned long , XSetWindowAttributes* ); extern int XCheckIfEvent( Display* , XEvent* , int (*) ( Display* , XEvent* , XPointer ) , XPointer ); extern int XCheckMaskEvent( Display* , long , XEvent* ); extern int XCheckTypedEvent( Display* , int , XEvent* ); extern int XCheckTypedWindowEvent( Display* , Window , int , XEvent* ); extern int XCheckWindowEvent( Display* , Window , long , XEvent* ); extern int XCirculateSubwindows( Display* , Window , int ); extern int XCirculateSubwindowsDown( Display* , Window ); extern int XCirculateSubwindowsUp( Display* , Window ); extern int XClearArea( Display* , Window , int , int , unsigned int , unsigned int , int ); extern int XClearWindow( Display* , Window ); extern int XCloseDisplay( Display* ); extern int XConfigureWindow( Display* , Window , unsigned int , XWindowChanges* ); extern int XConnectionNumber( Display* ); extern int XConvertSelection( Display* , Atom , Atom , Atom , Window , Time ); extern int XCopyArea( Display* , Drawable , Drawable , GC , int , int , unsigned int , unsigned int , int , int ); extern int XCopyGC( Display* , GC , unsigned long , GC ); extern int XCopyPlane( Display* , Drawable , Drawable , GC , int , int , unsigned int , unsigned int , int , int , unsigned long ); extern int XDefaultDepth( Display* , int ); extern int XDefaultDepthOfScreen( Screen* ); extern int XDefaultScreen( Display* ); extern int XDefineCursor( Display* , Window , Cursor ); extern int XDeleteProperty( Display* , Window , Atom ); extern int XDestroyWindow( Display* , Window ); extern int XDestroySubwindows( Display* , Window ); extern int XDoesBackingStore( Screen* ); extern int XDoesSaveUnders( Screen* ); extern int XDisableAccessControl( Display* ); extern int XDisplayCells( Display* , int ); extern int XDisplayHeight( Display* , int ); extern int XDisplayHeightMM( Display* , int ); extern int XDisplayKeycodes( Display* , int* , int* ); extern int XDisplayPlanes( Display* , int ); extern int XDisplayWidth( Display* , int ); extern int XDisplayWidthMM( Display* , int ); extern int XDrawArc( Display* , Drawable , GC , int , int , unsigned int , unsigned int , int , int ); extern int XDrawArcs( Display* , Drawable , GC , XArc* , int ); extern int XDrawImageString( Display* , Drawable , GC , int , int , const char* , int ); extern int XDrawImageString16( Display* , Drawable , GC , int , int , const XChar2b* , int ); extern int XDrawLine( Display* , Drawable , GC , int , int , int , int ); extern int XDrawLines( Display* , Drawable , GC , XPoint* , int , int ); extern int XDrawPoint( Display* , Drawable , GC , int , int ); extern int XDrawPoints( Display* , Drawable , GC , XPoint* , int , int ); extern int XDrawRectangle( Display* , Drawable , GC , int , int , unsigned int , unsigned int ); extern int XDrawRectangles( Display* , Drawable , GC , XRectangle* , int ); extern int XDrawSegments( Display* , Drawable , GC , XSegment* , int ); extern int XDrawString( Display* , Drawable , GC , int , int , const char* , int ); extern int XDrawString16( Display* , Drawable , GC , int , int , const XChar2b* , int ); extern int XDrawText( Display* , Drawable , GC , int , int , XTextItem* , int ); extern int XDrawText16( Display* , Drawable , GC , int , int , XTextItem16* , int ); extern int XEnableAccessControl( Display* ); extern int XEventsQueued( Display* , int ); extern int XFetchName( Display* , Window , char** ); extern int XFillArc( Display* , Drawable , GC , int , int , unsigned int , unsigned int , int , int ); extern int XFillArcs( Display* , Drawable , GC , XArc* , int ); extern int XFillPolygon( Display* , Drawable , GC , XPoint* , int , int , int ); extern int XFillRectangle( Display* , Drawable , GC , int , int , unsigned int , unsigned int ); extern int XFillRectangles( Display* , Drawable , GC , XRectangle* , int ); extern int XFlush( Display* ); extern int XForceScreenSaver( Display* , int ); extern int XFree( void* ); extern int XFreeColormap( Display* , Colormap ); extern int XFreeColors( Display* , Colormap , unsigned long* , int , unsigned long ); extern int XFreeCursor( Display* , Cursor ); extern int XFreeExtensionList( char** ); extern int XFreeFont( Display* , XFontStruct* ); extern int XFreeFontInfo( char** , XFontStruct* , int ); extern int XFreeFontNames( char** ); extern int XFreeFontPath( char** ); extern int XFreeGC( Display* , GC ); extern int XFreeModifiermap( XModifierKeymap* ); extern int XFreePixmap( Display* , Pixmap ); extern int XGeometry( Display* , int , const char* , const char* , unsigned int , unsigned int , unsigned int , int , int , int* , int* , int* , int* ); extern int XGetErrorDatabaseText( Display* , const char* , const char* , const char* , char* , int ); extern int XGetErrorText( Display* , int , char* , int ); extern int XGetFontProperty( XFontStruct* , Atom , unsigned long* ); extern int XGetGCValues( Display* , GC , unsigned long , XGCValues* ); extern int XGetGeometry( Display* , Drawable , Window* , int* , int* , unsigned int* , unsigned int* , unsigned int* , unsigned int* ); extern int XGetIconName( Display* , Window , char** ); extern int XGetInputFocus( Display* , Window* , int* ); extern int XGetKeyboardControl( Display* , XKeyboardState* ); extern int XGetPointerControl( Display* , int* , int* , int* ); extern int XGetPointerMapping( Display* , unsigned char* , int ); extern int XGetScreenSaver( Display* , int* , int* , int* , int* ); extern int XGetTransientForHint( Display* , Window , Window* ); extern int XGetWindowProperty( Display* , Window , Atom , long , long , int , Atom , Atom* , int* , unsigned long* , unsigned long* , unsigned char** ); extern int XGetWindowAttributes( Display* , Window , XWindowAttributes* ); extern int XGrabButton( Display* , unsigned int , unsigned int , Window , int , unsigned int , int , int , Window , Cursor ); extern int XGrabKey( Display* , int , unsigned int , Window , int , int , int ); extern int XGrabKeyboard( Display* , Window , int , int , int , Time ); extern int XGrabPointer( Display* , Window , int , unsigned int , int , int , Window , Cursor , Time ); extern int XGrabServer( Display* ); extern int XHeightMMOfScreen( Screen* ); extern int XHeightOfScreen( Screen* ); extern int XIfEvent( Display* , XEvent* , int (*) ( Display* , XEvent* , XPointer ) , XPointer ); extern int XImageByteOrder( Display* ); extern int XInstallColormap( Display* , Colormap ); extern KeyCode XKeysymToKeycode( Display* , KeySym ); extern int XKillClient( Display* , XID ); extern int XLookupColor( Display* , Colormap , const char* , XColor* , XColor* ); extern int XLowerWindow( Display* , Window ); extern int XMapRaised( Display* , Window ); extern int XMapSubwindows( Display* , Window ); extern int XMapWindow( Display* , Window ); extern int XMaskEvent( Display* , long , XEvent* ); extern int XMaxCmapsOfScreen( Screen* ); extern int XMinCmapsOfScreen( Screen* ); extern int XMoveResizeWindow( Display* , Window , int , int , unsigned int , unsigned int ); extern int XMoveWindow( Display* , Window , int , int ); extern int XNextEvent( Display* , XEvent* ); extern int XNoOp( Display* ); extern int XParseColor( Display* , Colormap , const char* , XColor* ); extern int XParseGeometry( const char* , int* , int* , unsigned int* , unsigned int* ); extern int XPeekEvent( Display* , XEvent* ); extern int XPeekIfEvent( Display* , XEvent* , int (*) ( Display* , XEvent* , XPointer ) , XPointer ); extern int XPending( Display* ); extern int XPlanesOfScreen( Screen* ); extern int XProtocolRevision( Display* ); extern int XProtocolVersion( Display* ); extern int XPutBackEvent( Display* , XEvent* ); extern int XPutImage( Display* , Drawable , GC , XImage* , int , int , int , int , unsigned int , unsigned int ); extern int XQLength( Display* ); extern int XQueryBestCursor( Display* , Drawable , unsigned int , unsigned int , unsigned int* , unsigned int* ); extern int XQueryBestSize( Display* , int , Drawable , unsigned int , unsigned int , unsigned int* , unsigned int* ); extern int XQueryBestStipple( Display* , Drawable , unsigned int , unsigned int , unsigned int* , unsigned int* ); extern int XQueryBestTile( Display* , Drawable , unsigned int , unsigned int , unsigned int* , unsigned int* ); extern int XQueryColor( Display* , Colormap , XColor* ); extern int XQueryColors( Display* , Colormap , XColor* , int ); extern int XQueryExtension( Display* , const char* , int* , int* , int* ); extern int XQueryKeymap( Display* , char [32] ); extern int XQueryPointer( Display* , Window , Window* , Window* , int* , int* , int* , int* , unsigned int* ); extern int XQueryTextExtents( Display* , XID , const char* , int , int* , int* , int* , XCharStruct* ); extern int XQueryTextExtents16( Display* , XID , const XChar2b* , int , int* , int* , int* , XCharStruct* ); extern int XQueryTree( Display* , Window , Window* , Window* , Window** , unsigned int* ); extern int XRaiseWindow( Display* , Window ); extern int XReadBitmapFile( Display* , Drawable , const char* , unsigned int* , unsigned int* , Pixmap* , int* , int* ); extern int XReadBitmapFileData( const char* , unsigned int* , unsigned int* , unsigned char** , int* , int* ); extern int XRebindKeysym( Display* , KeySym , KeySym* , int , const unsigned char* , int ); extern int XRecolorCursor( Display* , Cursor , XColor* , XColor* ); extern int XRefreshKeyboardMapping( XMappingEvent* ); extern int XRemoveFromSaveSet( Display* , Window ); extern int XRemoveHost( Display* , XHostAddress* ); extern int XRemoveHosts( Display* , XHostAddress* , int ); extern int XReparentWindow( Display* , Window , Window , int , int ); extern int XResetScreenSaver( Display* ); extern int XResizeWindow( Display* , Window , unsigned int , unsigned int ); extern int XRestackWindows( Display* , Window* , int ); extern int XRotateBuffers( Display* , int ); extern int XRotateWindowProperties( Display* , Window , Atom* , int , int ); extern int XScreenCount( Display* ); extern int XSelectInput( Display* , Window , long ); extern int XSendEvent( Display* , Window , int , long , XEvent* ); extern int XSetAccessControl( Display* , int ); extern int XSetArcMode( Display* , GC , int ); extern int XSetBackground( Display* , GC , unsigned long ); extern int XSetClipMask( Display* , GC , Pixmap ); extern int XSetClipOrigin( Display* , GC , int , int ); extern int XSetClipRectangles( Display* , GC , int , int , XRectangle* , int , int ); extern int XSetCloseDownMode( Display* , int ); extern int XSetCommand( Display* , Window , char** , int ); extern int XSetDashes( Display* , GC , int , const char* , int ); extern int XSetFillRule( Display* , GC , int ); extern int XSetFillStyle( Display* , GC , int ); extern int XSetFont( Display* , GC , Font ); extern int XSetFontPath( Display* , char** , int ); extern int XSetForeground( Display* , GC , unsigned long ); extern int XSetFunction( Display* , GC , int ); extern int XSetGraphicsExposures( Display* , GC , int ); extern int XSetIconName( Display* , Window , const char* ); extern int XSetInputFocus( Display* , Window , int , Time ); extern int XSetLineAttributes( Display* , GC , unsigned int , int , int , int ); extern int XSetModifierMapping( Display* , XModifierKeymap* ); extern int XSetPlaneMask( Display* , GC , unsigned long ); extern int XSetPointerMapping( Display* , const unsigned char* , int ); extern int XSetScreenSaver( Display* , int , int , int , int ); extern int XSetSelectionOwner( Display* , Atom , Window , Time ); extern int XSetState( Display* , GC , unsigned long , unsigned long , int , unsigned long ); extern int XSetStipple( Display* , GC , Pixmap ); extern int XSetSubwindowMode( Display* , GC , int ); extern int XSetTSOrigin( Display* , GC , int , int ); extern int XSetTile( Display* , GC , Pixmap ); extern int XSetWindowBackground( Display* , Window , unsigned long ); extern int XSetWindowBackgroundPixmap( Display* , Window , Pixmap ); extern int XSetWindowBorder( Display* , Window , unsigned long ); extern int XSetWindowBorderPixmap( Display* , Window , Pixmap ); extern int XSetWindowBorderWidth( Display* , Window , unsigned int ); extern int XSetWindowColormap( Display* , Window , Colormap ); extern int XStoreBuffer( Display* , const char* , int , int ); extern int XStoreBytes( Display* , const char* , int ); extern int XStoreColor( Display* , Colormap , XColor* ); extern int XStoreColors( Display* , Colormap , XColor* , int ); extern int XStoreName( Display* , Window , const char* ); extern int XStoreNamedColor( Display* , Colormap , const char* , unsigned long , int ); extern int XSync( Display* , int ); extern int XTextExtents( XFontStruct* , const char* , int , int* , int* , int* , XCharStruct* ); extern int XTextExtents16( XFontStruct* , const XChar2b* , int , int* , int* , int* , XCharStruct* ); extern int XTextWidth( XFontStruct* , const char* , int ); extern int XTextWidth16( XFontStruct* , const XChar2b* , int ); extern int XTranslateCoordinates( Display* , Window , Window , int , int , int* , int* , Window* ); extern int XUndefineCursor( Display* , Window ); extern int XUngrabButton( Display* , unsigned int , unsigned int , Window ); extern int XUngrabKey( Display* , int , unsigned int , Window ); extern int XUngrabKeyboard( Display* , Time ); extern int XUngrabPointer( Display* , Time ); extern int XUngrabServer( Display* ); extern int XUninstallColormap( Display* , Colormap ); extern int XUnloadFont( Display* , Font ); extern int XUnmapSubwindows( Display* , Window ); extern int XUnmapWindow( Display* , Window ); extern int XVendorRelease( Display* ); extern int XWarpPointer( Display* , Window , Window , int , int , unsigned int , unsigned int , int , int ); extern int XWidthMMOfScreen( Screen* ); extern int XWidthOfScreen( Screen* ); extern int XWindowEvent( Display* , Window , long , XEvent* ); extern int XWriteBitmapFile( Display* , const char* , Pixmap , unsigned int , unsigned int , int , int ); extern int XSupportsLocale (void); extern char *XSetLocaleModifiers( const char* ); extern XOM XOpenOM( Display* , struct _XrmHashBucketRec* , const char* , const char* ); extern int XCloseOM( XOM ); extern char *XSetOMValues( XOM , ... ) __attribute__ ((__sentinel__(0))); extern char *XGetOMValues( XOM , ... ) __attribute__ ((__sentinel__(0))); extern Display *XDisplayOfOM( XOM ); extern char *XLocaleOfOM( XOM ); extern XOC XCreateOC( XOM , ... ) __attribute__ ((__sentinel__(0))); extern void XDestroyOC( XOC ); extern XOM XOMOfOC( XOC ); extern char *XSetOCValues( XOC , ... ) __attribute__ ((__sentinel__(0))); extern char *XGetOCValues( XOC , ... ) __attribute__ ((__sentinel__(0))); extern XFontSet XCreateFontSet( Display* , const char* , char*** , int* , char** ); extern void XFreeFontSet( Display* , XFontSet ); extern int XFontsOfFontSet( XFontSet , XFontStruct*** , char*** ); extern char *XBaseFontNameListOfFontSet( XFontSet ); extern char *XLocaleOfFontSet( XFontSet ); extern int XContextDependentDrawing( XFontSet ); extern int XDirectionalDependentDrawing( XFontSet ); extern int XContextualDrawing( XFontSet ); extern XFontSetExtents *XExtentsOfFontSet( XFontSet ); extern int XmbTextEscapement( XFontSet , const char* , int ); extern int XwcTextEscapement( XFontSet , const wchar_t* , int ); extern int Xutf8TextEscapement( XFontSet , const char* , int ); extern int XmbTextExtents( XFontSet , const char* , int , XRectangle* , XRectangle* ); extern int XwcTextExtents( XFontSet , const wchar_t* , int , XRectangle* , XRectangle* ); extern int Xutf8TextExtents( XFontSet , const char* , int , XRectangle* , XRectangle* ); extern int XmbTextPerCharExtents( XFontSet , const char* , int , XRectangle* , XRectangle* , int , int* , XRectangle* , XRectangle* ); extern int XwcTextPerCharExtents( XFontSet , const wchar_t* , int , XRectangle* , XRectangle* , int , int* , XRectangle* , XRectangle* ); extern int Xutf8TextPerCharExtents( XFontSet , const char* , int , XRectangle* , XRectangle* , int , int* , XRectangle* , XRectangle* ); extern void XmbDrawText( Display* , Drawable , GC , int , int , XmbTextItem* , int ); extern void XwcDrawText( Display* , Drawable , GC , int , int , XwcTextItem* , int ); extern void Xutf8DrawText( Display* , Drawable , GC , int , int , XmbTextItem* , int ); extern void XmbDrawString( Display* , Drawable , XFontSet , GC , int , int , const char* , int ); extern void XwcDrawString( Display* , Drawable , XFontSet , GC , int , int , const wchar_t* , int ); extern void Xutf8DrawString( Display* , Drawable , XFontSet , GC , int , int , const char* , int ); extern void XmbDrawImageString( Display* , Drawable , XFontSet , GC , int , int , const char* , int ); extern void XwcDrawImageString( Display* , Drawable , XFontSet , GC , int , int , const wchar_t* , int ); extern void Xutf8DrawImageString( Display* , Drawable , XFontSet , GC , int , int , const char* , int ); extern XIM XOpenIM( Display* , struct _XrmHashBucketRec* , char* , char* ); extern int XCloseIM( XIM ); extern char *XGetIMValues( XIM , ... ) __attribute__ ((__sentinel__(0))); extern char *XSetIMValues( XIM , ... ) __attribute__ ((__sentinel__(0))); extern Display *XDisplayOfIM( XIM ); extern char *XLocaleOfIM( XIM ); extern XIC XCreateIC( XIM , ... ) __attribute__ ((__sentinel__(0))); extern void XDestroyIC( XIC ); extern void XSetICFocus( XIC ); extern void XUnsetICFocus( XIC ); extern wchar_t *XwcResetIC( XIC ); extern char *XmbResetIC( XIC ); extern char *Xutf8ResetIC( XIC ); extern char *XSetICValues( XIC , ... ) __attribute__ ((__sentinel__(0))); extern char *XGetICValues( XIC , ... ) __attribute__ ((__sentinel__(0))); extern XIM XIMOfIC( XIC ); extern int XFilterEvent( XEvent* , Window ); extern int XmbLookupString( XIC , XKeyPressedEvent* , char* , int , KeySym* , int* ); extern int XwcLookupString( XIC , XKeyPressedEvent* , wchar_t* , int , KeySym* , int* ); extern int Xutf8LookupString( XIC , XKeyPressedEvent* , char* , int , KeySym* , int* ); extern XVaNestedList XVaCreateNestedList( int , ... ) __attribute__ ((__sentinel__(0))); extern int XRegisterIMInstantiateCallback( Display* , struct _XrmHashBucketRec* , char* , char* , XIDProc , XPointer ); extern int XUnregisterIMInstantiateCallback( Display* , struct _XrmHashBucketRec* , char* , char* , XIDProc , XPointer ); typedef void (*XConnectionWatchProc)( Display* , XPointer , int , int , XPointer* ); extern int XInternalConnectionNumbers( Display* , int** , int* ); extern void XProcessInternalConnection( Display* , int ); extern int XAddConnectionWatch( Display* , XConnectionWatchProc , XPointer ); extern void XRemoveConnectionWatch( Display* , XConnectionWatchProc , XPointer ); extern void XSetAuthorization( char * , int , char * , int ); extern int _Xmbtowc( wchar_t * , char * , int ); extern int _Xwctomb( char * , wchar_t ); extern int XGetEventData( Display* , XGenericEventCookie* ); extern void XFreeEventData( Display* , XGenericEventCookie* ); } # 129 "../../third_party/angle/include/EGL/eglplatform.h" 2 # 1 "/usr/include/X11/Xutil.h" 1 3 4 # 54 "/usr/include/X11/Xutil.h" 3 4 # 1 "/usr/include/X11/keysym.h" 1 3 4 # 73 "/usr/include/X11/keysym.h" 3 4 # 1 "/usr/include/X11/keysymdef.h" 1 3 4 # 74 "/usr/include/X11/keysym.h" 2 3 4 # 55 "/usr/include/X11/Xutil.h" 2 3 4 # 81 "/usr/include/X11/Xutil.h" 3 4 typedef struct { long flags; int x, y; int width, height; int min_width, min_height; int max_width, max_height; int width_inc, height_inc; struct { int x; int y; } min_aspect, max_aspect; int base_width, base_height; int win_gravity; } XSizeHints; # 119 "/usr/include/X11/Xutil.h" 3 4 typedef struct { long flags; int input; int initial_state; Pixmap icon_pixmap; Window icon_window; int icon_x, icon_y; Pixmap icon_mask; XID window_group; } XWMHints; # 163 "/usr/include/X11/Xutil.h" 3 4 typedef struct { unsigned char *value; Atom encoding; int format; unsigned long nitems; } XTextProperty; typedef enum { XStringStyle, XCompoundTextStyle, XTextStyle, XStdICCTextStyle, XUTF8StringStyle } XICCEncodingStyle; typedef struct { int min_width, min_height; int max_width, max_height; int width_inc, height_inc; } XIconSize; typedef struct { char *res_name; char *res_class; } XClassHint; # 231 "/usr/include/X11/Xutil.h" 3 4 typedef struct _XComposeStatus { XPointer compose_ptr; int chars_matched; } XComposeStatus; # 273 "/usr/include/X11/Xutil.h" 3 4 typedef struct _XRegion *Region; # 287 "/usr/include/X11/Xutil.h" 3 4 typedef struct { Visual *visual; VisualID visualid; int screen; int depth; int c_class; unsigned long red_mask; unsigned long green_mask; unsigned long blue_mask; int colormap_size; int bits_per_rgb; } XVisualInfo; # 320 "/usr/include/X11/Xutil.h" 3 4 typedef struct { Colormap colormap; unsigned long red_max; unsigned long red_mult; unsigned long green_max; unsigned long green_mult; unsigned long blue_max; unsigned long blue_mult; unsigned long base_pixel; VisualID visualid; XID killid; } XStandardColormap; # 357 "/usr/include/X11/Xutil.h" 3 4 typedef int XContext; extern "C" { extern XClassHint *XAllocClassHint ( void ); extern XIconSize *XAllocIconSize ( void ); extern XSizeHints *XAllocSizeHints ( void ); extern XStandardColormap *XAllocStandardColormap ( void ); extern XWMHints *XAllocWMHints ( void ); extern int XClipBox( Region , XRectangle* ); extern Region XCreateRegion( void ); extern const char *XDefaultString (void); extern int XDeleteContext( Display* , XID , XContext ); extern int XDestroyRegion( Region ); extern int XEmptyRegion( Region ); extern int XEqualRegion( Region , Region ); extern int XFindContext( Display* , XID , XContext , XPointer* ); extern int XGetClassHint( Display* , Window , XClassHint* ); extern int XGetIconSizes( Display* , Window , XIconSize** , int* ); extern int XGetNormalHints( Display* , Window , XSizeHints* ); extern int XGetRGBColormaps( Display* , Window , XStandardColormap** , int* , Atom ); extern int XGetSizeHints( Display* , Window , XSizeHints* , Atom ); extern int XGetStandardColormap( Display* , Window , XStandardColormap* , Atom ); extern int XGetTextProperty( Display* , Window , XTextProperty* , Atom ); extern XVisualInfo *XGetVisualInfo( Display* , long , XVisualInfo* , int* ); extern int XGetWMClientMachine( Display* , Window , XTextProperty* ); extern XWMHints *XGetWMHints( Display* , Window ); extern int XGetWMIconName( Display* , Window , XTextProperty* ); extern int XGetWMName( Display* , Window , XTextProperty* ); extern int XGetWMNormalHints( Display* , Window , XSizeHints* , long* ); extern int XGetWMSizeHints( Display* , Window , XSizeHints* , long* , Atom ); extern int XGetZoomHints( Display* , Window , XSizeHints* ); extern int XIntersectRegion( Region , Region , Region ); extern void XConvertCase( KeySym , KeySym* , KeySym* ); extern int XLookupString( XKeyEvent* , char* , int , KeySym* , XComposeStatus* ); extern int XMatchVisualInfo( Display* , int , int , int , XVisualInfo* ); extern int XOffsetRegion( Region , int , int ); extern int XPointInRegion( Region , int , int ); extern Region XPolygonRegion( XPoint* , int , int ); extern int XRectInRegion( Region , int , int , unsigned int , unsigned int ); extern int XSaveContext( Display* , XID , XContext , const char* ); extern int XSetClassHint( Display* , Window , XClassHint* ); extern int XSetIconSizes( Display* , Window , XIconSize* , int ); extern int XSetNormalHints( Display* , Window , XSizeHints* ); extern void XSetRGBColormaps( Display* , Window , XStandardColormap* , int , Atom ); extern int XSetSizeHints( Display* , Window , XSizeHints* , Atom ); extern int XSetStandardProperties( Display* , Window , const char* , const char* , Pixmap , char** , int , XSizeHints* ); extern void XSetTextProperty( Display* , Window , XTextProperty* , Atom ); extern void XSetWMClientMachine( Display* , Window , XTextProperty* ); extern int XSetWMHints( Display* , Window , XWMHints* ); extern void XSetWMIconName( Display* , Window , XTextProperty* ); extern void XSetWMName( Display* , Window , XTextProperty* ); extern void XSetWMNormalHints( Display* , Window , XSizeHints* ); extern void XSetWMProperties( Display* , Window , XTextProperty* , XTextProperty* , char** , int , XSizeHints* , XWMHints* , XClassHint* ); extern void XmbSetWMProperties( Display* , Window , const char* , const char* , char** , int , XSizeHints* , XWMHints* , XClassHint* ); extern void Xutf8SetWMProperties( Display* , Window , const char* , const char* , char** , int , XSizeHints* , XWMHints* , XClassHint* ); extern void XSetWMSizeHints( Display* , Window , XSizeHints* , Atom ); extern int XSetRegion( Display* , GC , Region ); extern void XSetStandardColormap( Display* , Window , XStandardColormap* , Atom ); extern int XSetZoomHints( Display* , Window , XSizeHints* ); extern int XShrinkRegion( Region , int , int ); extern int XStringListToTextProperty( char** , int , XTextProperty* ); extern int XSubtractRegion( Region , Region , Region ); extern int XmbTextListToTextProperty( Display* display, char** list, int count, XICCEncodingStyle style, XTextProperty* text_prop_return ); extern int XwcTextListToTextProperty( Display* display, wchar_t** list, int count, XICCEncodingStyle style, XTextProperty* text_prop_return ); extern int Xutf8TextListToTextProperty( Display* display, char** list, int count, XICCEncodingStyle style, XTextProperty* text_prop_return ); extern void XwcFreeStringList( wchar_t** list ); extern int XTextPropertyToStringList( XTextProperty* , char*** , int* ); extern int XmbTextPropertyToTextList( Display* display, const XTextProperty* text_prop, char*** list_return, int* count_return ); extern int XwcTextPropertyToTextList( Display* display, const XTextProperty* text_prop, wchar_t*** list_return, int* count_return ); extern int Xutf8TextPropertyToTextList( Display* display, const XTextProperty* text_prop, char*** list_return, int* count_return ); extern int XUnionRectWithRegion( XRectangle* , Region , Region ); extern int XUnionRegion( Region , Region , Region ); extern int XWMGeometry( Display* , int , const char* , const char* , unsigned int , XSizeHints* , int* , int* , int* , int* , int* ); extern int XXorRegion( Region , Region , Region ); } # 130 "../../third_party/angle/include/EGL/eglplatform.h" 2 # 131 "../../third_party/angle/include/EGL/eglplatform.h" typedef Display *EGLNativeDisplayType; typedef Pixmap EGLNativePixmapType; typedef Window EGLNativeWindowType; # 160 "../../third_party/angle/include/EGL/eglplatform.h" typedef EGLNativeDisplayType NativeDisplayType; typedef EGLNativePixmapType NativePixmapType; typedef EGLNativeWindowType NativeWindowType; # 172 "../../third_party/angle/include/EGL/eglplatform.h" typedef khronos_int32_t EGLint; # 40 "../../third_party/angle/include/EGL/egl.h" 2 # 58 "../../third_party/angle/include/EGL/egl.h" typedef unsigned int EGLBoolean; typedef void *EGLDisplay; typedef void *EGLConfig; typedef void *EGLSurface; typedef void *EGLContext; typedef void (*__eglMustCastToProperFunctionPointerType)(void); # 125 "../../third_party/angle/include/EGL/egl.h" typedef EGLBoolean (* PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); typedef EGLBoolean (* PFNEGLCOPYBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); typedef EGLContext (* PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list); typedef EGLSurface (* PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); typedef EGLSurface (* PFNEGLCREATEPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list); typedef EGLSurface (* PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list); typedef EGLBoolean (* PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx); typedef EGLBoolean (* PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface); typedef EGLBoolean (* PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); typedef EGLBoolean (* PFNEGLGETCONFIGSPROC) (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); typedef EGLDisplay (* PFNEGLGETCURRENTDISPLAYPROC) (void); typedef EGLSurface (* PFNEGLGETCURRENTSURFACEPROC) (EGLint readdraw); typedef EGLDisplay (* PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id); typedef EGLint (* PFNEGLGETERRORPROC) (void); typedef __eglMustCastToProperFunctionPointerType (* PFNEGLGETPROCADDRESSPROC) (const char *procname); typedef EGLBoolean (* PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint *major, EGLint *minor); typedef EGLBoolean (* PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); typedef EGLBoolean (* PFNEGLQUERYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value); typedef const char *(* PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name); typedef EGLBoolean (* PFNEGLQUERYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value); typedef EGLBoolean (* PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface); typedef EGLBoolean (* PFNEGLTERMINATEPROC) (EGLDisplay dpy); typedef EGLBoolean (* PFNEGLWAITGLPROC) (void); typedef EGLBoolean (* PFNEGLWAITNATIVEPROC) (EGLint engine); EGLBoolean eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config); EGLBoolean eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target); EGLContext eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list); EGLSurface eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list); EGLSurface eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list); EGLSurface eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list); EGLBoolean eglDestroyContext (EGLDisplay dpy, EGLContext ctx); EGLBoolean eglDestroySurface (EGLDisplay dpy, EGLSurface surface); EGLBoolean eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value); EGLBoolean eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); EGLDisplay eglGetCurrentDisplay (void); EGLSurface eglGetCurrentSurface (EGLint readdraw); EGLDisplay eglGetDisplay (EGLNativeDisplayType display_id); EGLint eglGetError (void); __eglMustCastToProperFunctionPointerType eglGetProcAddress (const char *procname); EGLBoolean eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor); EGLBoolean eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx); EGLBoolean eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value); const char * eglQueryString (EGLDisplay dpy, EGLint name); EGLBoolean eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value); EGLBoolean eglSwapBuffers (EGLDisplay dpy, EGLSurface surface); EGLBoolean eglTerminate (EGLDisplay dpy); EGLBoolean eglWaitGL (void); EGLBoolean eglWaitNative (EGLint engine); # 193 "../../third_party/angle/include/EGL/egl.h" typedef EGLBoolean (* PFNEGLBINDTEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer); typedef EGLBoolean (* PFNEGLRELEASETEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer); typedef EGLBoolean (* PFNEGLSURFACEATTRIBPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); typedef EGLBoolean (* PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval); EGLBoolean eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer); EGLBoolean eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer); EGLBoolean eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value); EGLBoolean eglSwapInterval (EGLDisplay dpy, EGLint interval); typedef unsigned int EGLenum; typedef void *EGLClientBuffer; # 238 "../../third_party/angle/include/EGL/egl.h" typedef EGLBoolean (* PFNEGLBINDAPIPROC) (EGLenum api); typedef EGLenum (* PFNEGLQUERYAPIPROC) (void); typedef EGLSurface (* PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC) (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list); typedef EGLBoolean (* PFNEGLRELEASETHREADPROC) (void); typedef EGLBoolean (* PFNEGLWAITCLIENTPROC) (void); EGLBoolean eglBindAPI (EGLenum api); EGLenum eglQueryAPI (void); EGLSurface eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list); EGLBoolean eglReleaseThread (void); EGLBoolean eglWaitClient (void); # 278 "../../third_party/angle/include/EGL/egl.h" typedef EGLContext (* PFNEGLGETCURRENTCONTEXTPROC) (void); EGLContext eglGetCurrentContext (void); typedef void *EGLSync; typedef intptr_t EGLAttrib; typedef khronos_utime_nanoseconds_t EGLTime; typedef void *EGLImage; # 333 "../../third_party/angle/include/EGL/egl.h" typedef EGLSync (* PFNEGLCREATESYNCPROC) (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list); typedef EGLBoolean (* PFNEGLDESTROYSYNCPROC) (EGLDisplay dpy, EGLSync sync); typedef EGLint (* PFNEGLCLIENTWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout); typedef EGLBoolean (* PFNEGLGETSYNCATTRIBPROC) (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value); typedef EGLImage (* PFNEGLCREATEIMAGEPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list); typedef EGLBoolean (* PFNEGLDESTROYIMAGEPROC) (EGLDisplay dpy, EGLImage image); typedef EGLDisplay (* PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void *native_display, const EGLAttrib *attrib_list); typedef EGLSurface (* PFNEGLCREATEPLATFORMWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list); typedef EGLSurface (* PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list); typedef EGLBoolean (* PFNEGLWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags); EGLSync eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list); EGLBoolean eglDestroySync (EGLDisplay dpy, EGLSync sync); EGLint eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout); EGLBoolean eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value); EGLImage eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list); EGLBoolean eglDestroyImage (EGLDisplay dpy, EGLImage image); EGLDisplay eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list); EGLSurface eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list); EGLSurface eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list); EGLBoolean eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags); } # 16 "../../third_party/angle/src/common/PackedEGLEnums_autogen.h" 2 # 1 "../../third_party/angle/include/EGL/eglext.h" 1 extern "C" { # 61 "../../third_party/angle/include/EGL/eglext.h" typedef void *EGLSyncKHR; typedef intptr_t EGLAttribKHR; typedef EGLSyncKHR (* PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list); EGLSyncKHR eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list); # 111 "../../third_party/angle/include/EGL/eglext.h" typedef void *EGLLabelKHR; typedef void *EGLObjectKHR; typedef void ( *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message); # 126 "../../third_party/angle/include/EGL/eglext.h" typedef EGLint (* PFNEGLDEBUGMESSAGECONTROLKHRPROC) (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list); typedef EGLBoolean (* PFNEGLQUERYDEBUGKHRPROC) (EGLint attribute, EGLAttrib *value); typedef EGLint (* PFNEGLLABELOBJECTKHRPROC) (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label); EGLint eglDebugMessageControlKHR (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list); EGLBoolean eglQueryDebugKHR (EGLint attribute, EGLAttrib *value); EGLint eglLabelObjectKHR (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label); typedef EGLBoolean (* PFNEGLQUERYDISPLAYATTRIBKHRPROC) (EGLDisplay dpy, EGLint name, EGLAttrib *value); EGLBoolean eglQueryDisplayAttribKHR (EGLDisplay dpy, EGLint name, EGLAttrib *value); typedef khronos_utime_nanoseconds_t EGLTimeKHR; typedef EGLSyncKHR (* PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); typedef EGLBoolean (* PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); typedef EGLint (* PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); typedef EGLBoolean (* PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); EGLSyncKHR eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); EGLBoolean eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync); EGLint eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); EGLBoolean eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); # 205 "../../third_party/angle/include/EGL/eglext.h" typedef void *EGLImageKHR; typedef EGLImageKHR (* PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); typedef EGLBoolean (* PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); EGLImageKHR eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); EGLBoolean eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); # 248 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list); typedef EGLBoolean (* PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface); EGLBoolean eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list); EGLBoolean eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface); # 263 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value); EGLBoolean eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value); # 282 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); EGLBoolean eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); # 322 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); EGLBoolean eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); typedef void *EGLStreamKHR; typedef khronos_uint64_t EGLuint64KHR; # 347 "../../third_party/angle/include/EGL/eglext.h" typedef EGLStreamKHR (* PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list); typedef EGLBoolean (* PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); typedef EGLBoolean (* PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); typedef EGLBoolean (* PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); typedef EGLBoolean (* PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); EGLStreamKHR eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list); EGLBoolean eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream); EGLBoolean eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); EGLBoolean eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); EGLBoolean eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); typedef EGLStreamKHR (* PFNEGLCREATESTREAMATTRIBKHRPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list); typedef EGLBoolean (* PFNEGLSETSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value); typedef EGLBoolean (* PFNEGLQUERYSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value); typedef EGLBoolean (* PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); typedef EGLBoolean (* PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); EGLStreamKHR eglCreateStreamAttribKHR (EGLDisplay dpy, const EGLAttrib *attrib_list); EGLBoolean eglSetStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value); EGLBoolean eglQueryStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value); EGLBoolean eglStreamConsumerAcquireAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); EGLBoolean eglStreamConsumerReleaseAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); # 384 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); typedef EGLBoolean (* PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); typedef EGLBoolean (* PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); EGLBoolean eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream); EGLBoolean eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream); EGLBoolean eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream); typedef int EGLNativeFileDescriptorKHR; typedef EGLNativeFileDescriptorKHR (* PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); typedef EGLStreamKHR (* PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); EGLNativeFileDescriptorKHR eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream); EGLStreamKHR eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); # 416 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); EGLBoolean eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); # 433 "../../third_party/angle/include/EGL/eglext.h" typedef EGLSurface (* PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); EGLSurface eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); # 446 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); EGLBoolean eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); # 459 "../../third_party/angle/include/EGL/eglext.h" typedef EGLint (* PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); EGLint eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); typedef khronos_ssize_t EGLsizeiANDROID; typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize); typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize); typedef void (* PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); void eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); # 482 "../../third_party/angle/include/EGL/eglext.h" typedef EGLClientBuffer (* PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC) (const EGLint *attrib_list); EGLClientBuffer eglCreateNativeClientBufferANDROID (const EGLint *attrib_list); # 500 "../../third_party/angle/include/EGL/eglext.h" typedef khronos_stime_nanoseconds_t EGLnsecsANDROID; # 516 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint name); typedef EGLBoolean (* PFNEGLGETCOMPOSITORTIMINGANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint *names, EGLnsecsANDROID *values); typedef EGLBoolean (* PFNEGLGETNEXTFRAMEIDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId); typedef EGLBoolean (* PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLint timestamp); typedef EGLBoolean (* PFNEGLGETFRAMETIMESTAMPSANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint *timestamps, EGLnsecsANDROID *values); EGLBoolean eglGetCompositorTimingSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint name); EGLBoolean eglGetCompositorTimingANDROID (EGLDisplay dpy, EGLSurface surface, EGLint numTimestamps, const EGLint *names, EGLnsecsANDROID *values); EGLBoolean eglGetNextFrameIdANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *frameId); EGLBoolean eglGetFrameTimestampSupportedANDROID (EGLDisplay dpy, EGLSurface surface, EGLint timestamp); EGLBoolean eglGetFrameTimestampsANDROID (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR frameId, EGLint numTimestamps, const EGLint *timestamps, EGLnsecsANDROID *values); struct AHardwareBuffer; typedef EGLClientBuffer (* PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC) (const struct AHardwareBuffer *buffer); EGLClientBuffer eglGetNativeClientBufferANDROID (const struct AHardwareBuffer *buffer); # 550 "../../third_party/angle/include/EGL/eglext.h" typedef EGLint (* PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync); EGLint eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync); typedef EGLBoolean (* PFNEGLPRESENTATIONTIMEANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time); EGLBoolean eglPresentationTimeANDROID (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time); # 582 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); EGLBoolean eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); # 625 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLCLIENTSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list); EGLBoolean eglClientSignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list); # 637 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC) (const EGLint *external_ref_ids, EGLint num_entries); typedef EGLBoolean (* PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC) (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries); typedef EGLBoolean (* PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC) (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries); typedef EGLBoolean (* PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC) (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries); typedef EGLBoolean (* PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC) (EGLint external_win_id); typedef EGLBoolean (* PFNEGLCOMPOSITORSETSIZEEXTPROC) (EGLint external_win_id, EGLint width, EGLint height); typedef EGLBoolean (* PFNEGLCOMPOSITORSWAPPOLICYEXTPROC) (EGLint external_win_id, EGLint policy); EGLBoolean eglCompositorSetContextListEXT (const EGLint *external_ref_ids, EGLint num_entries); EGLBoolean eglCompositorSetContextAttributesEXT (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries); EGLBoolean eglCompositorSetWindowListEXT (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries); EGLBoolean eglCompositorSetWindowAttributesEXT (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries); EGLBoolean eglCompositorBindTexWindowEXT (EGLint external_win_id); EGLBoolean eglCompositorSetSizeEXT (EGLint external_win_id, EGLint width, EGLint height); EGLBoolean eglCompositorSwapPolicyEXT (EGLint external_win_id, EGLint policy); # 665 "../../third_party/angle/include/EGL/eglext.h" typedef void *EGLDeviceEXT; typedef EGLBoolean (* PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value); typedef const char *(* PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name); typedef EGLBoolean (* PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices); typedef EGLBoolean (* PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); EGLBoolean eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value); const char * eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name); EGLBoolean eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices); EGLBoolean eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); # 768 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLQUERYDMABUFFORMATSEXTPROC) (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats); typedef EGLBoolean (* PFNEGLQUERYDMABUFMODIFIERSEXTPROC) (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers); EGLBoolean eglQueryDmaBufFormatsEXT (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats); EGLBoolean eglQueryDmaBufModifiersEXT (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers); # 795 "../../third_party/angle/include/EGL/eglext.h" typedef void *EGLOutputLayerEXT; typedef void *EGLOutputPortEXT; typedef EGLBoolean (* PFNEGLGETOUTPUTLAYERSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers); typedef EGLBoolean (* PFNEGLGETOUTPUTPORTSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports); typedef EGLBoolean (* PFNEGLOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value); typedef EGLBoolean (* PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value); typedef const char *(* PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name); typedef EGLBoolean (* PFNEGLOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value); typedef EGLBoolean (* PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value); typedef const char *(* PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name); EGLBoolean eglGetOutputLayersEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers); EGLBoolean eglGetOutputPortsEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports); EGLBoolean eglOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value); EGLBoolean eglQueryOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value); const char * eglQueryOutputLayerStringEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name); EGLBoolean eglOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value); EGLBoolean eglQueryOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value); const char * eglQueryOutputPortStringEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name); # 844 "../../third_party/angle/include/EGL/eglext.h" typedef EGLDisplay (* PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list); typedef EGLSurface (* PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list); typedef EGLSurface (* PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list); EGLDisplay eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list); EGLSurface eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list); EGLSurface eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list); # 881 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer); EGLBoolean eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer); # 910 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); EGLBoolean eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); typedef EGLBoolean (* PFNEGLUNSIGNALSYNCEXTPROC) (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list); EGLBoolean eglUnsignalSyncEXT (EGLDisplay dpy, EGLSync sync, const EGLAttrib *attrib_list); # 955 "../../third_party/angle/include/EGL/eglext.h" struct EGLClientPixmapHI { void *pData; EGLint iWidth; EGLint iHeight; EGLint iStride; }; typedef EGLSurface (* PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap); EGLSurface eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap); # 1000 "../../third_party/angle/include/EGL/eglext.h" typedef EGLImageKHR (* PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list); typedef EGLBoolean (* PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); EGLImageKHR eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list); EGLBoolean eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); typedef EGLBoolean (* PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers); typedef EGLBoolean (* PFNEGLEXPORTDMABUFIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets); EGLBoolean eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers); EGLBoolean eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets); # 1030 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); EGLBoolean eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); typedef EGLBoolean (* PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); EGLBoolean eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects); # 1093 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id); typedef EGLBoolean (* PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window); typedef EGLBoolean (* PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap); EGLBoolean eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id); EGLBoolean eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window); EGLBoolean eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap); # 1110 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); EGLBoolean eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); # 1126 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); EGLBoolean eglStreamConsumerGLTextureExternalAttribsNV (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); # 1170 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLSTREAMFLUSHNVPROC) (EGLDisplay dpy, EGLStreamKHR stream); EGLBoolean eglStreamFlushNV (EGLDisplay dpy, EGLStreamKHR stream); # 1198 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLQUERYDISPLAYATTRIBNVPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); typedef EGLBoolean (* PFNEGLSETSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data); typedef EGLBoolean (* PFNEGLQUERYSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data); EGLBoolean eglQueryDisplayAttribNV (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); EGLBoolean eglSetStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data); EGLBoolean eglQueryStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data); # 1224 "../../third_party/angle/include/EGL/eglext.h" typedef EGLBoolean (* PFNEGLRESETSTREAMNVPROC) (EGLDisplay dpy, EGLStreamKHR stream); EGLBoolean eglResetStreamNV (EGLDisplay dpy, EGLStreamKHR stream); # 1250 "../../third_party/angle/include/EGL/eglext.h" typedef EGLSyncKHR (* PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list); EGLSyncKHR eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list); typedef void *EGLSyncNV; typedef khronos_utime_nanoseconds_t EGLTimeNV; # 1274 "../../third_party/angle/include/EGL/eglext.h" typedef EGLSyncNV (* PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); typedef EGLBoolean (* PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync); typedef EGLBoolean (* PFNEGLFENCENVPROC) (EGLSyncNV sync); typedef EGLint (* PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); typedef EGLBoolean (* PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode); typedef EGLBoolean (* PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value); EGLSyncNV eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); EGLBoolean eglDestroySyncNV (EGLSyncNV sync); EGLBoolean eglFenceNV (EGLSyncNV sync); EGLint eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); EGLBoolean eglSignalSyncNV (EGLSyncNV sync, EGLenum mode); EGLBoolean eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value); typedef khronos_utime_nanoseconds_t EGLuint64NV; typedef EGLuint64NV (* PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void); typedef EGLuint64NV (* PFNEGLGETSYSTEMTIMENVPROC) (void); EGLuint64NV eglGetSystemTimeFrequencyNV (void); EGLuint64NV eglGetSystemTimeNV (void); # 1315 "../../third_party/angle/include/EGL/eglext.h" # 1 "../../third_party/angle/include/EGL/eglext_angle.h" 1 # 133 "../../third_party/angle/include/EGL/eglext_angle.h" typedef EGLBoolean(* PFNEGLCREATESTREAMPRODUCERD3DTEXTUREANGLEPROC)(EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); typedef EGLBoolean(* PFNEGLSTREAMPOSTD3DTEXTUREANGLEPROC)(EGLDisplay dpy, EGLStreamKHR stream, void *texture, const EGLAttrib *attrib_list); EGLBoolean eglCreateStreamProducerD3DTextureANGLE(EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list); EGLBoolean eglStreamPostD3DTextureANGLE(EGLDisplay dpy, EGLStreamKHR stream, void *texture, const EGLAttrib *attrib_list); # 163 "../../third_party/angle/include/EGL/eglext_angle.h" typedef EGLDeviceEXT(* PFNEGLCREATEDEVICEANGLEPROC) (EGLint device_type, void *native_device, const EGLAttrib *attrib_list); typedef EGLBoolean(* PFNEGLRELEASEDEVICEANGLEPROC) (EGLDeviceEXT device); EGLDeviceEXT eglCreateDeviceANGLE(EGLint device_type, void *native_device, const EGLAttrib *attrib_list); EGLBoolean eglReleaseDeviceANGLE(EGLDeviceEXT device); # 178 "../../third_party/angle/include/EGL/eglext_angle.h" typedef EGLint (* PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC) (EGLDisplay dpy, EGLenum attrib); typedef void (* PFNEGLPROGRAMCACHEQUERYANGLEPROC) (EGLDisplay dpy, EGLint index, void *key, EGLint *keysize, void *binary, EGLint *binarysize); typedef void (* PFNEGLPROGRAMCACHEPOPULATEANGLEPROC) (EGLDisplay dpy, const void *key, EGLint keysize, const void *binary, EGLint binarysize); typedef EGLint (* PFNEGLPROGRAMCACHERESIZEANGLEPROC) (EGLDisplay dpy, EGLint limit, EGLenum mode); EGLint eglProgramCacheGetAttribANGLE(EGLDisplay dpy, EGLenum attrib); void eglProgramCacheQueryANGLE(EGLDisplay dpy, EGLint index, void *key, EGLint *keysize, void *binary, EGLint *binarysize); void eglProgramCachePopulateANGLE(EGLDisplay dpy, const void *key, EGLint keysize, const void *binary, EGLint binarysize); EGLint eglProgramCacheResizeANGLE(EGLDisplay dpy, EGLint limit, EGLenum mode); # 206 "../../third_party/angle/include/EGL/eglext_angle.h" typedef EGLBoolean (* PFNEGLGETSYNCVALUESCHROMIUMPROC) (EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *ust, EGLuint64KHR *msc, EGLuint64KHR *sbc); EGLBoolean eglGetSyncValuesCHROMIUM(EGLDisplay dpy, EGLSurface surface, EGLuint64KHR *ust, EGLuint64KHR *msc, EGLuint64KHR *sbc); # 239 "../../third_party/angle/include/EGL/eglext_angle.h" typedef const char *(* PFNEGLQUERYSTRINGIANGLEPROC) (EGLDisplay dpy, EGLint name, EGLint index); typedef EGLBoolean (* PFNEGLQUERYDISPLAYATTRIBANGLEPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value); const char * eglQueryStringiANGLE(EGLDisplay dpy, EGLint name, EGLint index); EGLBoolean eglQueryDisplayAttribANGLE(EGLDisplay dpy, EGLint attribute, EGLAttrib *value); # 270 "../../third_party/angle/include/EGL/eglext_angle.h" typedef khronos_uint64_t EGLFrameTokenANGLE; typedef EGLBoolean (* PFNEGLSWAPBUFFERSWITHFRAMETOKENANGLEPROC)(EGLDisplay dpy, EGLSurface surface, EGLFrameTokenANGLE frametoken); EGLBoolean eglSwapBuffersWithFrameTokenANGLE(EGLDisplay dpy, EGLSurface surface, EGLFrameTokenANGLE frametoken); # 1316 "../../third_party/angle/include/EGL/eglext.h" 2 } # 17 "../../third_party/angle/src/common/PackedEGLEnums_autogen.h" 2 namespace egl { template Enum FromEGLenum(EGLenum from); enum class CompositorTiming : uint8_t { CompositeDeadline = 0, CompositInterval = 1, CompositToPresentLatency = 2, InvalidEnum = 3, EnumCount = 3, }; template <> CompositorTiming FromEGLenum(EGLenum from); EGLenum ToEGLenum(CompositorTiming from); std::ostream &operator<<(std::ostream &os, CompositorTiming value); enum class MessageType : uint8_t { Critical = 0, Error = 1, Warn = 2, Info = 3, InvalidEnum = 4, EnumCount = 4, }; template <> MessageType FromEGLenum(EGLenum from); EGLenum ToEGLenum(MessageType from); std::ostream &operator<<(std::ostream &os, MessageType value); enum class ObjectType : uint8_t { Thread = 0, Display = 1, Context = 2, Surface = 3, Image = 4, Sync = 5, Stream = 6, InvalidEnum = 7, EnumCount = 7, }; template <> ObjectType FromEGLenum(EGLenum from); EGLenum ToEGLenum(ObjectType from); std::ostream &operator<<(std::ostream &os, ObjectType value); enum class TextureFormat : uint8_t { NoTexture = 0, RGB = 1, RGBA = 2, InvalidEnum = 3, EnumCount = 3, }; template <> TextureFormat FromEGLenum(EGLenum from); EGLenum ToEGLenum(TextureFormat from); std::ostream &operator<<(std::ostream &os, TextureFormat value); enum class Timestamp : uint8_t { RequestedPresentTime = 0, RenderingCompleteTime = 1, CompositionLatchTime = 2, FirstCompositionStartTime = 3, LastCompositionStartTime = 4, FirstCompositionGPUFinishedTime = 5, DisplayPresentTime = 6, DequeueReadyTime = 7, ReadsDoneTime = 8, InvalidEnum = 9, EnumCount = 9, }; template <> Timestamp FromEGLenum(EGLenum from); EGLenum ToEGLenum(Timestamp from); std::ostream &operator<<(std::ostream &os, Timestamp value); } # 13 "../../third_party/angle/src/common/PackedEnums.h" 2 # 1 "../../third_party/angle/src/common/PackedGLEnums_autogen.h" 1 # 22 "../../third_party/angle/src/common/PackedGLEnums_autogen.h" namespace gl { template Enum FromGLenum(GLenum from); enum class AlphaTestFunc : uint8_t { AlwaysPass = 0, Equal = 1, Gequal = 2, Greater = 3, Lequal = 4, Less = 5, Never = 6, NotEqual = 7, InvalidEnum = 8, EnumCount = 8, }; template <> AlphaTestFunc FromGLenum(GLenum from); GLenum ToGLenum(AlphaTestFunc from); std::ostream &operator<<(std::ostream &os, AlphaTestFunc value); enum class BufferBinding : uint8_t { Array = 0, AtomicCounter = 1, CopyRead = 2, CopyWrite = 3, DispatchIndirect = 4, DrawIndirect = 5, ElementArray = 6, PixelPack = 7, PixelUnpack = 8, ShaderStorage = 9, TransformFeedback = 10, Uniform = 11, InvalidEnum = 12, EnumCount = 12, }; template <> BufferBinding FromGLenum(GLenum from); GLenum ToGLenum(BufferBinding from); std::ostream &operator<<(std::ostream &os, BufferBinding value); enum class BufferUsage : uint8_t { DynamicCopy = 0, DynamicDraw = 1, DynamicRead = 2, StaticCopy = 3, StaticDraw = 4, StaticRead = 5, StreamCopy = 6, StreamDraw = 7, StreamRead = 8, InvalidEnum = 9, EnumCount = 9, }; template <> BufferUsage FromGLenum(GLenum from); GLenum ToGLenum(BufferUsage from); std::ostream &operator<<(std::ostream &os, BufferUsage value); enum class ClientVertexArrayType : uint8_t { Color = 0, Normal = 1, PointSize = 2, TextureCoord = 3, Vertex = 4, InvalidEnum = 5, EnumCount = 5, }; template <> ClientVertexArrayType FromGLenum(GLenum from); GLenum ToGLenum(ClientVertexArrayType from); std::ostream &operator<<(std::ostream &os, ClientVertexArrayType value); enum class CullFaceMode : uint8_t { Back = 0, Front = 1, FrontAndBack = 2, InvalidEnum = 3, EnumCount = 3, }; template <> CullFaceMode FromGLenum(GLenum from); GLenum ToGLenum(CullFaceMode from); std::ostream &operator<<(std::ostream &os, CullFaceMode value); enum class FilterMode : uint8_t { Nearest = 0, Linear = 1, NearestMipmapNearest = 2, NearestMipmapLinear = 3, LinearMipmapLinear = 4, InvalidEnum = 5, EnumCount = 5, }; template <> FilterMode FromGLenum(GLenum from); GLenum ToGLenum(FilterMode from); std::ostream &operator<<(std::ostream &os, FilterMode value); enum class FogMode : uint8_t { Exp = 0, Exp2 = 1, Linear = 2, InvalidEnum = 3, EnumCount = 3, }; template <> FogMode FromGLenum(GLenum from); GLenum ToGLenum(FogMode from); std::ostream &operator<<(std::ostream &os, FogMode value); enum class GraphicsResetStatus : uint8_t { NoError = 0, GuiltyContextReset = 1, InnocentContextReset = 2, UnknownContextReset = 3, InvalidEnum = 4, EnumCount = 4, }; template <> GraphicsResetStatus FromGLenum(GLenum from); GLenum ToGLenum(GraphicsResetStatus from); std::ostream &operator<<(std::ostream &os, GraphicsResetStatus value); enum class HandleType : uint8_t { OpaqueFd = 0, InvalidEnum = 1, EnumCount = 1, }; template <> HandleType FromGLenum(GLenum from); GLenum ToGLenum(HandleType from); std::ostream &operator<<(std::ostream &os, HandleType value); enum class HintSetting : uint8_t { DontCare = 0, Fastest = 1, Nicest = 2, InvalidEnum = 3, EnumCount = 3, }; template <> HintSetting FromGLenum(GLenum from); GLenum ToGLenum(HintSetting from); std::ostream &operator<<(std::ostream &os, HintSetting value); enum class ImageLayout : uint8_t { Undefined = 0, General = 1, ColorAttachment = 2, DepthStencilAttachment = 3, DepthStencilReadOnlyAttachment = 4, ShaderReadOnly = 5, TransferSrc = 6, TransferDst = 7, DepthReadOnlyStencilAttachment = 8, DepthAttachmentStencilReadOnly = 9, InvalidEnum = 10, EnumCount = 10, }; template <> ImageLayout FromGLenum(GLenum from); GLenum ToGLenum(ImageLayout from); std::ostream &operator<<(std::ostream &os, ImageLayout value); enum class LightParameter : uint8_t { Ambient = 0, AmbientAndDiffuse = 1, ConstantAttenuation = 2, Diffuse = 3, LinearAttenuation = 4, Position = 5, QuadraticAttenuation = 6, Specular = 7, SpotCutoff = 8, SpotDirection = 9, SpotExponent = 10, InvalidEnum = 11, EnumCount = 11, }; template <> LightParameter FromGLenum(GLenum from); GLenum ToGLenum(LightParameter from); std::ostream &operator<<(std::ostream &os, LightParameter value); enum class LogicalOperation : uint8_t { And = 0, AndInverted = 1, AndReverse = 2, Clear = 3, Copy = 4, CopyInverted = 5, Equiv = 6, Invert = 7, Nand = 8, Noop = 9, Nor = 10, Or = 11, OrInverted = 12, OrReverse = 13, Set = 14, Xor = 15, InvalidEnum = 16, EnumCount = 16, }; template <> LogicalOperation FromGLenum(GLenum from); GLenum ToGLenum(LogicalOperation from); std::ostream &operator<<(std::ostream &os, LogicalOperation value); enum class MaterialParameter : uint8_t { Ambient = 0, AmbientAndDiffuse = 1, Diffuse = 2, Emission = 3, Shininess = 4, Specular = 5, InvalidEnum = 6, EnumCount = 6, }; template <> MaterialParameter FromGLenum(GLenum from); GLenum ToGLenum(MaterialParameter from); std::ostream &operator<<(std::ostream &os, MaterialParameter value); enum class MatrixType : uint8_t { Modelview = 0, Projection = 1, Texture = 2, InvalidEnum = 3, EnumCount = 3, }; template <> MatrixType FromGLenum(GLenum from); GLenum ToGLenum(MatrixType from); std::ostream &operator<<(std::ostream &os, MatrixType value); enum class PointParameter : uint8_t { PointSizeMin = 0, PointSizeMax = 1, PointFadeThresholdSize = 2, PointDistanceAttenuation = 3, InvalidEnum = 4, EnumCount = 4, }; template <> PointParameter FromGLenum(GLenum from); GLenum ToGLenum(PointParameter from); std::ostream &operator<<(std::ostream &os, PointParameter value); enum class ProvokingVertexConvention : uint8_t { FirstVertexConvention = 0, LastVertexConvention = 1, InvalidEnum = 2, EnumCount = 2, }; template <> ProvokingVertexConvention FromGLenum(GLenum from); GLenum ToGLenum(ProvokingVertexConvention from); std::ostream &operator<<(std::ostream &os, ProvokingVertexConvention value); enum class QueryType : uint8_t { AnySamples = 0, AnySamplesConservative = 1, CommandsCompleted = 2, PrimitivesGenerated = 3, TimeElapsed = 4, Timestamp = 5, TransformFeedbackPrimitivesWritten = 6, InvalidEnum = 7, EnumCount = 7, }; template <> QueryType FromGLenum(GLenum from); GLenum ToGLenum(QueryType from); std::ostream &operator<<(std::ostream &os, QueryType value); enum class ShaderType : uint8_t { Vertex = 0, Fragment = 1, Geometry = 2, Compute = 3, InvalidEnum = 4, EnumCount = 4, }; template <> ShaderType FromGLenum(GLenum from); GLenum ToGLenum(ShaderType from); std::ostream &operator<<(std::ostream &os, ShaderType value); enum class ShadingModel : uint8_t { Flat = 0, Smooth = 1, InvalidEnum = 2, EnumCount = 2, }; template <> ShadingModel FromGLenum(GLenum from); GLenum ToGLenum(ShadingModel from); std::ostream &operator<<(std::ostream &os, ShadingModel value); enum class TextureCombine : uint8_t { Add = 0, AddSigned = 1, Dot3Rgb = 2, Dot3Rgba = 3, Interpolate = 4, Modulate = 5, Replace = 6, Subtract = 7, InvalidEnum = 8, EnumCount = 8, }; template <> TextureCombine FromGLenum(GLenum from); GLenum ToGLenum(TextureCombine from); std::ostream &operator<<(std::ostream &os, TextureCombine value); enum class TextureEnvMode : uint8_t { Add = 0, Blend = 1, Combine = 2, Decal = 3, Modulate = 4, Replace = 5, InvalidEnum = 6, EnumCount = 6, }; template <> TextureEnvMode FromGLenum(GLenum from); GLenum ToGLenum(TextureEnvMode from); std::ostream &operator<<(std::ostream &os, TextureEnvMode value); enum class TextureEnvParameter : uint8_t { Mode = 0, Color = 1, CombineRgb = 2, CombineAlpha = 3, RgbScale = 4, AlphaScale = 5, Src0Rgb = 6, Src1Rgb = 7, Src2Rgb = 8, Src0Alpha = 9, Src1Alpha = 10, Src2Alpha = 11, Op0Rgb = 12, Op1Rgb = 13, Op2Rgb = 14, Op0Alpha = 15, Op1Alpha = 16, Op2Alpha = 17, PointCoordReplace = 18, InvalidEnum = 19, EnumCount = 19, }; template <> TextureEnvParameter FromGLenum(GLenum from); GLenum ToGLenum(TextureEnvParameter from); std::ostream &operator<<(std::ostream &os, TextureEnvParameter value); enum class TextureEnvTarget : uint8_t { Env = 0, PointSprite = 1, InvalidEnum = 2, EnumCount = 2, }; template <> TextureEnvTarget FromGLenum(GLenum from); GLenum ToGLenum(TextureEnvTarget from); std::ostream &operator<<(std::ostream &os, TextureEnvTarget value); enum class TextureOp : uint8_t { OneMinusSrcAlpha = 0, OneMinusSrcColor = 1, SrcAlpha = 2, SrcColor = 3, InvalidEnum = 4, EnumCount = 4, }; template <> TextureOp FromGLenum(GLenum from); GLenum ToGLenum(TextureOp from); std::ostream &operator<<(std::ostream &os, TextureOp value); enum class TextureSrc : uint8_t { Constant = 0, Previous = 1, PrimaryColor = 2, Texture = 3, InvalidEnum = 4, EnumCount = 4, }; template <> TextureSrc FromGLenum(GLenum from); GLenum ToGLenum(TextureSrc from); std::ostream &operator<<(std::ostream &os, TextureSrc value); enum class TextureTarget : uint8_t { _2D = 0, _2DArray = 1, _2DMultisample = 2, _2DMultisampleArray = 3, _3D = 4, External = 5, Rectangle = 6, CubeMapPositiveX = 7, CubeMapNegativeX = 8, CubeMapPositiveY = 9, CubeMapNegativeY = 10, CubeMapPositiveZ = 11, CubeMapNegativeZ = 12, InvalidEnum = 13, EnumCount = 13, }; template <> TextureTarget FromGLenum(GLenum from); GLenum ToGLenum(TextureTarget from); std::ostream &operator<<(std::ostream &os, TextureTarget value); enum class TextureType : uint8_t { _2D = 0, _2DArray = 1, _2DMultisample = 2, _2DMultisampleArray = 3, _3D = 4, External = 5, Rectangle = 6, CubeMap = 7, InvalidEnum = 8, EnumCount = 8, }; template <> TextureType FromGLenum(GLenum from); GLenum ToGLenum(TextureType from); std::ostream &operator<<(std::ostream &os, TextureType value); enum class VertexArrayType : uint8_t { Color = 0, Normal = 1, PointSize = 2, TextureCoord = 3, Vertex = 4, InvalidEnum = 5, EnumCount = 5, }; template <> VertexArrayType FromGLenum(GLenum from); GLenum ToGLenum(VertexArrayType from); std::ostream &operator<<(std::ostream &os, VertexArrayType value); enum class WrapMode : uint8_t { ClampToEdge = 0, ClampToBorder = 1, MirroredRepeat = 2, Repeat = 3, InvalidEnum = 4, EnumCount = 4, }; template <> WrapMode FromGLenum(GLenum from); GLenum ToGLenum(WrapMode from); std::ostream &operator<<(std::ostream &os, WrapMode value); } # 14 "../../third_party/angle/src/common/PackedEnums.h" 2 # 1 "/usr/include/c++/10/bitset" 1 3 # 45 "/usr/include/c++/10/bitset" 3 # 46 "/usr/include/c++/10/bitset" 3 # 64 "/usr/include/c++/10/bitset" 3 # 64 "/usr/include/c++/10/bitset" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct _Base_bitset { typedef unsigned long _WordT; _WordT _M_w[_Nw]; constexpr _Base_bitset() noexcept : _M_w() { } constexpr _Base_bitset(unsigned long long __val) noexcept : _M_w{ _WordT(__val) } { } static constexpr size_t _S_whichword(size_t __pos) noexcept { return __pos / (8 * 8); } static constexpr size_t _S_whichbyte(size_t __pos) noexcept { return (__pos % (8 * 8)) / 8; } static constexpr size_t _S_whichbit(size_t __pos) noexcept { return __pos % (8 * 8); } static constexpr _WordT _S_maskbit(size_t __pos) noexcept { return (static_cast<_WordT>(1)) << _S_whichbit(__pos); } _WordT& _M_getword(size_t __pos) noexcept { return _M_w[_S_whichword(__pos)]; } constexpr _WordT _M_getword(size_t __pos) const noexcept { return _M_w[_S_whichword(__pos)]; } const _WordT* _M_getdata() const noexcept { return _M_w; } _WordT& _M_hiword() noexcept { return _M_w[_Nw - 1]; } constexpr _WordT _M_hiword() const noexcept { return _M_w[_Nw - 1]; } void _M_do_and(const _Base_bitset<_Nw>& __x) noexcept { for (size_t __i = 0; __i < _Nw; __i++) _M_w[__i] &= __x._M_w[__i]; } void _M_do_or(const _Base_bitset<_Nw>& __x) noexcept { for (size_t __i = 0; __i < _Nw; __i++) _M_w[__i] |= __x._M_w[__i]; } void _M_do_xor(const _Base_bitset<_Nw>& __x) noexcept { for (size_t __i = 0; __i < _Nw; __i++) _M_w[__i] ^= __x._M_w[__i]; } void _M_do_left_shift(size_t __shift) noexcept; void _M_do_right_shift(size_t __shift) noexcept; void _M_do_flip() noexcept { for (size_t __i = 0; __i < _Nw; __i++) _M_w[__i] = ~_M_w[__i]; } void _M_do_set() noexcept { for (size_t __i = 0; __i < _Nw; __i++) _M_w[__i] = ~static_cast<_WordT>(0); } void _M_do_reset() noexcept { __builtin_memset(_M_w, 0, _Nw * sizeof(_WordT)); } bool _M_is_equal(const _Base_bitset<_Nw>& __x) const noexcept { for (size_t __i = 0; __i < _Nw; ++__i) if (_M_w[__i] != __x._M_w[__i]) return false; return true; } template bool _M_are_all() const noexcept { for (size_t __i = 0; __i < _Nw - 1; __i++) if (_M_w[__i] != ~static_cast<_WordT>(0)) return false; return _M_hiword() == (~static_cast<_WordT>(0) >> (_Nw * (8 * 8) - _Nb)); } bool _M_is_any() const noexcept { for (size_t __i = 0; __i < _Nw; __i++) if (_M_w[__i] != static_cast<_WordT>(0)) return true; return false; } size_t _M_do_count() const noexcept { size_t __result = 0; for (size_t __i = 0; __i < _Nw; __i++) __result += __builtin_popcountl(_M_w[__i]); return __result; } unsigned long _M_do_to_ulong() const; unsigned long long _M_do_to_ullong() const; size_t _M_do_find_first(size_t) const noexcept; size_t _M_do_find_next(size_t, size_t) const noexcept; }; template void _Base_bitset<_Nw>::_M_do_left_shift(size_t __shift) noexcept { if (__builtin_expect(__shift != 0, 1)) { const size_t __wshift = __shift / (8 * 8); const size_t __offset = __shift % (8 * 8); if (__offset == 0) for (size_t __n = _Nw - 1; __n >= __wshift; --__n) _M_w[__n] = _M_w[__n - __wshift]; else { const size_t __sub_offset = ((8 * 8) - __offset); for (size_t __n = _Nw - 1; __n > __wshift; --__n) _M_w[__n] = ((_M_w[__n - __wshift] << __offset) | (_M_w[__n - __wshift - 1] >> __sub_offset)); _M_w[__wshift] = _M_w[0] << __offset; } std::fill(_M_w + 0, _M_w + __wshift, static_cast<_WordT>(0)); } } template void _Base_bitset<_Nw>::_M_do_right_shift(size_t __shift) noexcept { if (__builtin_expect(__shift != 0, 1)) { const size_t __wshift = __shift / (8 * 8); const size_t __offset = __shift % (8 * 8); const size_t __limit = _Nw - __wshift - 1; if (__offset == 0) for (size_t __n = 0; __n <= __limit; ++__n) _M_w[__n] = _M_w[__n + __wshift]; else { const size_t __sub_offset = ((8 * 8) - __offset); for (size_t __n = 0; __n < __limit; ++__n) _M_w[__n] = ((_M_w[__n + __wshift] >> __offset) | (_M_w[__n + __wshift + 1] << __sub_offset)); _M_w[__limit] = _M_w[_Nw-1] >> __offset; } std::fill(_M_w + __limit + 1, _M_w + _Nw, static_cast<_WordT>(0)); } } template unsigned long _Base_bitset<_Nw>::_M_do_to_ulong() const { for (size_t __i = 1; __i < _Nw; ++__i) if (_M_w[__i]) __throw_overflow_error(("_Base_bitset::_M_do_to_ulong")); return _M_w[0]; } template unsigned long long _Base_bitset<_Nw>::_M_do_to_ullong() const { const bool __dw = sizeof(unsigned long long) > sizeof(unsigned long); for (size_t __i = 1 + __dw; __i < _Nw; ++__i) if (_M_w[__i]) __throw_overflow_error(("_Base_bitset::_M_do_to_ullong")); if (__dw) return _M_w[0] + (static_cast(_M_w[1]) << (8 * 8)); return _M_w[0]; } template size_t _Base_bitset<_Nw>:: _M_do_find_first(size_t __not_found) const noexcept { for (size_t __i = 0; __i < _Nw; __i++) { _WordT __thisword = _M_w[__i]; if (__thisword != static_cast<_WordT>(0)) return (__i * (8 * 8) + __builtin_ctzl(__thisword)); } return __not_found; } template size_t _Base_bitset<_Nw>:: _M_do_find_next(size_t __prev, size_t __not_found) const noexcept { ++__prev; if (__prev >= _Nw * (8 * 8)) return __not_found; size_t __i = _S_whichword(__prev); _WordT __thisword = _M_w[__i]; __thisword &= (~static_cast<_WordT>(0)) << _S_whichbit(__prev); if (__thisword != static_cast<_WordT>(0)) return (__i * (8 * 8) + __builtin_ctzl(__thisword)); __i++; for (; __i < _Nw; __i++) { __thisword = _M_w[__i]; if (__thisword != static_cast<_WordT>(0)) return (__i * (8 * 8) + __builtin_ctzl(__thisword)); } return __not_found; } template<> struct _Base_bitset<1> { typedef unsigned long _WordT; _WordT _M_w; constexpr _Base_bitset() noexcept : _M_w(0) { } constexpr _Base_bitset(unsigned long long __val) noexcept : _M_w(__val) { } static constexpr size_t _S_whichword(size_t __pos) noexcept { return __pos / (8 * 8); } static constexpr size_t _S_whichbyte(size_t __pos) noexcept { return (__pos % (8 * 8)) / 8; } static constexpr size_t _S_whichbit(size_t __pos) noexcept { return __pos % (8 * 8); } static constexpr _WordT _S_maskbit(size_t __pos) noexcept { return (static_cast<_WordT>(1)) << _S_whichbit(__pos); } _WordT& _M_getword(size_t) noexcept { return _M_w; } constexpr _WordT _M_getword(size_t) const noexcept { return _M_w; } const _WordT* _M_getdata() const noexcept { return &_M_w; } _WordT& _M_hiword() noexcept { return _M_w; } constexpr _WordT _M_hiword() const noexcept { return _M_w; } void _M_do_and(const _Base_bitset<1>& __x) noexcept { _M_w &= __x._M_w; } void _M_do_or(const _Base_bitset<1>& __x) noexcept { _M_w |= __x._M_w; } void _M_do_xor(const _Base_bitset<1>& __x) noexcept { _M_w ^= __x._M_w; } void _M_do_left_shift(size_t __shift) noexcept { _M_w <<= __shift; } void _M_do_right_shift(size_t __shift) noexcept { _M_w >>= __shift; } void _M_do_flip() noexcept { _M_w = ~_M_w; } void _M_do_set() noexcept { _M_w = ~static_cast<_WordT>(0); } void _M_do_reset() noexcept { _M_w = 0; } bool _M_is_equal(const _Base_bitset<1>& __x) const noexcept { return _M_w == __x._M_w; } template bool _M_are_all() const noexcept { return _M_w == (~static_cast<_WordT>(0) >> ((8 * 8) - _Nb)); } bool _M_is_any() const noexcept { return _M_w != 0; } size_t _M_do_count() const noexcept { return __builtin_popcountl(_M_w); } unsigned long _M_do_to_ulong() const noexcept { return _M_w; } unsigned long long _M_do_to_ullong() const noexcept { return _M_w; } size_t _M_do_find_first(size_t __not_found) const noexcept { if (_M_w != 0) return __builtin_ctzl(_M_w); else return __not_found; } size_t _M_do_find_next(size_t __prev, size_t __not_found) const noexcept { ++__prev; if (__prev >= ((size_t) (8 * 8))) return __not_found; _WordT __x = _M_w >> __prev; if (__x != 0) return __builtin_ctzl(__x) + __prev; else return __not_found; } }; template<> struct _Base_bitset<0> { typedef unsigned long _WordT; constexpr _Base_bitset() noexcept { } constexpr _Base_bitset(unsigned long long) noexcept { } static constexpr size_t _S_whichword(size_t __pos) noexcept { return __pos / (8 * 8); } static constexpr size_t _S_whichbyte(size_t __pos) noexcept { return (__pos % (8 * 8)) / 8; } static constexpr size_t _S_whichbit(size_t __pos) noexcept { return __pos % (8 * 8); } static constexpr _WordT _S_maskbit(size_t __pos) noexcept { return (static_cast<_WordT>(1)) << _S_whichbit(__pos); } # 560 "/usr/include/c++/10/bitset" 3 _WordT& _M_getword(size_t) noexcept { __throw_out_of_range(("_Base_bitset::_M_getword")); return *new _WordT; } constexpr _WordT _M_getword(size_t) const noexcept { return 0; } constexpr _WordT _M_hiword() const noexcept { return 0; } void _M_do_and(const _Base_bitset<0>&) noexcept { } void _M_do_or(const _Base_bitset<0>&) noexcept { } void _M_do_xor(const _Base_bitset<0>&) noexcept { } void _M_do_left_shift(size_t) noexcept { } void _M_do_right_shift(size_t) noexcept { } void _M_do_flip() noexcept { } void _M_do_set() noexcept { } void _M_do_reset() noexcept { } bool _M_is_equal(const _Base_bitset<0>&) const noexcept { return true; } template bool _M_are_all() const noexcept { return true; } bool _M_is_any() const noexcept { return false; } size_t _M_do_count() const noexcept { return 0; } unsigned long _M_do_to_ulong() const noexcept { return 0; } unsigned long long _M_do_to_ullong() const noexcept { return 0; } size_t _M_do_find_first(size_t) const noexcept { return 0; } size_t _M_do_find_next(size_t, size_t) const noexcept { return 0; } }; template struct _Sanitize { typedef unsigned long _WordT; static void _S_do_sanitize(_WordT& __val) noexcept { __val &= ~((~static_cast<_WordT>(0)) << _Extrabits); } }; template<> struct _Sanitize<0> { typedef unsigned long _WordT; static void _S_do_sanitize(_WordT) noexcept { } }; template struct _Sanitize_val { static constexpr unsigned long long _S_do_sanitize_val(unsigned long long __val) { return __val; } }; template struct _Sanitize_val<_Nb, true> { static constexpr unsigned long long _S_do_sanitize_val(unsigned long long __val) { return __val & ~((~static_cast(0)) << _Nb); } }; # 750 "/usr/include/c++/10/bitset" 3 template class bitset : private _Base_bitset<((_Nb) / (8 * 8) + ((_Nb) % (8 * 8) == 0 ? 0 : 1))> { private: typedef _Base_bitset<((_Nb) / (8 * 8) + ((_Nb) % (8 * 8) == 0 ? 0 : 1))> _Base; typedef unsigned long _WordT; template void _M_check_initial_position(const std::basic_string<_CharT, _Traits, _Alloc>& __s, size_t __position) const { if (__position > __s.size()) __throw_out_of_range_fmt(("bitset::bitset: __position " "(which is %zu) > __s.size() " "(which is %zu)") , __position, __s.size()); } void _M_check(size_t __position, const char *__s) const { if (__position >= _Nb) __throw_out_of_range_fmt(("%s: __position (which is %zu) " ">= _Nb (which is %zu)") , __s, __position, _Nb); } void _M_do_sanitize() noexcept { typedef _Sanitize<_Nb % (8 * 8)> __sanitize_type; __sanitize_type::_S_do_sanitize(this->_M_hiword()); } friend struct std::hash; public: # 802 "/usr/include/c++/10/bitset" 3 class reference { friend class bitset; _WordT* _M_wp; size_t _M_bpos; reference(); public: reference(bitset& __b, size_t __pos) noexcept { _M_wp = &__b._M_getword(__pos); _M_bpos = _Base::_S_whichbit(__pos); } reference(const reference&) = default; ~reference() noexcept { } reference& operator=(bool __x) noexcept { if (__x) *_M_wp |= _Base::_S_maskbit(_M_bpos); else *_M_wp &= ~_Base::_S_maskbit(_M_bpos); return *this; } reference& operator=(const reference& __j) noexcept { if ((*(__j._M_wp) & _Base::_S_maskbit(__j._M_bpos))) *_M_wp |= _Base::_S_maskbit(_M_bpos); else *_M_wp &= ~_Base::_S_maskbit(_M_bpos); return *this; } bool operator~() const noexcept { return (*(_M_wp) & _Base::_S_maskbit(_M_bpos)) == 0; } operator bool() const noexcept { return (*(_M_wp) & _Base::_S_maskbit(_M_bpos)) != 0; } reference& flip() noexcept { *_M_wp ^= _Base::_S_maskbit(_M_bpos); return *this; } }; friend class reference; constexpr bitset() noexcept { } constexpr bitset(unsigned long long __val) noexcept : _Base(_Sanitize_val<_Nb>::_S_do_sanitize_val(__val)) { } # 891 "/usr/include/c++/10/bitset" 3 template explicit bitset(const std::basic_string<_CharT, _Traits, _Alloc>& __s, size_t __position = 0) : _Base() { _M_check_initial_position(__s, __position); _M_copy_from_string(__s, __position, std::basic_string<_CharT, _Traits, _Alloc>::npos, _CharT('0'), _CharT('1')); } # 913 "/usr/include/c++/10/bitset" 3 template bitset(const std::basic_string<_CharT, _Traits, _Alloc>& __s, size_t __position, size_t __n) : _Base() { _M_check_initial_position(__s, __position); _M_copy_from_string(__s, __position, __n, _CharT('0'), _CharT('1')); } template bitset(const std::basic_string<_CharT, _Traits, _Alloc>& __s, size_t __position, size_t __n, _CharT __zero, _CharT __one = _CharT('1')) : _Base() { _M_check_initial_position(__s, __position); _M_copy_from_string(__s, __position, __n, __zero, __one); } # 944 "/usr/include/c++/10/bitset" 3 template explicit bitset(const _CharT* __str, typename std::basic_string<_CharT>::size_type __n = std::basic_string<_CharT>::npos, _CharT __zero = _CharT('0'), _CharT __one = _CharT('1')) : _Base() { if (!__str) __throw_logic_error(("bitset::bitset(const _CharT*, ...)")); if (__n == std::basic_string<_CharT>::npos) __n = std::char_traits<_CharT>::length(__str); _M_copy_from_ptr<_CharT, std::char_traits<_CharT>>(__str, __n, 0, __n, __zero, __one); } # 971 "/usr/include/c++/10/bitset" 3 bitset<_Nb>& operator&=(const bitset<_Nb>& __rhs) noexcept { this->_M_do_and(__rhs); return *this; } bitset<_Nb>& operator|=(const bitset<_Nb>& __rhs) noexcept { this->_M_do_or(__rhs); return *this; } bitset<_Nb>& operator^=(const bitset<_Nb>& __rhs) noexcept { this->_M_do_xor(__rhs); return *this; } # 1000 "/usr/include/c++/10/bitset" 3 bitset<_Nb>& operator<<=(size_t __position) noexcept { if (__builtin_expect(__position < _Nb, 1)) { this->_M_do_left_shift(__position); this->_M_do_sanitize(); } else this->_M_do_reset(); return *this; } bitset<_Nb>& operator>>=(size_t __position) noexcept { if (__builtin_expect(__position < _Nb, 1)) { this->_M_do_right_shift(__position); this->_M_do_sanitize(); } else this->_M_do_reset(); return *this; } # 1033 "/usr/include/c++/10/bitset" 3 bitset<_Nb>& _Unchecked_set(size_t __pos) noexcept { this->_M_getword(__pos) |= _Base::_S_maskbit(__pos); return *this; } bitset<_Nb>& _Unchecked_set(size_t __pos, int __val) noexcept { if (__val) this->_M_getword(__pos) |= _Base::_S_maskbit(__pos); else this->_M_getword(__pos) &= ~_Base::_S_maskbit(__pos); return *this; } bitset<_Nb>& _Unchecked_reset(size_t __pos) noexcept { this->_M_getword(__pos) &= ~_Base::_S_maskbit(__pos); return *this; } bitset<_Nb>& _Unchecked_flip(size_t __pos) noexcept { this->_M_getword(__pos) ^= _Base::_S_maskbit(__pos); return *this; } constexpr bool _Unchecked_test(size_t __pos) const noexcept { return ((this->_M_getword(__pos) & _Base::_S_maskbit(__pos)) != static_cast<_WordT>(0)); } bitset<_Nb>& set() noexcept { this->_M_do_set(); this->_M_do_sanitize(); return *this; } bitset<_Nb>& set(size_t __position, bool __val = true) { this->_M_check(__position, ("bitset::set")); return _Unchecked_set(__position, __val); } bitset<_Nb>& reset() noexcept { this->_M_do_reset(); return *this; } # 1112 "/usr/include/c++/10/bitset" 3 bitset<_Nb>& reset(size_t __position) { this->_M_check(__position, ("bitset::reset")); return _Unchecked_reset(__position); } bitset<_Nb>& flip() noexcept { this->_M_do_flip(); this->_M_do_sanitize(); return *this; } bitset<_Nb>& flip(size_t __position) { this->_M_check(__position, ("bitset::flip")); return _Unchecked_flip(__position); } bitset<_Nb> operator~() const noexcept { return bitset<_Nb>(*this).flip(); } # 1162 "/usr/include/c++/10/bitset" 3 reference operator[](size_t __position) { return reference(*this, __position); } constexpr bool operator[](size_t __position) const { return _Unchecked_test(__position); } # 1177 "/usr/include/c++/10/bitset" 3 unsigned long to_ulong() const { return this->_M_do_to_ulong(); } unsigned long long to_ullong() const { return this->_M_do_to_ullong(); } # 1195 "/usr/include/c++/10/bitset" 3 template std::basic_string<_CharT, _Traits, _Alloc> to_string() const { std::basic_string<_CharT, _Traits, _Alloc> __result; _M_copy_to_string(__result, _CharT('0'), _CharT('1')); return __result; } template std::basic_string<_CharT, _Traits, _Alloc> to_string(_CharT __zero, _CharT __one = _CharT('1')) const { std::basic_string<_CharT, _Traits, _Alloc> __result; _M_copy_to_string(__result, __zero, __one); return __result; } template std::basic_string<_CharT, _Traits, std::allocator<_CharT> > to_string() const { return to_string<_CharT, _Traits, std::allocator<_CharT> >(); } template std::basic_string<_CharT, _Traits, std::allocator<_CharT> > to_string(_CharT __zero, _CharT __one = _CharT('1')) const { return to_string<_CharT, _Traits, std::allocator<_CharT> >(__zero, __one); } template std::basic_string<_CharT, std::char_traits<_CharT>, std::allocator<_CharT> > to_string() const { return to_string<_CharT, std::char_traits<_CharT>, std::allocator<_CharT> >(); } template std::basic_string<_CharT, std::char_traits<_CharT>, std::allocator<_CharT> > to_string(_CharT __zero, _CharT __one = _CharT('1')) const { return to_string<_CharT, std::char_traits<_CharT>, std::allocator<_CharT> >(__zero, __one); } std::basic_string, std::allocator > to_string() const { return to_string, std::allocator >(); } std::basic_string, std::allocator > to_string(char __zero, char __one = '1') const { return to_string, std::allocator >(__zero, __one); } template void _M_copy_from_ptr(const _CharT*, size_t, size_t, size_t, _CharT, _CharT); template void _M_copy_from_string(const std::basic_string<_CharT, _Traits, _Alloc>& __s, size_t __pos, size_t __n, _CharT __zero, _CharT __one) { _M_copy_from_ptr<_CharT, _Traits>(__s.data(), __s.size(), __pos, __n, __zero, __one); } template void _M_copy_to_string(std::basic_string<_CharT, _Traits, _Alloc>&, _CharT, _CharT) const; template void _M_copy_from_string(const std::basic_string<_CharT, _Traits, _Alloc>& __s, size_t __pos, size_t __n) { _M_copy_from_string(__s, __pos, __n, _CharT('0'), _CharT('1')); } template void _M_copy_to_string(std::basic_string<_CharT, _Traits,_Alloc>& __s) const { _M_copy_to_string(__s, _CharT('0'), _CharT('1')); } size_t count() const noexcept { return this->_M_do_count(); } constexpr size_t size() const noexcept { return _Nb; } bool operator==(const bitset<_Nb>& __rhs) const noexcept { return this->_M_is_equal(__rhs); } bool operator!=(const bitset<_Nb>& __rhs) const noexcept { return !this->_M_is_equal(__rhs); } # 1320 "/usr/include/c++/10/bitset" 3 bool test(size_t __position) const { this->_M_check(__position, ("bitset::test")); return _Unchecked_test(__position); } bool all() const noexcept { return this->template _M_are_all<_Nb>(); } bool any() const noexcept { return this->_M_is_any(); } bool none() const noexcept { return !this->_M_is_any(); } bitset<_Nb> operator<<(size_t __position) const noexcept { return bitset<_Nb>(*this) <<= __position; } bitset<_Nb> operator>>(size_t __position) const noexcept { return bitset<_Nb>(*this) >>= __position; } # 1370 "/usr/include/c++/10/bitset" 3 size_t _Find_first() const noexcept { return this->_M_do_find_first(_Nb); } # 1381 "/usr/include/c++/10/bitset" 3 size_t _Find_next(size_t __prev) const noexcept { return this->_M_do_find_next(__prev, _Nb); } }; template template void bitset<_Nb>:: _M_copy_from_ptr(const _CharT* __s, size_t __len, size_t __pos, size_t __n, _CharT __zero, _CharT __one) { reset(); const size_t __nbits = std::min(_Nb, std::min(__n, size_t(__len - __pos))); for (size_t __i = __nbits; __i > 0; --__i) { const _CharT __c = __s[__pos + __nbits - __i]; if (_Traits::eq(__c, __zero)) ; else if (_Traits::eq(__c, __one)) _Unchecked_set(__i - 1); else __throw_invalid_argument(("bitset::_M_copy_from_ptr")); } } template template void bitset<_Nb>:: _M_copy_to_string(std::basic_string<_CharT, _Traits, _Alloc>& __s, _CharT __zero, _CharT __one) const { __s.assign(_Nb, __zero); for (size_t __i = _Nb; __i > 0; --__i) if (_Unchecked_test(__i - 1)) _Traits::assign(__s[_Nb - __i], __one); } # 1431 "/usr/include/c++/10/bitset" 3 template inline bitset<_Nb> operator&(const bitset<_Nb>& __x, const bitset<_Nb>& __y) noexcept { bitset<_Nb> __result(__x); __result &= __y; return __result; } template inline bitset<_Nb> operator|(const bitset<_Nb>& __x, const bitset<_Nb>& __y) noexcept { bitset<_Nb> __result(__x); __result |= __y; return __result; } template inline bitset<_Nb> operator^(const bitset<_Nb>& __x, const bitset<_Nb>& __y) noexcept { bitset<_Nb> __result(__x); __result ^= __y; return __result; } # 1468 "/usr/include/c++/10/bitset" 3 template std::basic_istream<_CharT, _Traits>& operator>>(std::basic_istream<_CharT, _Traits>& __is, bitset<_Nb>& __x) { typedef typename _Traits::char_type char_type; typedef std::basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::ios_base __ios_base; std::basic_string<_CharT, _Traits> __tmp; __tmp.reserve(_Nb); const char_type __zero = __is.widen('0'); const char_type __one = __is.widen('1'); typename __ios_base::iostate __state = __ios_base::goodbit; typename __istream_type::sentry __sentry(__is); if (__sentry) { if (true) { for (size_t __i = _Nb; __i > 0; --__i) { static typename _Traits::int_type __eof = _Traits::eof(); typename _Traits::int_type __c1 = __is.rdbuf()->sbumpc(); if (_Traits::eq_int_type(__c1, __eof)) { __state |= __ios_base::eofbit; break; } else { const char_type __c2 = _Traits::to_char_type(__c1); if (_Traits::eq(__c2, __zero)) __tmp.push_back(__zero); else if (_Traits::eq(__c2, __one)) __tmp.push_back(__one); else if (_Traits:: eq_int_type(__is.rdbuf()->sputbackc(__c2), __eof)) { __state |= __ios_base::failbit; break; } } } } if (false) { __is._M_setstate(__ios_base::badbit); ; } if (false) { __is._M_setstate(__ios_base::badbit); } } if (__tmp.empty() && _Nb) __state |= __ios_base::failbit; else __x._M_copy_from_string(__tmp, static_cast(0), _Nb, __zero, __one); if (__state) __is.setstate(__state); return __is; } template std::basic_ostream<_CharT, _Traits>& operator<<(std::basic_ostream<_CharT, _Traits>& __os, const bitset<_Nb>& __x) { std::basic_string<_CharT, _Traits> __tmp; const ctype<_CharT>& __ct = use_facet >(__os.getloc()); __x._M_copy_to_string(__tmp, __ct.widen('0'), __ct.widen('1')); return __os << __tmp; } } namespace std __attribute__ ((__visibility__ ("default"))) { template struct hash> : public __hash_base> { size_t operator()(const std::bitset<_Nb>& __b) const noexcept { const size_t __clength = (_Nb + 8 - 1) / 8; return std::_Hash_impl::hash(__b._M_getdata(), __clength); } }; template<> struct hash> : public __hash_base> { size_t operator()(const std::bitset<0>&) const noexcept { return 0; } }; } # 17 "../../third_party/angle/src/common/PackedEnums.h" 2 # 1 "../../third_party/angle/src/common/bitset_utils.h" 1 # 19 "../../third_party/angle/src/common/bitset_utils.h" # 1 "../../third_party/angle/src/common/mathutil.h" 1 # 12 "../../third_party/angle/src/common/mathutil.h" # 1 "/usr/include/c++/10/math.h" 1 3 # 36 "/usr/include/c++/10/math.h" 3 # 1 "/usr/include/c++/10/cmath" 1 3 # 39 "/usr/include/c++/10/cmath" 3 # 40 "/usr/include/c++/10/cmath" 3 # 1 "/usr/include/math.h" 1 3 4 # 27 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 28 "/usr/include/math.h" 2 3 4 extern "C" { # 1 "/usr/include/bits/math-vector.h" 1 3 4 # 25 "/usr/include/bits/math-vector.h" 3 4 # 1 "/usr/include/bits/libm-simd-decl-stubs.h" 1 3 4 # 26 "/usr/include/bits/math-vector.h" 2 3 4 # 41 "/usr/include/math.h" 2 3 4 # 138 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/flt-eval-method.h" 1 3 4 # 139 "/usr/include/math.h" 2 3 4 # 149 "/usr/include/math.h" 3 4 typedef float float_t; typedef double double_t; # 190 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/fp-logb.h" 1 3 4 # 191 "/usr/include/math.h" 2 3 4 # 233 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/fp-fast.h" 1 3 4 # 234 "/usr/include/math.h" 2 3 4 enum { FP_INT_UPWARD = 0, FP_INT_DOWNWARD = 1, FP_INT_TOWARDZERO = 2, FP_INT_TONEARESTFROMZERO = 3, FP_INT_TONEAREST = 4, }; # 289 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 21 "/usr/include/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassify (double __value) throw () __attribute__ ((__const__)); extern int __signbit (double __value) throw () __attribute__ ((__const__)); extern int __isinf (double __value) throw () __attribute__ ((__const__)); extern int __finite (double __value) throw () __attribute__ ((__const__)); extern int __isnan (double __value) throw () __attribute__ ((__const__)); extern int __iseqsig (double __x, double __y) throw (); extern int __issignaling (double __value) throw () __attribute__ ((__const__)); # 290 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/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 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 (); # 182 "/usr/include/bits/mathcalls.h" 3 4 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 (); extern double __nan (const char *__tagb) throw (); # 217 "/usr/include/bits/mathcalls.h" 3 4 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 (); extern double __nextafter (double __x, double __y) throw (); extern double nexttoward (double __x, long double __y) throw (); extern double __nexttoward (double __x, long double __y) throw (); extern double nextdown (double __x) throw (); extern double __nextdown (double __x) throw (); extern double nextup (double __x) throw (); extern double __nextup (double __x) throw (); 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 long int llogb (double __x) throw (); extern long int __llogb (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 double fma (double __x, double __y, double __z) throw (); extern double __fma (double __x, double __y, double __z) throw (); extern double roundeven (double __x) throw () __attribute__ ((__const__)); extern double __roundeven (double __x) throw () __attribute__ ((__const__)); extern __intmax_t fromfp (double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfp (double __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfp (double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfp (double __x, int __round, unsigned int __width) throw () ; extern __intmax_t fromfpx (double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpx (double __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpx (double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpx (double __x, int __round, unsigned int __width) throw () ; extern double fmaxmag (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmaxmag (double __x, double __y) throw () __attribute__ ((__const__)); extern double fminmag (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fminmag (double __x, double __y) throw () __attribute__ ((__const__)); extern int canonicalize (double *__cx, const double *__x) throw (); extern int totalorder (const double *__x, const double *__y) throw () __attribute__ ((__pure__)); extern int totalordermag (const double *__x, const double *__y) throw () __attribute__ ((__pure__)); extern double getpayload (const double *__x) throw (); extern double __getpayload (const double *__x) throw (); extern int setpayload (double *__x, double __payload) throw (); extern int setpayloadsig (double *__x, double __payload) throw (); extern double scalb (double __x, double __n) throw (); extern double __scalb (double __x, double __n) throw (); # 291 "/usr/include/math.h" 2 3 4 # 306 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 21 "/usr/include/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassifyf (float __value) throw () __attribute__ ((__const__)); extern int __signbitf (float __value) throw () __attribute__ ((__const__)); extern int __isinff (float __value) throw () __attribute__ ((__const__)); extern int __finitef (float __value) throw () __attribute__ ((__const__)); extern int __isnanf (float __value) throw () __attribute__ ((__const__)); extern int __iseqsigf (float __x, float __y) throw (); extern int __issignalingf (float __value) throw () __attribute__ ((__const__)); # 307 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/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 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 (); # 177 "/usr/include/bits/mathcalls.h" 3 4 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 (); extern float __nanf (const char *__tagb) throw (); # 211 "/usr/include/bits/mathcalls.h" 3 4 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 (); extern float __nextafterf (float __x, float __y) throw (); extern float nexttowardf (float __x, long double __y) throw (); extern float __nexttowardf (float __x, long double __y) throw (); extern float nextdownf (float __x) throw (); extern float __nextdownf (float __x) throw (); extern float nextupf (float __x) throw (); extern float __nextupf (float __x) throw (); 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 long int llogbf (float __x) throw (); extern long int __llogbf (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 float fmaf (float __x, float __y, float __z) throw (); extern float __fmaf (float __x, float __y, float __z) throw (); extern float roundevenf (float __x) throw () __attribute__ ((__const__)); extern float __roundevenf (float __x) throw () __attribute__ ((__const__)); extern __intmax_t fromfpf (float __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf (float __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpf (float __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf (float __x, int __round, unsigned int __width) throw () ; extern __intmax_t fromfpxf (float __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf (float __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpxf (float __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf (float __x, int __round, unsigned int __width) throw () ; extern float fmaxmagf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaxmagf (float __x, float __y) throw () __attribute__ ((__const__)); extern float fminmagf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminmagf (float __x, float __y) throw () __attribute__ ((__const__)); extern int canonicalizef (float *__cx, const float *__x) throw (); extern int totalorderf (const float *__x, const float *__y) throw () __attribute__ ((__pure__)); extern int totalordermagf (const float *__x, const float *__y) throw () __attribute__ ((__pure__)); extern float getpayloadf (const float *__x) throw (); extern float __getpayloadf (const float *__x) throw (); extern int setpayloadf (float *__x, float __payload) throw (); extern int setpayloadsigf (float *__x, float __payload) throw (); extern float scalbf (float __x, float __n) throw (); extern float __scalbf (float __x, float __n) throw (); # 308 "/usr/include/math.h" 2 3 4 # 349 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 21 "/usr/include/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassifyl (long double __value) throw () __attribute__ ((__const__)); extern int __signbitl (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 int __isnanl (long double __value) throw () __attribute__ ((__const__)); extern int __iseqsigl (long double __x, long double __y) throw (); extern int __issignalingl (long double __value) throw () __attribute__ ((__const__)); # 350 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/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 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 (); # 177 "/usr/include/bits/mathcalls.h" 3 4 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 (); extern long double __nanl (const char *__tagb) throw (); # 211 "/usr/include/bits/mathcalls.h" 3 4 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 (); extern long double __nextafterl (long double __x, long double __y) throw (); extern long double nexttowardl (long double __x, long double __y) throw (); extern long double __nexttowardl (long double __x, long double __y) throw (); extern long double nextdownl (long double __x) throw (); extern long double __nextdownl (long double __x) throw (); extern long double nextupl (long double __x) throw (); extern long double __nextupl (long double __x) throw (); 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 int llogbl (long double __x) throw (); extern long int __llogbl (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 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 long double roundevenl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundevenl (long double __x) throw () __attribute__ ((__const__)); extern __intmax_t fromfpl (long double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpl (long double __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpl (long double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpl (long double __x, int __round, unsigned int __width) throw () ; extern __intmax_t fromfpxl (long double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxl (long double __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpxl (long double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxl (long double __x, int __round, unsigned int __width) throw () ; extern long double fmaxmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaxmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double fminmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern int canonicalizel (long double *__cx, const long double *__x) throw (); extern int totalorderl (const long double *__x, const long double *__y) throw () __attribute__ ((__pure__)); extern int totalordermagl (const long double *__x, const long double *__y) throw () __attribute__ ((__pure__)); extern long double getpayloadl (const long double *__x) throw (); extern long double __getpayloadl (const long double *__x) throw (); extern int setpayloadl (long double *__x, long double __payload) throw (); extern int setpayloadsigl (long double *__x, long double __payload) throw (); extern long double scalbl (long double __x, long double __n) throw (); extern long double __scalbl (long double __x, long double __n) throw (); # 351 "/usr/include/math.h" 2 3 4 # 389 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern _Float32 acosf32 (_Float32 __x) throw (); extern _Float32 __acosf32 (_Float32 __x) throw (); extern _Float32 asinf32 (_Float32 __x) throw (); extern _Float32 __asinf32 (_Float32 __x) throw (); extern _Float32 atanf32 (_Float32 __x) throw (); extern _Float32 __atanf32 (_Float32 __x) throw (); extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) throw (); extern _Float32 __atan2f32 (_Float32 __y, _Float32 __x) throw (); extern _Float32 cosf32 (_Float32 __x) throw (); extern _Float32 __cosf32 (_Float32 __x) throw (); extern _Float32 sinf32 (_Float32 __x) throw (); extern _Float32 __sinf32 (_Float32 __x) throw (); extern _Float32 tanf32 (_Float32 __x) throw (); extern _Float32 __tanf32 (_Float32 __x) throw (); extern _Float32 coshf32 (_Float32 __x) throw (); extern _Float32 __coshf32 (_Float32 __x) throw (); extern _Float32 sinhf32 (_Float32 __x) throw (); extern _Float32 __sinhf32 (_Float32 __x) throw (); extern _Float32 tanhf32 (_Float32 __x) throw (); extern _Float32 __tanhf32 (_Float32 __x) throw (); extern void sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) throw (); extern void __sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) throw () ; extern _Float32 acoshf32 (_Float32 __x) throw (); extern _Float32 __acoshf32 (_Float32 __x) throw (); extern _Float32 asinhf32 (_Float32 __x) throw (); extern _Float32 __asinhf32 (_Float32 __x) throw (); extern _Float32 atanhf32 (_Float32 __x) throw (); extern _Float32 __atanhf32 (_Float32 __x) throw (); extern _Float32 expf32 (_Float32 __x) throw (); extern _Float32 __expf32 (_Float32 __x) throw (); extern _Float32 frexpf32 (_Float32 __x, int *__exponent) throw (); extern _Float32 __frexpf32 (_Float32 __x, int *__exponent) throw (); extern _Float32 ldexpf32 (_Float32 __x, int __exponent) throw (); extern _Float32 __ldexpf32 (_Float32 __x, int __exponent) throw (); extern _Float32 logf32 (_Float32 __x) throw (); extern _Float32 __logf32 (_Float32 __x) throw (); extern _Float32 log10f32 (_Float32 __x) throw (); extern _Float32 __log10f32 (_Float32 __x) throw (); extern _Float32 modff32 (_Float32 __x, _Float32 *__iptr) throw (); extern _Float32 __modff32 (_Float32 __x, _Float32 *__iptr) throw () __attribute__ ((__nonnull__ (2))); extern _Float32 exp10f32 (_Float32 __x) throw (); extern _Float32 __exp10f32 (_Float32 __x) throw (); extern _Float32 expm1f32 (_Float32 __x) throw (); extern _Float32 __expm1f32 (_Float32 __x) throw (); extern _Float32 log1pf32 (_Float32 __x) throw (); extern _Float32 __log1pf32 (_Float32 __x) throw (); extern _Float32 logbf32 (_Float32 __x) throw (); extern _Float32 __logbf32 (_Float32 __x) throw (); extern _Float32 exp2f32 (_Float32 __x) throw (); extern _Float32 __exp2f32 (_Float32 __x) throw (); extern _Float32 log2f32 (_Float32 __x) throw (); extern _Float32 __log2f32 (_Float32 __x) throw (); extern _Float32 powf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __powf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 sqrtf32 (_Float32 __x) throw (); extern _Float32 __sqrtf32 (_Float32 __x) throw (); extern _Float32 hypotf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __hypotf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 cbrtf32 (_Float32 __x) throw (); extern _Float32 __cbrtf32 (_Float32 __x) throw (); extern _Float32 ceilf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __ceilf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 fabsf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __fabsf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 floorf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __floorf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 fmodf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __fmodf32 (_Float32 __x, _Float32 __y) throw (); # 196 "/usr/include/bits/mathcalls.h" 3 4 extern _Float32 copysignf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __copysignf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 nanf32 (const char *__tagb) throw (); extern _Float32 __nanf32 (const char *__tagb) throw (); # 217 "/usr/include/bits/mathcalls.h" 3 4 extern _Float32 j0f32 (_Float32) throw (); extern _Float32 __j0f32 (_Float32) throw (); extern _Float32 j1f32 (_Float32) throw (); extern _Float32 __j1f32 (_Float32) throw (); extern _Float32 jnf32 (int, _Float32) throw (); extern _Float32 __jnf32 (int, _Float32) throw (); extern _Float32 y0f32 (_Float32) throw (); extern _Float32 __y0f32 (_Float32) throw (); extern _Float32 y1f32 (_Float32) throw (); extern _Float32 __y1f32 (_Float32) throw (); extern _Float32 ynf32 (int, _Float32) throw (); extern _Float32 __ynf32 (int, _Float32) throw (); extern _Float32 erff32 (_Float32) throw (); extern _Float32 __erff32 (_Float32) throw (); extern _Float32 erfcf32 (_Float32) throw (); extern _Float32 __erfcf32 (_Float32) throw (); extern _Float32 lgammaf32 (_Float32) throw (); extern _Float32 __lgammaf32 (_Float32) throw (); extern _Float32 tgammaf32 (_Float32) throw (); extern _Float32 __tgammaf32 (_Float32) throw (); # 249 "/usr/include/bits/mathcalls.h" 3 4 extern _Float32 lgammaf32_r (_Float32, int *__signgamp) throw (); extern _Float32 __lgammaf32_r (_Float32, int *__signgamp) throw (); extern _Float32 rintf32 (_Float32 __x) throw (); extern _Float32 __rintf32 (_Float32 __x) throw (); extern _Float32 nextafterf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __nextafterf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 nextdownf32 (_Float32 __x) throw (); extern _Float32 __nextdownf32 (_Float32 __x) throw (); extern _Float32 nextupf32 (_Float32 __x) throw (); extern _Float32 __nextupf32 (_Float32 __x) throw (); extern _Float32 remainderf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __remainderf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 scalbnf32 (_Float32 __x, int __n) throw (); extern _Float32 __scalbnf32 (_Float32 __x, int __n) throw (); extern int ilogbf32 (_Float32 __x) throw (); extern int __ilogbf32 (_Float32 __x) throw (); extern long int llogbf32 (_Float32 __x) throw (); extern long int __llogbf32 (_Float32 __x) throw (); extern _Float32 scalblnf32 (_Float32 __x, long int __n) throw (); extern _Float32 __scalblnf32 (_Float32 __x, long int __n) throw (); extern _Float32 nearbyintf32 (_Float32 __x) throw (); extern _Float32 __nearbyintf32 (_Float32 __x) throw (); extern _Float32 roundf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __roundf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 truncf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __truncf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 remquof32 (_Float32 __x, _Float32 __y, int *__quo) throw (); extern _Float32 __remquof32 (_Float32 __x, _Float32 __y, int *__quo) throw (); extern long int lrintf32 (_Float32 __x) throw (); extern long int __lrintf32 (_Float32 __x) throw (); __extension__ extern long long int llrintf32 (_Float32 __x) throw (); extern long long int __llrintf32 (_Float32 __x) throw (); extern long int lroundf32 (_Float32 __x) throw (); extern long int __lroundf32 (_Float32 __x) throw (); __extension__ extern long long int llroundf32 (_Float32 __x) throw (); extern long long int __llroundf32 (_Float32 __x) throw (); extern _Float32 fdimf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __fdimf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 fmaxf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fmaxf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 fminf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fminf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) throw (); extern _Float32 __fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) throw (); extern _Float32 roundevenf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __roundevenf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern __intmax_t fromfpf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf32 (_Float32 __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf32 (_Float32 __x, int __round, unsigned int __width) throw () ; extern __intmax_t fromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw () ; extern _Float32 fmaxmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fmaxmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 fminmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fminmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) throw (); extern int totalorderf32 (const _Float32 *__x, const _Float32 *__y) throw () __attribute__ ((__pure__)); extern int totalordermagf32 (const _Float32 *__x, const _Float32 *__y) throw () __attribute__ ((__pure__)); extern _Float32 getpayloadf32 (const _Float32 *__x) throw (); extern _Float32 __getpayloadf32 (const _Float32 *__x) throw (); extern int setpayloadf32 (_Float32 *__x, _Float32 __payload) throw (); extern int setpayloadsigf32 (_Float32 *__x, _Float32 __payload) throw (); # 390 "/usr/include/math.h" 2 3 4 # 406 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern _Float64 acosf64 (_Float64 __x) throw (); extern _Float64 __acosf64 (_Float64 __x) throw (); extern _Float64 asinf64 (_Float64 __x) throw (); extern _Float64 __asinf64 (_Float64 __x) throw (); extern _Float64 atanf64 (_Float64 __x) throw (); extern _Float64 __atanf64 (_Float64 __x) throw (); extern _Float64 atan2f64 (_Float64 __y, _Float64 __x) throw (); extern _Float64 __atan2f64 (_Float64 __y, _Float64 __x) throw (); extern _Float64 cosf64 (_Float64 __x) throw (); extern _Float64 __cosf64 (_Float64 __x) throw (); extern _Float64 sinf64 (_Float64 __x) throw (); extern _Float64 __sinf64 (_Float64 __x) throw (); extern _Float64 tanf64 (_Float64 __x) throw (); extern _Float64 __tanf64 (_Float64 __x) throw (); extern _Float64 coshf64 (_Float64 __x) throw (); extern _Float64 __coshf64 (_Float64 __x) throw (); extern _Float64 sinhf64 (_Float64 __x) throw (); extern _Float64 __sinhf64 (_Float64 __x) throw (); extern _Float64 tanhf64 (_Float64 __x) throw (); extern _Float64 __tanhf64 (_Float64 __x) throw (); extern void sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) throw (); extern void __sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) throw () ; extern _Float64 acoshf64 (_Float64 __x) throw (); extern _Float64 __acoshf64 (_Float64 __x) throw (); extern _Float64 asinhf64 (_Float64 __x) throw (); extern _Float64 __asinhf64 (_Float64 __x) throw (); extern _Float64 atanhf64 (_Float64 __x) throw (); extern _Float64 __atanhf64 (_Float64 __x) throw (); extern _Float64 expf64 (_Float64 __x) throw (); extern _Float64 __expf64 (_Float64 __x) throw (); extern _Float64 frexpf64 (_Float64 __x, int *__exponent) throw (); extern _Float64 __frexpf64 (_Float64 __x, int *__exponent) throw (); extern _Float64 ldexpf64 (_Float64 __x, int __exponent) throw (); extern _Float64 __ldexpf64 (_Float64 __x, int __exponent) throw (); extern _Float64 logf64 (_Float64 __x) throw (); extern _Float64 __logf64 (_Float64 __x) throw (); extern _Float64 log10f64 (_Float64 __x) throw (); extern _Float64 __log10f64 (_Float64 __x) throw (); extern _Float64 modff64 (_Float64 __x, _Float64 *__iptr) throw (); extern _Float64 __modff64 (_Float64 __x, _Float64 *__iptr) throw () __attribute__ ((__nonnull__ (2))); extern _Float64 exp10f64 (_Float64 __x) throw (); extern _Float64 __exp10f64 (_Float64 __x) throw (); extern _Float64 expm1f64 (_Float64 __x) throw (); extern _Float64 __expm1f64 (_Float64 __x) throw (); extern _Float64 log1pf64 (_Float64 __x) throw (); extern _Float64 __log1pf64 (_Float64 __x) throw (); extern _Float64 logbf64 (_Float64 __x) throw (); extern _Float64 __logbf64 (_Float64 __x) throw (); extern _Float64 exp2f64 (_Float64 __x) throw (); extern _Float64 __exp2f64 (_Float64 __x) throw (); extern _Float64 log2f64 (_Float64 __x) throw (); extern _Float64 __log2f64 (_Float64 __x) throw (); extern _Float64 powf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __powf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 sqrtf64 (_Float64 __x) throw (); extern _Float64 __sqrtf64 (_Float64 __x) throw (); extern _Float64 hypotf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __hypotf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 cbrtf64 (_Float64 __x) throw (); extern _Float64 __cbrtf64 (_Float64 __x) throw (); extern _Float64 ceilf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __ceilf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 fabsf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __fabsf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 floorf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __floorf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 fmodf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __fmodf64 (_Float64 __x, _Float64 __y) throw (); # 196 "/usr/include/bits/mathcalls.h" 3 4 extern _Float64 copysignf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __copysignf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 nanf64 (const char *__tagb) throw (); extern _Float64 __nanf64 (const char *__tagb) throw (); # 217 "/usr/include/bits/mathcalls.h" 3 4 extern _Float64 j0f64 (_Float64) throw (); extern _Float64 __j0f64 (_Float64) throw (); extern _Float64 j1f64 (_Float64) throw (); extern _Float64 __j1f64 (_Float64) throw (); extern _Float64 jnf64 (int, _Float64) throw (); extern _Float64 __jnf64 (int, _Float64) throw (); extern _Float64 y0f64 (_Float64) throw (); extern _Float64 __y0f64 (_Float64) throw (); extern _Float64 y1f64 (_Float64) throw (); extern _Float64 __y1f64 (_Float64) throw (); extern _Float64 ynf64 (int, _Float64) throw (); extern _Float64 __ynf64 (int, _Float64) throw (); extern _Float64 erff64 (_Float64) throw (); extern _Float64 __erff64 (_Float64) throw (); extern _Float64 erfcf64 (_Float64) throw (); extern _Float64 __erfcf64 (_Float64) throw (); extern _Float64 lgammaf64 (_Float64) throw (); extern _Float64 __lgammaf64 (_Float64) throw (); extern _Float64 tgammaf64 (_Float64) throw (); extern _Float64 __tgammaf64 (_Float64) throw (); # 249 "/usr/include/bits/mathcalls.h" 3 4 extern _Float64 lgammaf64_r (_Float64, int *__signgamp) throw (); extern _Float64 __lgammaf64_r (_Float64, int *__signgamp) throw (); extern _Float64 rintf64 (_Float64 __x) throw (); extern _Float64 __rintf64 (_Float64 __x) throw (); extern _Float64 nextafterf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __nextafterf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 nextdownf64 (_Float64 __x) throw (); extern _Float64 __nextdownf64 (_Float64 __x) throw (); extern _Float64 nextupf64 (_Float64 __x) throw (); extern _Float64 __nextupf64 (_Float64 __x) throw (); extern _Float64 remainderf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __remainderf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 scalbnf64 (_Float64 __x, int __n) throw (); extern _Float64 __scalbnf64 (_Float64 __x, int __n) throw (); extern int ilogbf64 (_Float64 __x) throw (); extern int __ilogbf64 (_Float64 __x) throw (); extern long int llogbf64 (_Float64 __x) throw (); extern long int __llogbf64 (_Float64 __x) throw (); extern _Float64 scalblnf64 (_Float64 __x, long int __n) throw (); extern _Float64 __scalblnf64 (_Float64 __x, long int __n) throw (); extern _Float64 nearbyintf64 (_Float64 __x) throw (); extern _Float64 __nearbyintf64 (_Float64 __x) throw (); extern _Float64 roundf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __roundf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 truncf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __truncf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 remquof64 (_Float64 __x, _Float64 __y, int *__quo) throw (); extern _Float64 __remquof64 (_Float64 __x, _Float64 __y, int *__quo) throw (); extern long int lrintf64 (_Float64 __x) throw (); extern long int __lrintf64 (_Float64 __x) throw (); __extension__ extern long long int llrintf64 (_Float64 __x) throw (); extern long long int __llrintf64 (_Float64 __x) throw (); extern long int lroundf64 (_Float64 __x) throw (); extern long int __lroundf64 (_Float64 __x) throw (); __extension__ extern long long int llroundf64 (_Float64 __x) throw (); extern long long int __llroundf64 (_Float64 __x) throw (); extern _Float64 fdimf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __fdimf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 fmaxf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fmaxf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 fminf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fminf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) throw (); extern _Float64 __fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) throw (); extern _Float64 roundevenf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __roundevenf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern __intmax_t fromfpf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf64 (_Float64 __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf64 (_Float64 __x, int __round, unsigned int __width) throw () ; extern __intmax_t fromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw () ; extern _Float64 fmaxmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fmaxmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 fminmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fminmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) throw (); extern int totalorderf64 (const _Float64 *__x, const _Float64 *__y) throw () __attribute__ ((__pure__)); extern int totalordermagf64 (const _Float64 *__x, const _Float64 *__y) throw () __attribute__ ((__pure__)); extern _Float64 getpayloadf64 (const _Float64 *__x) throw (); extern _Float64 __getpayloadf64 (const _Float64 *__x) throw (); extern int setpayloadf64 (_Float64 *__x, _Float64 __payload) throw (); extern int setpayloadsigf64 (_Float64 *__x, _Float64 __payload) throw (); # 407 "/usr/include/math.h" 2 3 4 # 420 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 21 "/usr/include/bits/mathcalls-helper-functions.h" 3 4 extern int __fpclassifyf128 (_Float128 __value) throw () __attribute__ ((__const__)); extern int __signbitf128 (_Float128 __value) throw () __attribute__ ((__const__)); extern int __isinff128 (_Float128 __value) throw () __attribute__ ((__const__)); extern int __finitef128 (_Float128 __value) throw () __attribute__ ((__const__)); extern int __isnanf128 (_Float128 __value) throw () __attribute__ ((__const__)); extern int __iseqsigf128 (_Float128 __x, _Float128 __y) throw (); extern int __issignalingf128 (_Float128 __value) throw () __attribute__ ((__const__)); # 421 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern _Float128 acosf128 (_Float128 __x) throw (); extern _Float128 __acosf128 (_Float128 __x) throw (); extern _Float128 asinf128 (_Float128 __x) throw (); extern _Float128 __asinf128 (_Float128 __x) throw (); extern _Float128 atanf128 (_Float128 __x) throw (); extern _Float128 __atanf128 (_Float128 __x) throw (); extern _Float128 atan2f128 (_Float128 __y, _Float128 __x) throw (); extern _Float128 __atan2f128 (_Float128 __y, _Float128 __x) throw (); extern _Float128 cosf128 (_Float128 __x) throw (); extern _Float128 __cosf128 (_Float128 __x) throw (); extern _Float128 sinf128 (_Float128 __x) throw (); extern _Float128 __sinf128 (_Float128 __x) throw (); extern _Float128 tanf128 (_Float128 __x) throw (); extern _Float128 __tanf128 (_Float128 __x) throw (); extern _Float128 coshf128 (_Float128 __x) throw (); extern _Float128 __coshf128 (_Float128 __x) throw (); extern _Float128 sinhf128 (_Float128 __x) throw (); extern _Float128 __sinhf128 (_Float128 __x) throw (); extern _Float128 tanhf128 (_Float128 __x) throw (); extern _Float128 __tanhf128 (_Float128 __x) throw (); extern void sincosf128 (_Float128 __x, _Float128 *__sinx, _Float128 *__cosx) throw (); extern void __sincosf128 (_Float128 __x, _Float128 *__sinx, _Float128 *__cosx) throw () ; extern _Float128 acoshf128 (_Float128 __x) throw (); extern _Float128 __acoshf128 (_Float128 __x) throw (); extern _Float128 asinhf128 (_Float128 __x) throw (); extern _Float128 __asinhf128 (_Float128 __x) throw (); extern _Float128 atanhf128 (_Float128 __x) throw (); extern _Float128 __atanhf128 (_Float128 __x) throw (); extern _Float128 expf128 (_Float128 __x) throw (); extern _Float128 __expf128 (_Float128 __x) throw (); extern _Float128 frexpf128 (_Float128 __x, int *__exponent) throw (); extern _Float128 __frexpf128 (_Float128 __x, int *__exponent) throw (); extern _Float128 ldexpf128 (_Float128 __x, int __exponent) throw (); extern _Float128 __ldexpf128 (_Float128 __x, int __exponent) throw (); extern _Float128 logf128 (_Float128 __x) throw (); extern _Float128 __logf128 (_Float128 __x) throw (); extern _Float128 log10f128 (_Float128 __x) throw (); extern _Float128 __log10f128 (_Float128 __x) throw (); extern _Float128 modff128 (_Float128 __x, _Float128 *__iptr) throw (); extern _Float128 __modff128 (_Float128 __x, _Float128 *__iptr) throw () __attribute__ ((__nonnull__ (2))); extern _Float128 exp10f128 (_Float128 __x) throw (); extern _Float128 __exp10f128 (_Float128 __x) throw (); extern _Float128 expm1f128 (_Float128 __x) throw (); extern _Float128 __expm1f128 (_Float128 __x) throw (); extern _Float128 log1pf128 (_Float128 __x) throw (); extern _Float128 __log1pf128 (_Float128 __x) throw (); extern _Float128 logbf128 (_Float128 __x) throw (); extern _Float128 __logbf128 (_Float128 __x) throw (); extern _Float128 exp2f128 (_Float128 __x) throw (); extern _Float128 __exp2f128 (_Float128 __x) throw (); extern _Float128 log2f128 (_Float128 __x) throw (); extern _Float128 __log2f128 (_Float128 __x) throw (); extern _Float128 powf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __powf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 sqrtf128 (_Float128 __x) throw (); extern _Float128 __sqrtf128 (_Float128 __x) throw (); extern _Float128 hypotf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __hypotf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 cbrtf128 (_Float128 __x) throw (); extern _Float128 __cbrtf128 (_Float128 __x) throw (); extern _Float128 ceilf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __ceilf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 fabsf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __fabsf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 floorf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __floorf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 fmodf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __fmodf128 (_Float128 __x, _Float128 __y) throw (); # 196 "/usr/include/bits/mathcalls.h" 3 4 extern _Float128 copysignf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __copysignf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 nanf128 (const char *__tagb) throw (); extern _Float128 __nanf128 (const char *__tagb) throw (); # 217 "/usr/include/bits/mathcalls.h" 3 4 extern _Float128 j0f128 (_Float128) throw (); extern _Float128 __j0f128 (_Float128) throw (); extern _Float128 j1f128 (_Float128) throw (); extern _Float128 __j1f128 (_Float128) throw (); extern _Float128 jnf128 (int, _Float128) throw (); extern _Float128 __jnf128 (int, _Float128) throw (); extern _Float128 y0f128 (_Float128) throw (); extern _Float128 __y0f128 (_Float128) throw (); extern _Float128 y1f128 (_Float128) throw (); extern _Float128 __y1f128 (_Float128) throw (); extern _Float128 ynf128 (int, _Float128) throw (); extern _Float128 __ynf128 (int, _Float128) throw (); extern _Float128 erff128 (_Float128) throw (); extern _Float128 __erff128 (_Float128) throw (); extern _Float128 erfcf128 (_Float128) throw (); extern _Float128 __erfcf128 (_Float128) throw (); extern _Float128 lgammaf128 (_Float128) throw (); extern _Float128 __lgammaf128 (_Float128) throw (); extern _Float128 tgammaf128 (_Float128) throw (); extern _Float128 __tgammaf128 (_Float128) throw (); # 249 "/usr/include/bits/mathcalls.h" 3 4 extern _Float128 lgammaf128_r (_Float128, int *__signgamp) throw (); extern _Float128 __lgammaf128_r (_Float128, int *__signgamp) throw (); extern _Float128 rintf128 (_Float128 __x) throw (); extern _Float128 __rintf128 (_Float128 __x) throw (); extern _Float128 nextafterf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __nextafterf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 nextdownf128 (_Float128 __x) throw (); extern _Float128 __nextdownf128 (_Float128 __x) throw (); extern _Float128 nextupf128 (_Float128 __x) throw (); extern _Float128 __nextupf128 (_Float128 __x) throw (); extern _Float128 remainderf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __remainderf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 scalbnf128 (_Float128 __x, int __n) throw (); extern _Float128 __scalbnf128 (_Float128 __x, int __n) throw (); extern int ilogbf128 (_Float128 __x) throw (); extern int __ilogbf128 (_Float128 __x) throw (); extern long int llogbf128 (_Float128 __x) throw (); extern long int __llogbf128 (_Float128 __x) throw (); extern _Float128 scalblnf128 (_Float128 __x, long int __n) throw (); extern _Float128 __scalblnf128 (_Float128 __x, long int __n) throw (); extern _Float128 nearbyintf128 (_Float128 __x) throw (); extern _Float128 __nearbyintf128 (_Float128 __x) throw (); extern _Float128 roundf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __roundf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 truncf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __truncf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 remquof128 (_Float128 __x, _Float128 __y, int *__quo) throw (); extern _Float128 __remquof128 (_Float128 __x, _Float128 __y, int *__quo) throw (); extern long int lrintf128 (_Float128 __x) throw (); extern long int __lrintf128 (_Float128 __x) throw (); __extension__ extern long long int llrintf128 (_Float128 __x) throw (); extern long long int __llrintf128 (_Float128 __x) throw (); extern long int lroundf128 (_Float128 __x) throw (); extern long int __lroundf128 (_Float128 __x) throw (); __extension__ extern long long int llroundf128 (_Float128 __x) throw (); extern long long int __llroundf128 (_Float128 __x) throw (); extern _Float128 fdimf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __fdimf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 fmaxf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fmaxf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 fminf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fminf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) throw (); extern _Float128 __fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) throw (); extern _Float128 roundevenf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __roundevenf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern __intmax_t fromfpf128 (_Float128 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf128 (_Float128 __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpf128 (_Float128 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf128 (_Float128 __x, int __round, unsigned int __width) throw () ; extern __intmax_t fromfpxf128 (_Float128 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf128 (_Float128 __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpxf128 (_Float128 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf128 (_Float128 __x, int __round, unsigned int __width) throw () ; extern _Float128 fmaxmagf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fmaxmagf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 fminmagf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fminmagf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern int canonicalizef128 (_Float128 *__cx, const _Float128 *__x) throw (); extern int totalorderf128 (const _Float128 *__x, const _Float128 *__y) throw () __attribute__ ((__pure__)); extern int totalordermagf128 (const _Float128 *__x, const _Float128 *__y) throw () __attribute__ ((__pure__)); extern _Float128 getpayloadf128 (const _Float128 *__x) throw (); extern _Float128 __getpayloadf128 (const _Float128 *__x) throw (); extern int setpayloadf128 (_Float128 *__x, _Float128 __payload) throw (); extern int setpayloadsigf128 (_Float128 *__x, _Float128 __payload) throw (); # 424 "/usr/include/math.h" 2 3 4 # 440 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern _Float32x acosf32x (_Float32x __x) throw (); extern _Float32x __acosf32x (_Float32x __x) throw (); extern _Float32x asinf32x (_Float32x __x) throw (); extern _Float32x __asinf32x (_Float32x __x) throw (); extern _Float32x atanf32x (_Float32x __x) throw (); extern _Float32x __atanf32x (_Float32x __x) throw (); extern _Float32x atan2f32x (_Float32x __y, _Float32x __x) throw (); extern _Float32x __atan2f32x (_Float32x __y, _Float32x __x) throw (); extern _Float32x cosf32x (_Float32x __x) throw (); extern _Float32x __cosf32x (_Float32x __x) throw (); extern _Float32x sinf32x (_Float32x __x) throw (); extern _Float32x __sinf32x (_Float32x __x) throw (); extern _Float32x tanf32x (_Float32x __x) throw (); extern _Float32x __tanf32x (_Float32x __x) throw (); extern _Float32x coshf32x (_Float32x __x) throw (); extern _Float32x __coshf32x (_Float32x __x) throw (); extern _Float32x sinhf32x (_Float32x __x) throw (); extern _Float32x __sinhf32x (_Float32x __x) throw (); extern _Float32x tanhf32x (_Float32x __x) throw (); extern _Float32x __tanhf32x (_Float32x __x) throw (); extern void sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) throw (); extern void __sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) throw () ; extern _Float32x acoshf32x (_Float32x __x) throw (); extern _Float32x __acoshf32x (_Float32x __x) throw (); extern _Float32x asinhf32x (_Float32x __x) throw (); extern _Float32x __asinhf32x (_Float32x __x) throw (); extern _Float32x atanhf32x (_Float32x __x) throw (); extern _Float32x __atanhf32x (_Float32x __x) throw (); extern _Float32x expf32x (_Float32x __x) throw (); extern _Float32x __expf32x (_Float32x __x) throw (); extern _Float32x frexpf32x (_Float32x __x, int *__exponent) throw (); extern _Float32x __frexpf32x (_Float32x __x, int *__exponent) throw (); extern _Float32x ldexpf32x (_Float32x __x, int __exponent) throw (); extern _Float32x __ldexpf32x (_Float32x __x, int __exponent) throw (); extern _Float32x logf32x (_Float32x __x) throw (); extern _Float32x __logf32x (_Float32x __x) throw (); extern _Float32x log10f32x (_Float32x __x) throw (); extern _Float32x __log10f32x (_Float32x __x) throw (); extern _Float32x modff32x (_Float32x __x, _Float32x *__iptr) throw (); extern _Float32x __modff32x (_Float32x __x, _Float32x *__iptr) throw () __attribute__ ((__nonnull__ (2))); extern _Float32x exp10f32x (_Float32x __x) throw (); extern _Float32x __exp10f32x (_Float32x __x) throw (); extern _Float32x expm1f32x (_Float32x __x) throw (); extern _Float32x __expm1f32x (_Float32x __x) throw (); extern _Float32x log1pf32x (_Float32x __x) throw (); extern _Float32x __log1pf32x (_Float32x __x) throw (); extern _Float32x logbf32x (_Float32x __x) throw (); extern _Float32x __logbf32x (_Float32x __x) throw (); extern _Float32x exp2f32x (_Float32x __x) throw (); extern _Float32x __exp2f32x (_Float32x __x) throw (); extern _Float32x log2f32x (_Float32x __x) throw (); extern _Float32x __log2f32x (_Float32x __x) throw (); extern _Float32x powf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __powf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x sqrtf32x (_Float32x __x) throw (); extern _Float32x __sqrtf32x (_Float32x __x) throw (); extern _Float32x hypotf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __hypotf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x cbrtf32x (_Float32x __x) throw (); extern _Float32x __cbrtf32x (_Float32x __x) throw (); extern _Float32x ceilf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __ceilf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x fabsf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __fabsf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x floorf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __floorf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x fmodf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __fmodf32x (_Float32x __x, _Float32x __y) throw (); # 196 "/usr/include/bits/mathcalls.h" 3 4 extern _Float32x copysignf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __copysignf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x nanf32x (const char *__tagb) throw (); extern _Float32x __nanf32x (const char *__tagb) throw (); # 217 "/usr/include/bits/mathcalls.h" 3 4 extern _Float32x j0f32x (_Float32x) throw (); extern _Float32x __j0f32x (_Float32x) throw (); extern _Float32x j1f32x (_Float32x) throw (); extern _Float32x __j1f32x (_Float32x) throw (); extern _Float32x jnf32x (int, _Float32x) throw (); extern _Float32x __jnf32x (int, _Float32x) throw (); extern _Float32x y0f32x (_Float32x) throw (); extern _Float32x __y0f32x (_Float32x) throw (); extern _Float32x y1f32x (_Float32x) throw (); extern _Float32x __y1f32x (_Float32x) throw (); extern _Float32x ynf32x (int, _Float32x) throw (); extern _Float32x __ynf32x (int, _Float32x) throw (); extern _Float32x erff32x (_Float32x) throw (); extern _Float32x __erff32x (_Float32x) throw (); extern _Float32x erfcf32x (_Float32x) throw (); extern _Float32x __erfcf32x (_Float32x) throw (); extern _Float32x lgammaf32x (_Float32x) throw (); extern _Float32x __lgammaf32x (_Float32x) throw (); extern _Float32x tgammaf32x (_Float32x) throw (); extern _Float32x __tgammaf32x (_Float32x) throw (); # 249 "/usr/include/bits/mathcalls.h" 3 4 extern _Float32x lgammaf32x_r (_Float32x, int *__signgamp) throw (); extern _Float32x __lgammaf32x_r (_Float32x, int *__signgamp) throw (); extern _Float32x rintf32x (_Float32x __x) throw (); extern _Float32x __rintf32x (_Float32x __x) throw (); extern _Float32x nextafterf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __nextafterf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x nextdownf32x (_Float32x __x) throw (); extern _Float32x __nextdownf32x (_Float32x __x) throw (); extern _Float32x nextupf32x (_Float32x __x) throw (); extern _Float32x __nextupf32x (_Float32x __x) throw (); extern _Float32x remainderf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __remainderf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x scalbnf32x (_Float32x __x, int __n) throw (); extern _Float32x __scalbnf32x (_Float32x __x, int __n) throw (); extern int ilogbf32x (_Float32x __x) throw (); extern int __ilogbf32x (_Float32x __x) throw (); extern long int llogbf32x (_Float32x __x) throw (); extern long int __llogbf32x (_Float32x __x) throw (); extern _Float32x scalblnf32x (_Float32x __x, long int __n) throw (); extern _Float32x __scalblnf32x (_Float32x __x, long int __n) throw (); extern _Float32x nearbyintf32x (_Float32x __x) throw (); extern _Float32x __nearbyintf32x (_Float32x __x) throw (); extern _Float32x roundf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __roundf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x truncf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __truncf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x remquof32x (_Float32x __x, _Float32x __y, int *__quo) throw (); extern _Float32x __remquof32x (_Float32x __x, _Float32x __y, int *__quo) throw (); extern long int lrintf32x (_Float32x __x) throw (); extern long int __lrintf32x (_Float32x __x) throw (); __extension__ extern long long int llrintf32x (_Float32x __x) throw (); extern long long int __llrintf32x (_Float32x __x) throw (); extern long int lroundf32x (_Float32x __x) throw (); extern long int __lroundf32x (_Float32x __x) throw (); __extension__ extern long long int llroundf32x (_Float32x __x) throw (); extern long long int __llroundf32x (_Float32x __x) throw (); extern _Float32x fdimf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __fdimf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x fmaxf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fmaxf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x fminf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fminf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) throw (); extern _Float32x __fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) throw (); extern _Float32x roundevenf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __roundevenf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern __intmax_t fromfpf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf32x (_Float32x __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf32x (_Float32x __x, int __round, unsigned int __width) throw () ; extern __intmax_t fromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw () ; extern _Float32x fmaxmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fmaxmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x fminmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fminmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) throw (); extern int totalorderf32x (const _Float32x *__x, const _Float32x *__y) throw () __attribute__ ((__pure__)); extern int totalordermagf32x (const _Float32x *__x, const _Float32x *__y) throw () __attribute__ ((__pure__)); extern _Float32x getpayloadf32x (const _Float32x *__x) throw (); extern _Float32x __getpayloadf32x (const _Float32x *__x) throw (); extern int setpayloadf32x (_Float32x *__x, _Float32x __payload) throw (); extern int setpayloadsigf32x (_Float32x *__x, _Float32x __payload) throw (); # 441 "/usr/include/math.h" 2 3 4 # 457 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls.h" 1 3 4 # 53 "/usr/include/bits/mathcalls.h" 3 4 extern _Float64x acosf64x (_Float64x __x) throw (); extern _Float64x __acosf64x (_Float64x __x) throw (); extern _Float64x asinf64x (_Float64x __x) throw (); extern _Float64x __asinf64x (_Float64x __x) throw (); extern _Float64x atanf64x (_Float64x __x) throw (); extern _Float64x __atanf64x (_Float64x __x) throw (); extern _Float64x atan2f64x (_Float64x __y, _Float64x __x) throw (); extern _Float64x __atan2f64x (_Float64x __y, _Float64x __x) throw (); extern _Float64x cosf64x (_Float64x __x) throw (); extern _Float64x __cosf64x (_Float64x __x) throw (); extern _Float64x sinf64x (_Float64x __x) throw (); extern _Float64x __sinf64x (_Float64x __x) throw (); extern _Float64x tanf64x (_Float64x __x) throw (); extern _Float64x __tanf64x (_Float64x __x) throw (); extern _Float64x coshf64x (_Float64x __x) throw (); extern _Float64x __coshf64x (_Float64x __x) throw (); extern _Float64x sinhf64x (_Float64x __x) throw (); extern _Float64x __sinhf64x (_Float64x __x) throw (); extern _Float64x tanhf64x (_Float64x __x) throw (); extern _Float64x __tanhf64x (_Float64x __x) throw (); extern void sincosf64x (_Float64x __x, _Float64x *__sinx, _Float64x *__cosx) throw (); extern void __sincosf64x (_Float64x __x, _Float64x *__sinx, _Float64x *__cosx) throw () ; extern _Float64x acoshf64x (_Float64x __x) throw (); extern _Float64x __acoshf64x (_Float64x __x) throw (); extern _Float64x asinhf64x (_Float64x __x) throw (); extern _Float64x __asinhf64x (_Float64x __x) throw (); extern _Float64x atanhf64x (_Float64x __x) throw (); extern _Float64x __atanhf64x (_Float64x __x) throw (); extern _Float64x expf64x (_Float64x __x) throw (); extern _Float64x __expf64x (_Float64x __x) throw (); extern _Float64x frexpf64x (_Float64x __x, int *__exponent) throw (); extern _Float64x __frexpf64x (_Float64x __x, int *__exponent) throw (); extern _Float64x ldexpf64x (_Float64x __x, int __exponent) throw (); extern _Float64x __ldexpf64x (_Float64x __x, int __exponent) throw (); extern _Float64x logf64x (_Float64x __x) throw (); extern _Float64x __logf64x (_Float64x __x) throw (); extern _Float64x log10f64x (_Float64x __x) throw (); extern _Float64x __log10f64x (_Float64x __x) throw (); extern _Float64x modff64x (_Float64x __x, _Float64x *__iptr) throw (); extern _Float64x __modff64x (_Float64x __x, _Float64x *__iptr) throw () __attribute__ ((__nonnull__ (2))); extern _Float64x exp10f64x (_Float64x __x) throw (); extern _Float64x __exp10f64x (_Float64x __x) throw (); extern _Float64x expm1f64x (_Float64x __x) throw (); extern _Float64x __expm1f64x (_Float64x __x) throw (); extern _Float64x log1pf64x (_Float64x __x) throw (); extern _Float64x __log1pf64x (_Float64x __x) throw (); extern _Float64x logbf64x (_Float64x __x) throw (); extern _Float64x __logbf64x (_Float64x __x) throw (); extern _Float64x exp2f64x (_Float64x __x) throw (); extern _Float64x __exp2f64x (_Float64x __x) throw (); extern _Float64x log2f64x (_Float64x __x) throw (); extern _Float64x __log2f64x (_Float64x __x) throw (); extern _Float64x powf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __powf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x sqrtf64x (_Float64x __x) throw (); extern _Float64x __sqrtf64x (_Float64x __x) throw (); extern _Float64x hypotf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __hypotf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x cbrtf64x (_Float64x __x) throw (); extern _Float64x __cbrtf64x (_Float64x __x) throw (); extern _Float64x ceilf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __ceilf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x fabsf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __fabsf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x floorf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __floorf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x fmodf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __fmodf64x (_Float64x __x, _Float64x __y) throw (); # 196 "/usr/include/bits/mathcalls.h" 3 4 extern _Float64x copysignf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __copysignf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x nanf64x (const char *__tagb) throw (); extern _Float64x __nanf64x (const char *__tagb) throw (); # 217 "/usr/include/bits/mathcalls.h" 3 4 extern _Float64x j0f64x (_Float64x) throw (); extern _Float64x __j0f64x (_Float64x) throw (); extern _Float64x j1f64x (_Float64x) throw (); extern _Float64x __j1f64x (_Float64x) throw (); extern _Float64x jnf64x (int, _Float64x) throw (); extern _Float64x __jnf64x (int, _Float64x) throw (); extern _Float64x y0f64x (_Float64x) throw (); extern _Float64x __y0f64x (_Float64x) throw (); extern _Float64x y1f64x (_Float64x) throw (); extern _Float64x __y1f64x (_Float64x) throw (); extern _Float64x ynf64x (int, _Float64x) throw (); extern _Float64x __ynf64x (int, _Float64x) throw (); extern _Float64x erff64x (_Float64x) throw (); extern _Float64x __erff64x (_Float64x) throw (); extern _Float64x erfcf64x (_Float64x) throw (); extern _Float64x __erfcf64x (_Float64x) throw (); extern _Float64x lgammaf64x (_Float64x) throw (); extern _Float64x __lgammaf64x (_Float64x) throw (); extern _Float64x tgammaf64x (_Float64x) throw (); extern _Float64x __tgammaf64x (_Float64x) throw (); # 249 "/usr/include/bits/mathcalls.h" 3 4 extern _Float64x lgammaf64x_r (_Float64x, int *__signgamp) throw (); extern _Float64x __lgammaf64x_r (_Float64x, int *__signgamp) throw (); extern _Float64x rintf64x (_Float64x __x) throw (); extern _Float64x __rintf64x (_Float64x __x) throw (); extern _Float64x nextafterf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __nextafterf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x nextdownf64x (_Float64x __x) throw (); extern _Float64x __nextdownf64x (_Float64x __x) throw (); extern _Float64x nextupf64x (_Float64x __x) throw (); extern _Float64x __nextupf64x (_Float64x __x) throw (); extern _Float64x remainderf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __remainderf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x scalbnf64x (_Float64x __x, int __n) throw (); extern _Float64x __scalbnf64x (_Float64x __x, int __n) throw (); extern int ilogbf64x (_Float64x __x) throw (); extern int __ilogbf64x (_Float64x __x) throw (); extern long int llogbf64x (_Float64x __x) throw (); extern long int __llogbf64x (_Float64x __x) throw (); extern _Float64x scalblnf64x (_Float64x __x, long int __n) throw (); extern _Float64x __scalblnf64x (_Float64x __x, long int __n) throw (); extern _Float64x nearbyintf64x (_Float64x __x) throw (); extern _Float64x __nearbyintf64x (_Float64x __x) throw (); extern _Float64x roundf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __roundf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x truncf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __truncf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x remquof64x (_Float64x __x, _Float64x __y, int *__quo) throw (); extern _Float64x __remquof64x (_Float64x __x, _Float64x __y, int *__quo) throw (); extern long int lrintf64x (_Float64x __x) throw (); extern long int __lrintf64x (_Float64x __x) throw (); __extension__ extern long long int llrintf64x (_Float64x __x) throw (); extern long long int __llrintf64x (_Float64x __x) throw (); extern long int lroundf64x (_Float64x __x) throw (); extern long int __lroundf64x (_Float64x __x) throw (); __extension__ extern long long int llroundf64x (_Float64x __x) throw (); extern long long int __llroundf64x (_Float64x __x) throw (); extern _Float64x fdimf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __fdimf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x fmaxf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fmaxf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x fminf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fminf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) throw (); extern _Float64x __fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) throw (); extern _Float64x roundevenf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __roundevenf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern __intmax_t fromfpf64x (_Float64x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf64x (_Float64x __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpf64x (_Float64x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf64x (_Float64x __x, int __round, unsigned int __width) throw () ; extern __intmax_t fromfpxf64x (_Float64x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf64x (_Float64x __x, int __round, unsigned int __width) throw () ; extern __uintmax_t ufromfpxf64x (_Float64x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf64x (_Float64x __x, int __round, unsigned int __width) throw () ; extern _Float64x fmaxmagf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fmaxmagf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x fminmagf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fminmagf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern int canonicalizef64x (_Float64x *__cx, const _Float64x *__x) throw (); extern int totalorderf64x (const _Float64x *__x, const _Float64x *__y) throw () __attribute__ ((__pure__)); extern int totalordermagf64x (const _Float64x *__x, const _Float64x *__y) throw () __attribute__ ((__pure__)); extern _Float64x getpayloadf64x (const _Float64x *__x) throw (); extern _Float64x __getpayloadf64x (const _Float64x *__x) throw (); extern int setpayloadf64x (_Float64x *__x, _Float64x __payload) throw (); extern int setpayloadsigf64x (_Float64x *__x, _Float64x __payload) throw (); # 458 "/usr/include/math.h" 2 3 4 # 503 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern float fadd (double __x, double __y) throw (); extern float fdiv (double __x, double __y) throw (); extern float fmul (double __x, double __y) throw (); extern float fsub (double __x, double __y) throw (); # 504 "/usr/include/math.h" 2 3 4 # 517 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern float faddl (long double __x, long double __y) throw (); extern float fdivl (long double __x, long double __y) throw (); extern float fmull (long double __x, long double __y) throw (); extern float fsubl (long double __x, long double __y) throw (); # 518 "/usr/include/math.h" 2 3 4 # 537 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern double daddl (long double __x, long double __y) throw (); extern double ddivl (long double __x, long double __y) throw (); extern double dmull (long double __x, long double __y) throw (); extern double dsubl (long double __x, long double __y) throw (); # 538 "/usr/include/math.h" 2 3 4 # 616 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32 f32addf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32 f32divf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) throw (); # 617 "/usr/include/math.h" 2 3 4 # 626 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32 f32addf64 (_Float64 __x, _Float64 __y) throw (); extern _Float32 f32divf64 (_Float64 __x, _Float64 __y) throw (); extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) throw (); extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) throw (); # 627 "/usr/include/math.h" 2 3 4 # 636 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32 f32addf64x (_Float64x __x, _Float64x __y) throw (); extern _Float32 f32divf64x (_Float64x __x, _Float64x __y) throw (); extern _Float32 f32mulf64x (_Float64x __x, _Float64x __y) throw (); extern _Float32 f32subf64x (_Float64x __x, _Float64x __y) throw (); # 637 "/usr/include/math.h" 2 3 4 # 646 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32 f32addf128 (_Float128 __x, _Float128 __y) throw (); extern _Float32 f32divf128 (_Float128 __x, _Float128 __y) throw (); extern _Float32 f32mulf128 (_Float128 __x, _Float128 __y) throw (); extern _Float32 f32subf128 (_Float128 __x, _Float128 __y) throw (); # 647 "/usr/include/math.h" 2 3 4 # 666 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32x f32xaddf64 (_Float64 __x, _Float64 __y) throw (); extern _Float32x f32xdivf64 (_Float64 __x, _Float64 __y) throw (); extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) throw (); extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) throw (); # 667 "/usr/include/math.h" 2 3 4 # 676 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32x f32xaddf64x (_Float64x __x, _Float64x __y) throw (); extern _Float32x f32xdivf64x (_Float64x __x, _Float64x __y) throw (); extern _Float32x f32xmulf64x (_Float64x __x, _Float64x __y) throw (); extern _Float32x f32xsubf64x (_Float64x __x, _Float64x __y) throw (); # 677 "/usr/include/math.h" 2 3 4 # 686 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float32x f32xaddf128 (_Float128 __x, _Float128 __y) throw (); extern _Float32x f32xdivf128 (_Float128 __x, _Float128 __y) throw (); extern _Float32x f32xmulf128 (_Float128 __x, _Float128 __y) throw (); extern _Float32x f32xsubf128 (_Float128 __x, _Float128 __y) throw (); # 687 "/usr/include/math.h" 2 3 4 # 706 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float64 f64addf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64 f64divf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64 f64mulf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64 f64subf64x (_Float64x __x, _Float64x __y) throw (); # 707 "/usr/include/math.h" 2 3 4 # 716 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float64 f64addf128 (_Float128 __x, _Float128 __y) throw (); extern _Float64 f64divf128 (_Float128 __x, _Float128 __y) throw (); extern _Float64 f64mulf128 (_Float128 __x, _Float128 __y) throw (); extern _Float64 f64subf128 (_Float128 __x, _Float128 __y) throw (); # 717 "/usr/include/math.h" 2 3 4 # 736 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathcalls-narrow.h" 1 3 4 # 24 "/usr/include/bits/mathcalls-narrow.h" 3 4 extern _Float64x f64xaddf128 (_Float128 __x, _Float128 __y) throw (); extern _Float64x f64xdivf128 (_Float128 __x, _Float128 __y) throw (); extern _Float64x f64xmulf128 (_Float128 __x, _Float128 __y) throw (); extern _Float64x f64xsubf128 (_Float128 __x, _Float128 __y) throw (); # 737 "/usr/include/math.h" 2 3 4 # 773 "/usr/include/math.h" 3 4 extern int signgam; # 853 "/usr/include/math.h" 3 4 enum { FP_NAN = 0, FP_INFINITE = 1, FP_ZERO = 2, FP_SUBNORMAL = 3, FP_NORMAL = 4 }; # 973 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/iscanonical.h" 1 3 4 # 23 "/usr/include/bits/iscanonical.h" 3 4 extern int __iscanonicall (long double __x) throw () __attribute__ ((__const__)); # 46 "/usr/include/bits/iscanonical.h" 3 4 extern "C++" { inline int iscanonical (float __val) { return ((void) (__typeof (__val)) (__val), 1); } inline int iscanonical (double __val) { return ((void) (__typeof (__val)) (__val), 1); } inline int iscanonical (long double __val) { return __iscanonicall (__val); } inline int iscanonical (_Float128 __val) { return ((void) (__typeof (__val)) (__val), 1); } } # 974 "/usr/include/math.h" 2 3 4 # 985 "/usr/include/math.h" 3 4 extern "C++" { inline int issignaling (float __val) { return __issignalingf (__val); } inline int issignaling (double __val) { return __issignaling (__val); } inline int issignaling (long double __val) { return __issignalingl (__val); } inline int issignaling (_Float128 __val) { return __issignalingf128 (__val); } } # 1016 "/usr/include/math.h" 3 4 extern "C++" { # 1047 "/usr/include/math.h" 3 4 template inline bool iszero (__T __val) { return __val == 0; } } # 1245 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/mathinline.h" 1 3 4 # 1246 "/usr/include/math.h" 2 3 4 # 1278 "/usr/include/math.h" 3 4 extern "C++" { template struct __iseqsig_type; template<> struct __iseqsig_type { static int __call (float __x, float __y) throw () { return __iseqsigf (__x, __y); } }; template<> struct __iseqsig_type { static int __call (double __x, double __y) throw () { return __iseqsig (__x, __y); } }; template<> struct __iseqsig_type { static int __call (long double __x, long double __y) throw () { return __iseqsigl (__x, __y); } }; template<> struct __iseqsig_type<_Float128> { static int __call (_Float128 __x, _Float128 __y) throw () { return __iseqsigf128 (__x, __y); } }; template inline int iseqsig (_T1 __x, _T2 __y) throw () { typedef decltype (((__x) + (__y) + 0.0f)) _T3; return __iseqsig_type<_T3>::__call (__x, __y); } } } # 46 "/usr/include/c++/10/cmath" 2 3 # 77 "/usr/include/c++/10/cmath" 3 extern "C++" { namespace std __attribute__ ((__visibility__ ("default"))) { 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); } # 412 "/usr/include/c++/10/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); } # 536 "/usr/include/c++/10/cmath" 3 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_signbit(__x); } constexpr bool signbit(double __x) { return __builtin_signbit(__x); } constexpr bool signbit(long double __x) { return __builtin_signbit(__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)); } # 1065 "/usr/include/c++/10/cmath" 3 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); } # 1923 "/usr/include/c++/10/cmath" 3 } } # 37 "/usr/include/c++/10/math.h" 2 3 using std::abs; using std::acos; using std::asin; using std::atan; using std::atan2; using std::cos; using std::sin; using std::tan; using std::cosh; using std::sinh; using std::tanh; using std::exp; using std::frexp; using std::ldexp; using std::log; using std::log10; using std::modf; using std::pow; using std::sqrt; using std::ceil; using std::fabs; using std::floor; using std::fmod; using std::fpclassify; using std::isfinite; using std::isinf; using std::isnan; using std::isnormal; using std::signbit; using std::isgreater; using std::isgreaterequal; using std::isless; using std::islessequal; using std::islessgreater; using std::isunordered; using std::acosh; using std::asinh; using std::atanh; using std::cbrt; using std::copysign; using std::erf; using std::erfc; using std::exp2; using std::expm1; using std::fdim; using std::fma; using std::fmax; using std::fmin; using std::hypot; using std::ilogb; using std::lgamma; using std::llrint; using std::llround; using std::log1p; using std::log2; using std::logb; using std::lrint; using std::lround; using std::nearbyint; using std::nextafter; using std::nexttoward; using std::remainder; using std::remquo; using std::rint; using std::round; using std::scalbln; using std::scalbn; using std::tgamma; using std::trunc; # 13 "../../third_party/angle/src/common/mathutil.h" 2 # 1 "/usr/include/c++/10/stdlib.h" 1 3 # 15 "../../third_party/angle/src/common/mathutil.h" 2 # 1 "/usr/include/string.h" 1 3 4 # 26 "/usr/include/string.h" 3 4 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 27 "/usr/include/string.h" 2 3 4 extern "C" { # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 34 "/usr/include/string.h" 2 3 4 # 43 "/usr/include/string.h" 3 4 extern void *memcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) 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); } } # 99 "/usr/include/string.h" 3 4 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))); # 122 "/usr/include/string.h" 3 4 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))); 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))); # 204 "/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); } } # 261 "/usr/include/string.h" 3 4 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))); # 273 "/usr/include/string.h" 3 4 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))); # 369 "/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 (); # 421 "/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 (); # 1 "/usr/include/strings.h" 1 3 4 # 23 "/usr/include/strings.h" 3 4 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 24 "/usr/include/strings.h" 2 3 4 extern "C" { extern int bcmp (const void *__s1, const void *__s2, size_t __n) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 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 "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); } } # 104 "/usr/include/strings.h" 3 4 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))); } # 1 "/usr/include/bits/strings_fortified.h" 1 3 4 # 22 "/usr/include/bits/strings_fortified.h" 3 4 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)); } # 145 "/usr/include/strings.h" 2 3 4 # 433 "/usr/include/string.h" 2 3 4 extern void explicit_bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))); 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))); # 495 "/usr/include/string.h" 3 4 # 1 "/usr/include/bits/string_fortified.h" 1 3 4 # 30 "/usr/include/bits/string_fortified.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)); } # 58 "/usr/include/bits/string_fortified.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 () { # 71 "/usr/include/bits/string_fortified.h" 3 4 return __builtin___memset_chk (__dest, __ch, __len, __builtin_object_size (__dest, 0)); } void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) throw () __attribute__ ((__nonnull__ (1))); extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) void __attribute__ ((__leaf__)) explicit_bzero (void *__dest, size_t __len) throw () { __explicit_bzero_chk (__dest, __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)); } # 496 "/usr/include/string.h" 2 3 4 } # 16 "../../third_party/angle/src/common/mathutil.h" 2 # 1 "/usr/include/c++/10/algorithm" 1 3 # 58 "/usr/include/c++/10/algorithm" 3 # 59 "/usr/include/c++/10/algorithm" 3 # 1 "/usr/include/c++/10/bits/stl_algo.h" 1 3 # 59 "/usr/include/c++/10/bits/stl_algo.h" 3 # 1 "/usr/include/c++/10/cstdlib" 1 3 # 39 "/usr/include/c++/10/cstdlib" 3 # 40 "/usr/include/c++/10/cstdlib" 3 # 60 "/usr/include/c++/10/bits/stl_algo.h" 2 3 # 1 "/usr/include/c++/10/bits/algorithmfwd.h" 1 3 # 33 "/usr/include/c++/10/bits/algorithmfwd.h" 3 # 34 "/usr/include/c++/10/bits/algorithmfwd.h" 3 # 42 "/usr/include/c++/10/bits/algorithmfwd.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 199 "/usr/include/c++/10/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); # 232 "/usr/include/c++/10/bits/algorithmfwd.h" 3 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 constexpr const _Tp& max(const _Tp&, const _Tp&); template constexpr const _Tp& max(const _Tp&, const _Tp&, _Compare); template constexpr const _Tp& min(const _Tp&, const _Tp&); template constexpr const _Tp& min(const _Tp&, const _Tp&, _Compare); template constexpr pair minmax(const _Tp&, const _Tp&); template constexpr pair minmax(const _Tp&, const _Tp&, _Compare); template constexpr pair<_FIter, _FIter> minmax_element(_FIter, _FIter); template constexpr pair<_FIter, _FIter> minmax_element(_FIter, _FIter, _Compare); template constexpr _Tp min(initializer_list<_Tp>); template constexpr _Tp min(initializer_list<_Tp>, _Compare); template constexpr _Tp max(initializer_list<_Tp>); template constexpr _Tp max(initializer_list<_Tp>, _Compare); template constexpr pair<_Tp, _Tp> minmax(initializer_list<_Tp>); template constexpr 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); inline namespace _V2 { template _FIter rotate(_FIter, _FIter, _FIter); } template _OIter rotate_copy(_FIter, _FIter, _FIter, _OIter); # 625 "/usr/include/c++/10/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); # 658 "/usr/include/c++/10/bits/algorithmfwd.h" 3 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 constexpr _FIter max_element(_FIter, _FIter); template constexpr _FIter max_element(_FIter, _FIter, _Compare); template _OIter merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter); template _OIter merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare); template constexpr _FIter min_element(_FIter, _FIter); template constexpr _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++/10/bits/stl_algo.h" 2 3 # 1 "/usr/include/c++/10/bits/stl_heap.h" 1 3 # 62 "/usr/include/c++/10/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) { __gnu_cxx::__ops::_Iter_less_iter __comp; return std::__is_heap_until(__first, __n, __comp) == __n; } template inline bool __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n) { typedef __decltype(__comp) _Cmp; __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); return std::__is_heap_until(__first, __n, __cmp) == __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, std::move(__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); } # 158 "/usr/include/c++/10/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; ; ; ; __gnu_cxx::__ops::_Iter_less_val __comp; _ValueType __value = std::move(*(__last - 1)); std::__push_heap(__first, _DistanceType((__last - __first) - 1), _DistanceType(0), std::move(__value), __comp); } # 194 "/usr/include/c++/10/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; ; ; ; __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp))) __cmp(std::move(__comp)); _ValueType __value = std::move(*(__last - 1)); std::__push_heap(__first, _DistanceType((__last - __first) - 1), _DistanceType(0), std::move(__value), __cmp); } 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; } __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp))) __cmp(std::move(__comp)); std::__push_heap(__first, __holeIndex, __topIndex, std::move(__value), __cmp); } 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); } # 279 "/usr/include/c++/10/bits/stl_heap.h" 3 template inline void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; ; ; ; if (__last - __first > 1) { --__last; __gnu_cxx::__ops::_Iter_less_iter __comp; std::__pop_heap(__first, __last, __last, __comp); } } # 313 "/usr/include/c++/10/bits/stl_heap.h" 3 template inline void pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; ; ; if (__last - __first > 1) { typedef __decltype(__comp) _Cmp; __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); --__last; std::__pop_heap(__first, __last, __last, __cmp); } } 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--; } } # 371 "/usr/include/c++/10/bits/stl_heap.h" 3 template inline void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; ; __gnu_cxx::__ops::_Iter_less_iter __comp; std::__make_heap(__first, __last, __comp); } # 398 "/usr/include/c++/10/bits/stl_heap.h" 3 template inline void make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; typedef __decltype(__comp) _Cmp; __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); std::__make_heap(__first, __last, __cmp); } template void __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare& __comp) { while (__last - __first > 1) { --__last; std::__pop_heap(__first, __last, __last, __comp); } } # 436 "/usr/include/c++/10/bits/stl_heap.h" 3 template inline void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; ; ; __gnu_cxx::__ops::_Iter_less_iter __comp; std::__sort_heap(__first, __last, __comp); } # 464 "/usr/include/c++/10/bits/stl_heap.h" 3 template inline void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; ; typedef __decltype(__comp) _Cmp; __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); std::__sort_heap(__first, __last, __cmp); } # 493 "/usr/include/c++/10/bits/stl_heap.h" 3 template inline _RandomAccessIterator is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; ; __gnu_cxx::__ops::_Iter_less_iter __comp; return __first + std::__is_heap_until(__first, std::distance(__first, __last), __comp); } # 522 "/usr/include/c++/10/bits/stl_heap.h" 3 template inline _RandomAccessIterator is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; typedef __decltype(__comp) _Cmp; __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); return __first + std::__is_heap_until(__first, std::distance(__first, __last), __cmp); } # 547 "/usr/include/c++/10/bits/stl_heap.h" 3 template inline bool is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) { return std::is_heap_until(__first, __last) == __last; } # 561 "/usr/include/c++/10/bits/stl_heap.h" 3 template inline bool is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { ; ; const auto __dist = std::distance(__first, __last); typedef __decltype(__comp) _Cmp; __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp)); return std::__is_heap_until(__first, __dist, __cmp) == __dist; } } # 62 "/usr/include/c++/10/bits/stl_algo.h" 2 3 # 1 "/usr/include/c++/10/bits/stl_tempbuf.h" 1 3 # 62 "/usr/include/c++/10/bits/stl_tempbuf.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace __detail { template inline void __return_temporary_buffer(_Tp* __p, size_t __len __attribute__((__unused__))) { ::operator delete(__p, __len * sizeof(_Tp)); } } # 98 "/usr/include/c++/10/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); } # 125 "/usr/include/c++/10/bits/stl_tempbuf.h" 3 template inline void return_temporary_buffer(_Tp* __p) { ::operator delete(__p); } 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 __seed, size_type __original_len); ~_Temporary_buffer() { std::_Destroy(_M_buffer, _M_buffer + _M_len); std::__detail::__return_temporary_buffer(_M_buffer, _M_len); } 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) { } }; # 243 "/usr/include/c++/10/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 __seed, size_type __original_len) : _M_original_len(__original_len), _M_len(0), _M_buffer(0) { std::pair __p( std::get_temporary_buffer(_M_original_len)); if (__p.first) { if (true) { std::__uninitialized_construct_buf(__p.first, __p.first + __p.second, __seed); _M_buffer = __p.first; _M_len = __p.second; } if (false) { std::__detail::__return_temporary_buffer(__p.first, __p.second); ; } } } } # 63 "/usr/include/c++/10/bits/stl_algo.h" 2 3 # 1 "/usr/include/c++/10/bits/uniform_int_dist.h" 1 3 # 35 "/usr/include/c++/10/bits/uniform_int_dist.h" 3 # 1 "/usr/include/c++/10/limits" 1 3 # 40 "/usr/include/c++/10/limits" 3 # 41 "/usr/include/c++/10/limits" 3 # 158 "/usr/include/c++/10/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++/10/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++/10/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; }; # 311 "/usr/include/c++/10/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> { }; # 383 "/usr/include/c++/10/limits" 3 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; }; # 796 "/usr/include/c++/10/limits" 3 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 -0x7fffffffffffffffL - 1; } static constexpr long max() noexcept { return 0x7fffffffffffffffL; } 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 0x7fffffffffffffffL * 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; }; # 1636 "/usr/include/c++/10/limits" 3 template<> struct numeric_limits<__int128> { static constexpr bool is_specialized = true; static constexpr __int128 min() noexcept { return (((__int128)(-1) < 0) ? -(((__int128)(-1) < 0) ? (((((__int128)1 << ((128 - ((__int128)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(__int128)0) - 1 : (__int128)0); } static constexpr __int128 max() noexcept { return (((__int128)(-1) < 0) ? (((((__int128)1 << ((128 - ((__int128)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(__int128)0); } static constexpr int digits = 128 - 1; static constexpr int digits10 = (128 - 1) * 643L / 2136; 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 __int128 epsilon() noexcept { return 0; } static constexpr __int128 round_error() noexcept { return 0; } static constexpr __int128 lowest() noexcept { return min(); } static constexpr int max_digits10 = 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 __int128 infinity() noexcept { return static_cast<__int128>(0); } static constexpr __int128 quiet_NaN() noexcept { return static_cast<__int128>(0); } static constexpr __int128 signaling_NaN() noexcept { return static_cast<__int128>(0); } static constexpr __int128 denorm_min() noexcept { return static_cast<__int128>(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 __int128 min() noexcept { return 0; } static constexpr unsigned __int128 max() noexcept { return (((unsigned __int128)(-1) < 0) ? (((((unsigned __int128)1 << ((128 - ((unsigned __int128)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(unsigned __int128)0); } static constexpr unsigned __int128 lowest() noexcept { return min(); } static constexpr int max_digits10 = 0; static constexpr int digits = 128; static constexpr int digits10 = 128 * 643L / 2136; 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 __int128 epsilon() noexcept { return 0; } static constexpr unsigned __int128 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 __int128 infinity() noexcept { return static_cast(0); } static constexpr unsigned __int128 quiet_NaN() noexcept { return static_cast(0); } static constexpr unsigned __int128 signaling_NaN() noexcept { return static_cast(0); } static constexpr unsigned __int128 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; }; # 1659 "/usr/include/c++/10/limits" 3 template<> struct numeric_limits { static constexpr bool is_specialized = true; static constexpr float min() noexcept { return 1.17549435082228750796873653722224568e-38F; } static constexpr float max() noexcept { return 3.40282346638528859811704183484516925e+38F; } static constexpr float lowest() noexcept { return -3.40282346638528859811704183484516925e+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.19209289550781250000000000000000000e-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.40129846432481707092372958328991613e-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.22507385850720138309023271733240406e-308L); } static constexpr double max() noexcept { return double(1.79769313486231570814527423731704357e+308L); } static constexpr double lowest() noexcept { return -double(1.79769313486231570814527423731704357e+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.22044604925031308084726333618164062e-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.94065645841246544176568792868221372e-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.36210314311209350626267781732175260e-4932L; } static constexpr long double max() noexcept { return 1.18973149535723176502126385303097021e+4932L; } static constexpr long double lowest() noexcept { return -1.18973149535723176502126385303097021e+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.08420217248550443400745280086994171e-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.64519953188247460252840593361941982e-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; }; } # 36 "/usr/include/c++/10/bits/uniform_int_dist.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace __detail { template inline bool _Power_of_2(_Tp __x) { return ((__x - 1) & __x) == 0; } } template class uniform_int_distribution { static_assert(std::is_integral<_IntType>::value, "template argument must be an integral type"); public: typedef _IntType result_type; struct param_type { typedef uniform_int_distribution<_IntType> distribution_type; param_type() : param_type(0) { } explicit param_type(_IntType __a, _IntType __b = 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; } friend bool operator!=(const param_type& __p1, const param_type& __p2) { return !(__p1 == __p2); } private: _IntType _M_a; _IntType _M_b; }; public: uniform_int_distribution() : uniform_int_distribution(0) { } explicit uniform_int_distribution(_IntType __a, _IntType __b = 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 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) { # 271 "/usr/include/c++/10/bits/uniform_int_dist.h" 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) { # 355 "/usr/include/c++/10/bits/uniform_int_dist.h" 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(); } } # 67 "/usr/include/c++/10/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, (void) ++__first) if (!__pred(__first)) break; return __first; } # 208 "/usr/include/c++/10/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)); _ForwardIterator1 __current = __first1; for (;;) { __first1 = std::__find_if(__first1, __last1, __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2)); if (__first1 == __last1) return __last1; _ForwardIterator2 __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; } } # 434 "/usr/include/c++/10/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()); } # 483 "/usr/include/c++/10/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)); } # 519 "/usr/include/c++/10/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); } # 537 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline bool none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) { return __last == std::find_if(__first, __last, __pred); } # 556 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline bool any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) { return !std::none_of(__first, __last, __pred); } # 572 "/usr/include/c++/10/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)); } # 597 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline bool is_partitioned(_InputIterator __first, _InputIterator __last, _Predicate __pred) { __first = std::find_if_not(__first, __last, __pred); if (__first == __last) return true; ++__first; return std::none_of(__first, __last, __pred); } # 619 "/usr/include/c++/10/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); while (__len > 0) { _DistanceType __half = __len >> 1; _ForwardIterator __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; } # 686 "/usr/include/c++/10/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)); } # 719 "/usr/include/c++/10/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)); } # 754 "/usr/include/c++/10/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_a(_InputIterator __first, _Size __n, _OutputIterator __result) { if (__n > 0) { while (true) { *__result = *__first; ++__result; if (--__n > 0) ++__first; else break; } } return __result; } template __enable_if_t<__is_char<_CharT>::__value, _CharT*> __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT>>, _Size, _CharT*); template _OutputIterator __copy_n(_InputIterator __first, _Size __n, _OutputIterator __result, input_iterator_tag) { return std::__niter_wrap(__result, __copy_n_a(__first, __n, std::__niter_base(__result))); } template inline _OutputIterator __copy_n(_RandomAccessIterator __first, _Size __n, _OutputIterator __result, random_access_iterator_tag) { return std::copy(__first, __first + __n, __result); } # 835 "/usr/include/c++/10/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)); } # 866 "/usr/include/c++/10/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; } # 937 "/usr/include/c++/10/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)); } # 971 "/usr/include/c++/10/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; } # 1040 "/usr/include/c++/10/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()); } # 1071 "/usr/include/c++/10/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; } } # 1232 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline void reverse(_BidirectionalIterator __first, _BidirectionalIterator __last) { ; std::__reverse(__first, __last, std::__iterator_category(__first)); } # 1260 "/usr/include/c++/10/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; } inline namespace _V2 { 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); } } } # 1492 "/usr/include/c++/10/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)); } } # 1530 "/usr/include/c++/10/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; } } # 1610 "/usr/include/c++/10/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); return std::rotate(__left_split, __middle, __right_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, std::distance(__first, __last)); return std::__stable_partition_adaptive(__first, __last, __pred, _DistanceType(__buf.requested_size()), __buf.begin(), _DistanceType(__buf.size())); } # 1712 "/usr/include/c++/10/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; } # 1800 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline _RandomAccessIterator partial_sort_copy(_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last) { # 1815 "/usr/include/c++/10/bits/stl_algo.h" 3 ; ; ; return std::__partial_sort_copy(__first, __last, __result_first, __result_last, __gnu_cxx::__ops::__iter_less_iter()); } # 1850 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline _RandomAccessIterator partial_sort_copy(_InputIterator __first, _InputIterator __last, _RandomAccessIterator __result_first, _RandomAccessIterator __result_last, _Compare __comp) { # 1867 "/usr/include/c++/10/bits/stl_algo.h" 3 ; ; ; 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); } # 2098 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline _ForwardIterator lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { ; 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; } # 2154 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline _ForwardIterator upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { ; return std::__upper_bound(__first, __last, __val, __gnu_cxx::__ops::__val_less_iter()); } # 2185 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline _ForwardIterator upper_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { ; 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); } # 2258 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline pair<_ForwardIterator, _ForwardIterator> equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { ; ; return std::__equal_range(__first, __last, __val, __gnu_cxx::__ops::__iter_less_val(), __gnu_cxx::__ops::__val_less_iter()); } # 2295 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline pair<_ForwardIterator, _ForwardIterator> equal_range(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { ; ; return std::__equal_range(__first, __last, __val, __gnu_cxx::__ops::__iter_comp_val(__comp), __gnu_cxx::__ops::__val_comp_iter(__comp)); } # 2329 "/usr/include/c++/10/bits/stl_algo.h" 3 template bool binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { ; ; _ForwardIterator __i = std::__lower_bound(__first, __last, __val, __gnu_cxx::__ops::__iter_less_val()); return __i != __last && !(__val < *__i); } # 2363 "/usr/include/c++/10/bits/stl_algo.h" 3 template bool binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val, _Compare __comp) { ; ; _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 return std::rotate(__first, __middle, __last); } 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); } _BidirectionalIterator __new_middle = std::rotate(__first_cut, __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, __len1 + __len2); 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); } # 2653 "/usr/include/c++/10/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()); } # 2694 "/usr/include/c++/10/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); } # 2867 "/usr/include/c++/10/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; } # 2907 "/usr/include/c++/10/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()); } # 2952 "/usr/include/c++/10/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)); } # 2988 "/usr/include/c++/10/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; } } } # 3038 "/usr/include/c++/10/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()); } # 3071 "/usr/include/c++/10/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; } } } # 3141 "/usr/include/c++/10/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()); } # 3174 "/usr/include/c++/10/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, (void)++__result) if (__pred(__first)) *__result = __new_value; else *__result = *__first; return __result; } # 3226 "/usr/include/c++/10/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); } # 3261 "/usr/include/c++/10/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; } # 3302 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline bool is_sorted(_ForwardIterator __first, _ForwardIterator __last) { return std::is_sorted_until(__first, __last) == __last; } # 3317 "/usr/include/c++/10/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, (void)++__next) if (__comp(__next, __first)) return __next; return __next; } # 3348 "/usr/include/c++/10/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()); } # 3373 "/usr/include/c++/10/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)); } # 3399 "/usr/include/c++/10/bits/stl_algo.h" 3 template constexpr inline pair minmax(const _Tp& __a, const _Tp& __b) { return __b < __a ? pair(__b, __a) : pair(__a, __b); } # 3420 "/usr/include/c++/10/bits/stl_algo.h" 3 template constexpr inline pair minmax(const _Tp& __a, const _Tp& __b, _Compare __comp) { return __comp(__b, __a) ? pair(__b, __a) : pair(__a, __b); } template constexpr 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); } # 3500 "/usr/include/c++/10/bits/stl_algo.h" 3 template constexpr inline pair<_ForwardIterator, _ForwardIterator> minmax_element(_ForwardIterator __first, _ForwardIterator __last) { ; ; return std::__minmax_element(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 3528 "/usr/include/c++/10/bits/stl_algo.h" 3 template constexpr 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 constexpr inline _Tp min(initializer_list<_Tp> __l) { return *std::min_element(__l.begin(), __l.end()); } template constexpr inline _Tp min(initializer_list<_Tp> __l, _Compare __comp) { return *std::min_element(__l.begin(), __l.end(), __comp); } template constexpr inline _Tp max(initializer_list<_Tp> __l) { return *std::max_element(__l.begin(), __l.end()); } template constexpr inline _Tp max(initializer_list<_Tp> __l, _Compare __comp) { return *std::max_element(__l.begin(), __l.end(), __comp); } template constexpr 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 constexpr 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, (void)++__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; } # 3641 "/usr/include/c++/10/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()); } # 3673 "/usr/include/c++/10/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)); } template bool __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred) { using _Cat1 = typename iterator_traits<_ForwardIterator1>::iterator_category; using _Cat2 = typename iterator_traits<_ForwardIterator2>::iterator_category; using _It1_is_RA = is_same<_Cat1, random_access_iterator_tag>; using _It2_is_RA = is_same<_Cat2, random_access_iterator_tag>; constexpr bool __ra_iters = _It1_is_RA() && _It2_is_RA(); if (__ra_iters) { auto __d1 = std::distance(__first1, __last1); auto __d2 = std::distance(__first2, __last2); if (__d1 != __d2) return false; } for (; __first1 != __last1 && __first2 != __last2; ++__first1, (void)++__first2) if (!__pred(__first1, __first2)) break; if (__ra_iters) { if (__first1 == __last1) return true; } else { auto __d1 = std::distance(__first1, __last1); auto __d2 = std::distance(__first2, __last2); if (__d1 == 0 && __d2 == 0) return true; if (__d1 != __d2) return false; } 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; } # 3768 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline bool is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2) { ; ; return std::__is_permutation(__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_equal_to_iter()); } # 3796 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline bool is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2, _ForwardIterator2 __last2, _BinaryPredicate __pred) { ; ; return std::__is_permutation(__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_comp_iter(__pred)); } # 3873 "/usr/include/c++/10/bits/stl_algo.h" 3 template pair<_IntType, _IntType> __gen_two_uniform_ints(_IntType __b0, _IntType __b1, _UniformRandomBitGenerator&& __g) { _IntType __x = uniform_int_distribution<_IntType>{0, (__b0 * __b1) - 1}(__g); return std::make_pair(__x / __b1, __x % __b1); } # 3895 "/usr/include/c++/10/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; typedef typename remove_reference<_UniformRandomNumberGenerator>::type _Gen; typedef typename common_type::type __uc_type; const __uc_type __urngrange = __g.max() - __g.min(); const __uc_type __urange = __uc_type(__last - __first); if (__urngrange / __urange >= __urange) { _RandomAccessIterator __i = __first + 1; if ((__urange % 2) == 0) { __distr_type __d{0, 1}; std::iter_swap(__i++, __first + __d(__g)); } while (__i != __last) { const __uc_type __swap_range = __uc_type(__i - __first) + 1; const pair<__uc_type, __uc_type> __pospos = __gen_two_uniform_ints(__swap_range, __swap_range + 1, __g); std::iter_swap(__i++, __first + __pospos.first); std::iter_swap(__i++, __first + __pospos.second); } return; } __distr_type __d; for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first))); } # 3980 "/usr/include/c++/10/bits/stl_algo.h" 3 template _Function for_each(_InputIterator __first, _InputIterator __last, _Function __f) { ; for (; __first != __last; ++__first) __f(*__first); return __f; } # 4041 "/usr/include/c++/10/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)); } # 4066 "/usr/include/c++/10/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)); } # 4098 "/usr/include/c++/10/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; } # 4139 "/usr/include/c++/10/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; } # 4172 "/usr/include/c++/10/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()); } # 4198 "/usr/include/c++/10/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)); } # 4224 "/usr/include/c++/10/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)); } # 4248 "/usr/include/c++/10/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)); } # 4289 "/usr/include/c++/10/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()); } # 4329 "/usr/include/c++/10/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)); } # 4365 "/usr/include/c++/10/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)); } # 4399 "/usr/include/c++/10/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)); } # 4448 "/usr/include/c++/10/bits/stl_algo.h" 3 template _OutputIterator transform(_InputIterator __first, _InputIterator __last, _OutputIterator __result, _UnaryOperation __unary_op) { ; for (; __first != __last; ++__first, (void)++__result) *__result = __unary_op(*__first); return __result; } # 4486 "/usr/include/c++/10/bits/stl_algo.h" 3 template _OutputIterator transform(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _OutputIterator __result, _BinaryOperation __binary_op) { ; for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result) *__result = __binary_op(*__first1, *__first2); return __result; } # 4520 "/usr/include/c++/10/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; } # 4553 "/usr/include/c++/10/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; } # 4586 "/usr/include/c++/10/bits/stl_algo.h" 3 template void generate(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) { ; for (; __first != __last; ++__first) *__first = __gen(); } # 4620 "/usr/include/c++/10/bits/stl_algo.h" 3 template _OutputIterator generate_n(_OutputIterator __first, _Size __n, _Generator __gen) { typedef __decltype(std::__size_to_integer(__n)) _IntSize; for (_IntSize __niter = std::__size_to_integer(__n); __niter > 0; --__niter, (void) ++__first) *__first = __gen(); return __first; } # 4658 "/usr/include/c++/10/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)); } # 4699 "/usr/include/c++/10/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)); } # 4733 "/usr/include/c++/10/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); } } # 4768 "/usr/include/c++/10/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); } } # 4808 "/usr/include/c++/10/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)); } # 4842 "/usr/include/c++/10/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()); } # 4881 "/usr/include/c++/10/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)); } # 4918 "/usr/include/c++/10/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()); } # 4958 "/usr/include/c++/10/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)); } # 4996 "/usr/include/c++/10/bits/stl_algo.h" 3 template inline void sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { ; ; std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 5027 "/usr/include/c++/10/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)); } # 5090 "/usr/include/c++/10/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()); } # 5141 "/usr/include/c++/10/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, std::distance(__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); } # 5206 "/usr/include/c++/10/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()); } # 5240 "/usr/include/c++/10/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)); } # 5310 "/usr/include/c++/10/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()); } # 5361 "/usr/include/c++/10/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; } # 5434 "/usr/include/c++/10/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()); } # 5484 "/usr/include/c++/10/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); } # 5559 "/usr/include/c++/10/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()); } # 5611 "/usr/include/c++/10/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)); } # 5692 "/usr/include/c++/10/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()); } # 5744 "/usr/include/c++/10/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 constexpr _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; } # 5798 "/usr/include/c++/10/bits/stl_algo.h" 3 template constexpr _ForwardIterator inline min_element(_ForwardIterator __first, _ForwardIterator __last) { ; ; return std::__min_element(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 5823 "/usr/include/c++/10/bits/stl_algo.h" 3 template constexpr inline _ForwardIterator min_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { ; ; return std::__min_element(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template constexpr _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; } # 5862 "/usr/include/c++/10/bits/stl_algo.h" 3 template constexpr inline _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last) { ; ; return std::__max_element(__first, __last, __gnu_cxx::__ops::__iter_less_iter()); } # 5887 "/usr/include/c++/10/bits/stl_algo.h" 3 template constexpr inline _ForwardIterator max_element(_ForwardIterator __first, _ForwardIterator __last, _Compare __comp) { ; ; return std::__max_element(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } template _RandomAccessIterator __sample(_InputIterator __first, _InputIterator __last, input_iterator_tag, _RandomAccessIterator __out, random_access_iterator_tag, _Size __n, _UniformRandomBitGenerator&& __g) { using __distrib_type = uniform_int_distribution<_Size>; using __param_type = typename __distrib_type::param_type; __distrib_type __d{}; _Size __sample_sz = 0; while (__first != __last && __sample_sz != __n) { __out[__sample_sz++] = *__first; ++__first; } for (auto __pop_sz = __sample_sz; __first != __last; ++__first, (void) ++__pop_sz) { const auto __k = __d(__g, __param_type{0, __pop_sz}); if (__k < __n) __out[__k] = *__first; } return __out + __sample_sz; } template _OutputIterator __sample(_ForwardIterator __first, _ForwardIterator __last, forward_iterator_tag, _OutputIterator __out, _Cat, _Size __n, _UniformRandomBitGenerator&& __g) { using __distrib_type = uniform_int_distribution<_Size>; using __param_type = typename __distrib_type::param_type; using _USize = make_unsigned_t<_Size>; using _Gen = remove_reference_t<_UniformRandomBitGenerator>; using __uc_type = common_type_t; __distrib_type __d{}; _Size __unsampled_sz = std::distance(__first, __last); __n = std::min(__n, __unsampled_sz); const __uc_type __urngrange = __g.max() - __g.min(); if (__urngrange / __uc_type(__unsampled_sz) >= __uc_type(__unsampled_sz)) { while (__n != 0 && __unsampled_sz >= 2) { const pair<_Size, _Size> __p = __gen_two_uniform_ints(__unsampled_sz, __unsampled_sz - 1, __g); --__unsampled_sz; if (__p.first < __n) { *__out++ = *__first; --__n; } ++__first; if (__n == 0) break; --__unsampled_sz; if (__p.second < __n) { *__out++ = *__first; --__n; } ++__first; } } for (; __n != 0; ++__first) if (__d(__g, __param_type{0, --__unsampled_sz}) < __n) { *__out++ = *__first; --__n; } return __out; } # 6030 "/usr/include/c++/10/bits/stl_algo.h" 3 } # 63 "/usr/include/c++/10/algorithm" 2 3 # 17 "../../third_party/angle/src/common/mathutil.h" 2 # 1 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math.h" 1 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 9 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math.h" 2 # 1 "../../third_party/angle/src/common/third_party/base/anglebase/logging.h" 1 # 14 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math.h" 2 # 1 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math_impl.h" 1 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 9 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math_impl.h" 2 # 1 "/usr/include/c++/10/climits" 1 3 # 39 "/usr/include/c++/10/climits" 3 # 40 "/usr/include/c++/10/climits" 3 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/limits.h" 1 3 4 # 43 "/usr/include/c++/10/climits" 2 3 # 12 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math_impl.h" 2 # 1 "/usr/include/c++/10/cmath" 1 3 # 39 "/usr/include/c++/10/cmath" 3 # 40 "/usr/include/c++/10/cmath" 3 # 13 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math_impl.h" 2 # 1 "/usr/include/c++/10/cstdlib" 1 3 # 39 "/usr/include/c++/10/cstdlib" 3 # 40 "/usr/include/c++/10/cstdlib" 3 # 14 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math_impl.h" 2 # 1 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_conversions.h" 1 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 9 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_conversions.h" 2 # 1 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_conversions_impl.h" 1 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/limits.h" 1 3 4 # 9 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_conversions_impl.h" 2 # 1 "/usr/include/c++/10/climits" 1 3 # 39 "/usr/include/c++/10/climits" 3 # 40 "/usr/include/c++/10/climits" 3 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/limits.h" 1 3 4 # 43 "/usr/include/c++/10/climits" 2 3 # 12 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_conversions_impl.h" 2 # 14 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_conversions_impl.h" namespace angle { namespace base { namespace internal { template struct MaxExponent { static_assert(std::is_arithmetic::value, "Argument must be numeric."); static const int value = std::numeric_limits::is_iec559 ? std::numeric_limits::max_exponent : (sizeof(NumericType) * 8 + 1 - std::numeric_limits::is_signed); }; enum IntegerRepresentation { INTEGER_REPRESENTATION_UNSIGNED, INTEGER_REPRESENTATION_SIGNED }; enum NumericRangeRepresentation { NUMERIC_RANGE_NOT_CONTAINED, NUMERIC_RANGE_CONTAINED }; template ::is_signed ? INTEGER_REPRESENTATION_SIGNED : INTEGER_REPRESENTATION_UNSIGNED, IntegerRepresentation SrcSign = std::numeric_limits::is_signed ? INTEGER_REPRESENTATION_SIGNED : INTEGER_REPRESENTATION_UNSIGNED> struct StaticDstRangeRelationToSrcRange; template struct StaticDstRangeRelationToSrcRange { static const NumericRangeRepresentation value = MaxExponent::value >= MaxExponent::value ? NUMERIC_RANGE_CONTAINED : NUMERIC_RANGE_NOT_CONTAINED; }; template struct StaticDstRangeRelationToSrcRange { static const NumericRangeRepresentation value = MaxExponent::value > MaxExponent::value ? NUMERIC_RANGE_CONTAINED : NUMERIC_RANGE_NOT_CONTAINED; }; template struct StaticDstRangeRelationToSrcRange { static const NumericRangeRepresentation value = NUMERIC_RANGE_NOT_CONTAINED; }; enum RangeConstraint : unsigned char { RANGE_VALID = 0x0, RANGE_UNDERFLOW = 0x1, RANGE_OVERFLOW = 0x2, RANGE_INVALID = RANGE_UNDERFLOW | RANGE_OVERFLOW }; constexpr RangeConstraint GetRangeConstraint(int integer_range_constraint) { return static_cast(integer_range_constraint); } constexpr inline RangeConstraint GetRangeConstraint(bool is_in_upper_bound, bool is_in_lower_bound) { return GetRangeConstraint((is_in_upper_bound ? 0 : RANGE_OVERFLOW) | (is_in_lower_bound ? 0 : RANGE_UNDERFLOW)); } # 145 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_conversions_impl.h" template struct NarrowingRange { typedef typename std::numeric_limits SrcLimits; typedef typename std::numeric_limits DstLimits; static const int shift = (MaxExponent::value > MaxExponent::value && SrcLimits::digits < DstLimits::digits && SrcLimits::is_iec559 && DstLimits::is_integer) ? (DstLimits::digits - SrcLimits::digits) : 0; static constexpr Dst max() { return DstLimits::max() - static_cast((1UL << shift) - 1); } static constexpr Dst min() { return std::numeric_limits::is_iec559 ? -DstLimits::max() : DstLimits::min(); } }; template ::is_signed ? INTEGER_REPRESENTATION_SIGNED : INTEGER_REPRESENTATION_UNSIGNED, IntegerRepresentation SrcSign = std::numeric_limits::is_signed ? INTEGER_REPRESENTATION_SIGNED : INTEGER_REPRESENTATION_UNSIGNED, NumericRangeRepresentation DstRange = StaticDstRangeRelationToSrcRange::value> struct DstRangeRelationToSrcRangeImpl; template struct DstRangeRelationToSrcRangeImpl { static constexpr RangeConstraint Check(Src value) { return RANGE_VALID; } }; template struct DstRangeRelationToSrcRangeImpl { static constexpr RangeConstraint Check(Src value) { return GetRangeConstraint((value <= NarrowingRange::max()), (value >= NarrowingRange::min())); } }; template struct DstRangeRelationToSrcRangeImpl { static constexpr RangeConstraint Check(Src value) { return GetRangeConstraint(value <= NarrowingRange::max(), true); } }; template struct DstRangeRelationToSrcRangeImpl { static constexpr RangeConstraint Check(Src value) { return sizeof(Dst) > sizeof(Src) ? RANGE_VALID : GetRangeConstraint(value <= static_cast(NarrowingRange::max()), true); } }; template struct DstRangeRelationToSrcRangeImpl { static constexpr RangeConstraint Check(Src value) { return (MaxExponent::value >= MaxExponent::value) ? GetRangeConstraint(true, value >= static_cast(0)) : GetRangeConstraint(value <= static_cast(NarrowingRange::max()), value >= static_cast(0)); } }; template constexpr RangeConstraint DstRangeRelationToSrcRange(Src value) { static_assert(std::numeric_limits::is_specialized, "Argument must be numeric."); static_assert(std::numeric_limits::is_specialized, "Result must be numeric."); return DstRangeRelationToSrcRangeImpl::Check(value); } } } } # 15 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_conversions.h" 2 namespace angle { namespace base { template constexpr bool IsValueInRangeForNumericType(Src value) { return internal::DstRangeRelationToSrcRange(value) == internal::RANGE_VALID; } template constexpr typename std::enable_if::is_signed, bool>::type IsValueNegative( T value) { static_assert(std::numeric_limits::is_specialized, "Argument must be numeric."); return value < 0; } template constexpr typename std::enable_if::is_signed, bool>::type IsValueNegative(T) { static_assert(std::numeric_limits::is_specialized, "Argument must be numeric."); return false; } template inline Dst checked_cast(Src value) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(IsValueInRangeForNumericType(value)); return static_cast(value); } struct SaturatedCastNaNBehaviorCheck { template static T HandleNaN() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); return T(); } }; struct SaturatedCastNaNBehaviorReturnZero { template static constexpr T HandleNaN() { return T(); } }; namespace internal { template constexpr Dst saturated_cast_impl(const Src value, const RangeConstraint constraint) { return constraint == RANGE_VALID ? static_cast(value) : (constraint == RANGE_UNDERFLOW ? std::numeric_limits::min() : (constraint == RANGE_OVERFLOW ? std::numeric_limits::max() : (constraint == RANGE_INVALID ? NaNHandler::template HandleNaN() : (({ do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); }), static_cast(value))))); } } template constexpr Dst saturated_cast(Src value) { return std::numeric_limits::is_iec559 ? static_cast(value) : internal::saturated_cast_impl( value, internal::DstRangeRelationToSrcRange(value)); } template constexpr Dst strict_cast(Src value) { static_assert(std::numeric_limits::is_specialized, "Argument must be numeric."); static_assert(std::numeric_limits::is_specialized, "Result must be numeric."); static_assert((internal::StaticDstRangeRelationToSrcRange::value == internal::NUMERIC_RANGE_CONTAINED), "The numeric conversion is out of range for this type. You " "should probably use one of the following conversion " "mechanisms on the value you want to pass:\n" "- base::checked_cast\n" "- base::saturated_cast\n" "- base::CheckedNumeric"); return static_cast(value); } # 140 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_conversions.h" template class StrictNumeric { public: typedef T type; constexpr StrictNumeric() : value_(0) {} template constexpr StrictNumeric(const StrictNumeric &rhs) : value_(strict_cast(rhs.value_)) {} template constexpr StrictNumeric(Src value) : value_(strict_cast(value)) {} template constexpr operator Dst() const { return strict_cast(value_); } private: const T value_; }; typedef StrictNumeric SizeT; } } # 18 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math_impl.h" 2 namespace angle { namespace base { namespace internal { template struct IntegerForSizeAndSign; template <> struct IntegerForSizeAndSign<1, true> { typedef int8_t type; }; template <> struct IntegerForSizeAndSign<1, false> { typedef uint8_t type; }; template <> struct IntegerForSizeAndSign<2, true> { typedef int16_t type; }; template <> struct IntegerForSizeAndSign<2, false> { typedef uint16_t type; }; template <> struct IntegerForSizeAndSign<4, true> { typedef int32_t type; }; template <> struct IntegerForSizeAndSign<4, false> { typedef uint32_t type; }; template <> struct IntegerForSizeAndSign<8, true> { typedef int64_t type; }; template <> struct IntegerForSizeAndSign<8, false> { typedef uint64_t type; }; template struct UnsignedIntegerForSize { typedef typename std::enable_if::is_integer, typename IntegerForSizeAndSign::type>::type type; }; template struct SignedIntegerForSize { typedef typename std::enable_if::is_integer, typename IntegerForSizeAndSign::type>::type type; }; template struct TwiceWiderInteger { typedef typename std::enable_if< std::numeric_limits::is_integer, typename IntegerForSizeAndSign::is_signed>::type>::type type; }; template struct PositionOfSignBit { static const typename std::enable_if::is_integer, size_t>::type value = 8 * sizeof(Integer) - 1; }; template ::is_integer, bool IsFloat = std::numeric_limits::is_iec559> struct UnsignedOrFloatForSize; template struct UnsignedOrFloatForSize { typedef typename UnsignedIntegerForSize::type type; }; template struct UnsignedOrFloatForSize { typedef Numeric type; }; template constexpr bool HasSignBit(T x) { return !!(static_cast::type>(x) >> PositionOfSignBit::value); } template constexpr T BinaryComplement(T x) { return static_cast(~x); } template typename std::enable_if::is_integer, T>::type CheckedAdd(T x, T y, RangeConstraint *validity) { typedef typename UnsignedIntegerForSize::type UnsignedDst; UnsignedDst ux = static_cast(x); UnsignedDst uy = static_cast(y); UnsignedDst uresult = static_cast(ux + uy); if (std::numeric_limits::is_signed) { if (HasSignBit(BinaryComplement(static_cast((uresult ^ ux) & (uresult ^ uy))))) { *validity = RANGE_VALID; } else { *validity = HasSignBit(uresult) ? RANGE_OVERFLOW : RANGE_UNDERFLOW; } } else { *validity = BinaryComplement(x) >= y ? RANGE_VALID : RANGE_OVERFLOW; } return static_cast(uresult); } template typename std::enable_if::is_integer, T>::type CheckedSub(T x, T y, RangeConstraint *validity) { typedef typename UnsignedIntegerForSize::type UnsignedDst; UnsignedDst ux = static_cast(x); UnsignedDst uy = static_cast(y); UnsignedDst uresult = static_cast(ux - uy); if (std::numeric_limits::is_signed) { if (HasSignBit(BinaryComplement(static_cast((uresult ^ ux) & (ux ^ uy))))) { *validity = RANGE_VALID; } else { *validity = HasSignBit(uresult) ? RANGE_OVERFLOW : RANGE_UNDERFLOW; } } else { *validity = x >= y ? RANGE_VALID : RANGE_UNDERFLOW; } return static_cast(uresult); } template typename std::enable_if::is_integer && sizeof(T) * 2 <= sizeof(uintmax_t), T>::type CheckedMul(T x, T y, RangeConstraint *validity) { typedef typename TwiceWiderInteger::type IntermediateType; IntermediateType tmp = static_cast(x) * static_cast(y); *validity = DstRangeRelationToSrcRange(tmp); return static_cast(tmp); } template typename std::enable_if::is_integer && std::numeric_limits::is_signed && (sizeof(T) * 2 > sizeof(uintmax_t)), T>::type CheckedMul(T x, T y, RangeConstraint *validity) { if (!x || !y) { *validity = RANGE_VALID; return static_cast(0); } else if (x > 0) { if (y > 0) *validity = x <= std::numeric_limits::max() / y ? RANGE_VALID : RANGE_OVERFLOW; else *validity = y >= std::numeric_limits::min() / x ? RANGE_VALID : RANGE_UNDERFLOW; } else { if (y > 0) *validity = x >= std::numeric_limits::min() / y ? RANGE_VALID : RANGE_UNDERFLOW; else *validity = y >= std::numeric_limits::max() / x ? RANGE_VALID : RANGE_OVERFLOW; } return static_cast(x * y); } template typename std::enable_if::is_integer && !std::numeric_limits::is_signed && (sizeof(T) * 2 > sizeof(uintmax_t)), T>::type CheckedMul(T x, T y, RangeConstraint *validity) { *validity = (y == 0 || x <= std::numeric_limits::max() / y) ? RANGE_VALID : RANGE_OVERFLOW; return static_cast(x * y); } template T CheckedDiv(T x, T y, RangeConstraint *validity, typename std::enable_if::is_integer, int>::type = 0) { if (std::numeric_limits::is_signed && x == std::numeric_limits::min() && y == static_cast(-1)) { *validity = RANGE_OVERFLOW; return std::numeric_limits::min(); } *validity = RANGE_VALID; return static_cast(x / y); } template typename std::enable_if::is_integer && std::numeric_limits::is_signed, T>::type CheckedMod(T x, T y, RangeConstraint *validity) { *validity = y > 0 ? RANGE_VALID : RANGE_INVALID; return static_cast(x % y); } template typename std::enable_if::is_integer && !std::numeric_limits::is_signed, T>::type CheckedMod(T x, T y, RangeConstraint *validity) { *validity = RANGE_VALID; return static_cast(x % y); } template typename std::enable_if::is_integer && std::numeric_limits::is_signed, T>::type CheckedNeg(T value, RangeConstraint *validity) { *validity = value != std::numeric_limits::min() ? RANGE_VALID : RANGE_OVERFLOW; return static_cast(-value); } template typename std::enable_if::is_integer && !std::numeric_limits::is_signed, T>::type CheckedNeg(T value, RangeConstraint *validity) { *validity = value ? RANGE_UNDERFLOW : RANGE_VALID; return static_cast(-static_cast::type>(value)); } template typename std::enable_if::is_integer && std::numeric_limits::is_signed, T>::type CheckedAbs(T value, RangeConstraint *validity) { *validity = value != std::numeric_limits::min() ? RANGE_VALID : RANGE_OVERFLOW; return static_cast(std::abs(value)); } template typename std::enable_if::is_integer && !std::numeric_limits::is_signed, T>::type CheckedAbs(T value, RangeConstraint *validity) { *validity = RANGE_VALID; return value; } template typename std::enable_if::is_integer && std::numeric_limits::is_signed, typename UnsignedIntegerForSize::type>::type CheckedUnsignedAbs(T value) { typedef typename UnsignedIntegerForSize::type UnsignedT; return value == std::numeric_limits::min() ? static_cast(std::numeric_limits::max()) + 1 : static_cast(std::abs(value)); } template typename std::enable_if::is_integer && !std::numeric_limits::is_signed, T>::type CheckedUnsignedAbs(T value) { return static_cast(value); } # 376 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math_impl.h" template typename std::enable_if::is_iec559, T>::type CheckedAdd( T, T, RangeConstraint *) { ({ do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); }); return static_cast(0); } template typename std::enable_if::is_iec559, T>::type CheckedSub( T, T, RangeConstraint *) { ({ do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); }); return static_cast(0); } template typename std::enable_if::is_iec559, T>::type CheckedMul( T, T, RangeConstraint *) { ({ do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); }); return static_cast(0); } template typename std::enable_if::is_iec559, T>::type CheckedDiv( T, T, RangeConstraint *) { ({ do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); }); return static_cast(0); } template typename std::enable_if::is_iec559, T>::type CheckedMod( T, T, RangeConstraint *) { ({ do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); }); return static_cast(0); } template typename std::enable_if::is_iec559, T>::type CheckedNeg(T value, RangeConstraint *) { return static_cast(-value); } template typename std::enable_if::is_iec559, T>::type CheckedAbs(T value, RangeConstraint *) { return static_cast(std::abs(value)); } enum NumericRepresentation { NUMERIC_INTEGER, NUMERIC_FLOATING, NUMERIC_UNKNOWN }; template struct GetNumericRepresentation { static const NumericRepresentation value = std::numeric_limits::is_integer ? NUMERIC_INTEGER : (std::numeric_limits::is_iec559 ? NUMERIC_FLOATING : NUMERIC_UNKNOWN); }; template ::value> class CheckedNumericState {}; template class CheckedNumericState { private: T value_; RangeConstraint validity_ : 8; public: template friend class CheckedNumericState; CheckedNumericState() : value_(0), validity_(RANGE_VALID) {} template CheckedNumericState(Src value, RangeConstraint validity) : value_(static_cast(value)), validity_(GetRangeConstraint(validity | DstRangeRelationToSrcRange(value))) { static_assert(std::numeric_limits::is_specialized, "Argument must be numeric."); } template CheckedNumericState(const CheckedNumericState &rhs) : value_(static_cast(rhs.value())), validity_(GetRangeConstraint(rhs.validity() | DstRangeRelationToSrcRange(rhs.value()))) {} template explicit CheckedNumericState( Src value, typename std::enable_if::is_specialized, int>::type = 0) : value_(static_cast(value)), validity_(DstRangeRelationToSrcRange(value)) {} RangeConstraint validity() const { return validity_; } T value() const { return value_; } }; template class CheckedNumericState { private: T value_; public: template friend class CheckedNumericState; CheckedNumericState() : value_(0.0) {} template CheckedNumericState( Src value, RangeConstraint validity, typename std::enable_if::is_integer, int>::type = 0) { switch (DstRangeRelationToSrcRange(value)) { case RANGE_VALID: value_ = static_cast(value); break; case RANGE_UNDERFLOW: value_ = -std::numeric_limits::infinity(); break; case RANGE_OVERFLOW: value_ = std::numeric_limits::infinity(); break; case RANGE_INVALID: value_ = std::numeric_limits::quiet_NaN(); break; default: ({ do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); }); } } template explicit CheckedNumericState( Src value, typename std::enable_if::is_specialized, int>::type = 0) : value_(static_cast(value)) {} template CheckedNumericState(const CheckedNumericState &rhs) : value_(static_cast(rhs.value())) {} RangeConstraint validity() const { return GetRangeConstraint(value_ <= std::numeric_limits::max(), value_ >= -std::numeric_limits::max()); } T value() const { return value_; } }; enum ArithmeticPromotionCategory { LEFT_PROMOTION, RIGHT_PROMOTION }; template ::value > MaxExponent::value) ? LEFT_PROMOTION : RIGHT_PROMOTION> struct ArithmeticPromotion; template struct ArithmeticPromotion { typedef Lhs type; }; template struct ArithmeticPromotion { typedef Rhs type; }; template struct IsIntegerArithmeticSafe { static const bool value = !std::numeric_limits::is_iec559 && StaticDstRangeRelationToSrcRange::value == NUMERIC_RANGE_CONTAINED && sizeof(T) >= (2 * sizeof(Lhs)) && StaticDstRangeRelationToSrcRange::value != NUMERIC_RANGE_CONTAINED && sizeof(T) >= (2 * sizeof(Rhs)); }; } } } # 15 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math.h" 2 namespace angle { namespace base { namespace internal { # 54 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math.h" template class CheckedNumeric { static_assert(std::is_arithmetic::value, "CheckedNumeric: T must be a numeric type."); public: typedef T type; CheckedNumeric() {} template CheckedNumeric(const CheckedNumeric &rhs) : state_(rhs.ValueUnsafe(), rhs.validity()) {} template CheckedNumeric(Src value, RangeConstraint validity) : state_(value, validity) {} template CheckedNumeric(Src value) : state_(value) { static_assert(std::numeric_limits::is_specialized, "Argument must be numeric."); } template CheckedNumeric(StrictNumeric value) : state_(static_cast(value)) {} bool IsValid() const { return validity() == RANGE_VALID; } template constexpr bool AssignIfValid(Dst *result) const { return IsValid() ? ((*result = static_cast(state_.value())), true) : false; } T ValueOrDie() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(IsValid()); return state_.value(); } T ValueOrDefault(T default_value) const { return IsValid() ? state_.value() : default_value; } T ValueFloating() const { static_assert(std::numeric_limits::is_iec559, "Argument must be float."); return CheckedNumeric::cast(*this).ValueUnsafe(); } # 129 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math.h" RangeConstraint validity() const { return state_.validity(); } # 138 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math.h" T ValueUnsafe() const { return state_.value(); } template CheckedNumeric &operator+=(Src rhs); template CheckedNumeric &operator-=(Src rhs); template CheckedNumeric &operator*=(Src rhs); template CheckedNumeric &operator/=(Src rhs); template CheckedNumeric &operator%=(Src rhs); CheckedNumeric operator-() const { RangeConstraint validity; T value = CheckedNeg(state_.value(), &validity); if (std::numeric_limits::is_iec559) return CheckedNumeric(value); validity = GetRangeConstraint(state_.validity() | validity); return CheckedNumeric(value, validity); } CheckedNumeric Abs() const { RangeConstraint validity; T value = CheckedAbs(state_.value(), &validity); if (std::numeric_limits::is_iec559) return CheckedNumeric(value); validity = GetRangeConstraint(state_.validity() | validity); return CheckedNumeric(value, validity); } CheckedNumeric::type> UnsignedAbs() const { return CheckedNumeric::type>( CheckedUnsignedAbs(state_.value()), state_.validity()); } CheckedNumeric &operator++() { *this += 1; return *this; } CheckedNumeric operator++(int) { CheckedNumeric value = *this; *this += 1; return value; } CheckedNumeric &operator--() { *this -= 1; return *this; } CheckedNumeric operator--(int) { CheckedNumeric value = *this; *this -= 1; return value; } template static CheckedNumeric cast( Src u, typename std::enable_if::is_specialized, int>::type = 0) { return u; } template static CheckedNumeric cast( const CheckedNumeric &u, typename std::enable_if::value, int>::type = 0) { return u; } static const CheckedNumeric &cast(const CheckedNumeric &u) { return u; } private: template struct UnderlyingType { using type = NumericType; }; template struct UnderlyingType> { using type = NumericType; }; CheckedNumericState state_; }; # 318 "../../third_party/angle/src/common/third_party/base/anglebase/numerics/safe_math.h" template CheckedNumeric::type> operator +( const CheckedNumeric &lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (std::numeric_limits::is_iec559) return CheckedNumeric(lhs.ValueUnsafe() + rhs.ValueUnsafe()); if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() + rhs.ValueUnsafe(), GetRangeConstraint(rhs.validity() | lhs.validity())); RangeConstraint validity = RANGE_VALID; T result = static_cast(CheckedAdd(static_cast(lhs.ValueUnsafe()), static_cast(rhs.ValueUnsafe()), &validity)); return CheckedNumeric( result, GetRangeConstraint(validity | lhs.validity() | rhs.validity())); } template template CheckedNumeric &CheckedNumeric::operator +=(Src rhs) { *this = CheckedNumeric::cast(*this) + CheckedNumeric::type>::cast(rhs); return *this; } template CheckedNumeric::type> operator +( const CheckedNumeric &lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() + rhs.ValueUnsafe(), GetRangeConstraint(rhs.validity() | lhs.validity())); return CheckedNumeric::cast(lhs) + CheckedNumeric::cast(rhs); } template ::value>::type * = nullptr> CheckedNumeric::type> operator +( const CheckedNumeric &lhs, Src rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() + rhs, lhs.validity()); return CheckedNumeric::cast(lhs) + CheckedNumeric::cast(rhs); } template ::value>::type * = nullptr> CheckedNumeric::type> operator +( Src lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs + rhs.ValueUnsafe(), rhs.validity()); return CheckedNumeric::cast(lhs) + CheckedNumeric::cast(rhs); } template CheckedNumeric::type> operator -( const CheckedNumeric &lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (std::numeric_limits::is_iec559) return CheckedNumeric(lhs.ValueUnsafe() - rhs.ValueUnsafe()); if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() - rhs.ValueUnsafe(), GetRangeConstraint(rhs.validity() | lhs.validity())); RangeConstraint validity = RANGE_VALID; T result = static_cast(CheckedSub(static_cast(lhs.ValueUnsafe()), static_cast(rhs.ValueUnsafe()), &validity)); return CheckedNumeric( result, GetRangeConstraint(validity | lhs.validity() | rhs.validity())); } template template CheckedNumeric &CheckedNumeric::operator -=(Src rhs) { *this = CheckedNumeric::cast(*this) - CheckedNumeric::type>::cast(rhs); return *this; } template CheckedNumeric::type> operator -( const CheckedNumeric &lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() - rhs.ValueUnsafe(), GetRangeConstraint(rhs.validity() | lhs.validity())); return CheckedNumeric::cast(lhs) - CheckedNumeric::cast(rhs); } template ::value>::type * = nullptr> CheckedNumeric::type> operator -( const CheckedNumeric &lhs, Src rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() - rhs, lhs.validity()); return CheckedNumeric::cast(lhs) - CheckedNumeric::cast(rhs); } template ::value>::type * = nullptr> CheckedNumeric::type> operator -( Src lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs - rhs.ValueUnsafe(), rhs.validity()); return CheckedNumeric::cast(lhs) - CheckedNumeric::cast(rhs); } template CheckedNumeric::type> operator *( const CheckedNumeric &lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (std::numeric_limits::is_iec559) return CheckedNumeric(lhs.ValueUnsafe() * rhs.ValueUnsafe()); if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() * rhs.ValueUnsafe(), GetRangeConstraint(rhs.validity() | lhs.validity())); RangeConstraint validity = RANGE_VALID; T result = static_cast(CheckedMul(static_cast(lhs.ValueUnsafe()), static_cast(rhs.ValueUnsafe()), &validity)); return CheckedNumeric( result, GetRangeConstraint(validity | lhs.validity() | rhs.validity())); } template template CheckedNumeric &CheckedNumeric::operator *=(Src rhs) { *this = CheckedNumeric::cast(*this) * CheckedNumeric::type>::cast(rhs); return *this; } template CheckedNumeric::type> operator *( const CheckedNumeric &lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() * rhs.ValueUnsafe(), GetRangeConstraint(rhs.validity() | lhs.validity())); return CheckedNumeric::cast(lhs) * CheckedNumeric::cast(rhs); } template ::value>::type * = nullptr> CheckedNumeric::type> operator *( const CheckedNumeric &lhs, Src rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() * rhs, lhs.validity()); return CheckedNumeric::cast(lhs) * CheckedNumeric::cast(rhs); } template ::value>::type * = nullptr> CheckedNumeric::type> operator *( Src lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs * rhs.ValueUnsafe(), rhs.validity()); return CheckedNumeric::cast(lhs) * CheckedNumeric::cast(rhs); } template CheckedNumeric::type> operator /( const CheckedNumeric &lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (std::numeric_limits::is_iec559) return CheckedNumeric(lhs.ValueUnsafe() / rhs.ValueUnsafe()); if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() / rhs.ValueUnsafe(), GetRangeConstraint(rhs.validity() | lhs.validity())); RangeConstraint validity = RANGE_VALID; T result = static_cast(CheckedDiv(static_cast(lhs.ValueUnsafe()), static_cast(rhs.ValueUnsafe()), &validity)); return CheckedNumeric( result, GetRangeConstraint(validity | lhs.validity() | rhs.validity())); } template template CheckedNumeric &CheckedNumeric::operator /=(Src rhs) { *this = CheckedNumeric::cast(*this) / CheckedNumeric::type>::cast(rhs); return *this; } template CheckedNumeric::type> operator /( const CheckedNumeric &lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() / rhs.ValueUnsafe(), GetRangeConstraint(rhs.validity() | lhs.validity())); return CheckedNumeric::cast(lhs) / CheckedNumeric::cast(rhs); } template ::value>::type * = nullptr> CheckedNumeric::type> operator /( const CheckedNumeric &lhs, Src rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() / rhs, lhs.validity()); return CheckedNumeric::cast(lhs) / CheckedNumeric::cast(rhs); } template ::value>::type * = nullptr> CheckedNumeric::type> operator /( Src lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs / rhs.ValueUnsafe(), rhs.validity()); return CheckedNumeric::cast(lhs) / CheckedNumeric::cast(rhs); } template CheckedNumeric::type> operator %( const CheckedNumeric &lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (std::numeric_limits::is_iec559) return CheckedNumeric(lhs.ValueUnsafe() % rhs.ValueUnsafe()); if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() % rhs.ValueUnsafe(), GetRangeConstraint(rhs.validity() | lhs.validity())); RangeConstraint validity = RANGE_VALID; T result = static_cast(CheckedMod(static_cast(lhs.ValueUnsafe()), static_cast(rhs.ValueUnsafe()), &validity)); return CheckedNumeric( result, GetRangeConstraint(validity | lhs.validity() | rhs.validity())); } template template CheckedNumeric &CheckedNumeric::operator %=(Src rhs) { *this = CheckedNumeric::cast(*this) % CheckedNumeric::type>::cast(rhs); return *this; } template CheckedNumeric::type> operator %( const CheckedNumeric &lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() % rhs.ValueUnsafe(), GetRangeConstraint(rhs.validity() | lhs.validity())); return CheckedNumeric::cast(lhs) % CheckedNumeric::cast(rhs); } template ::value>::type * = nullptr> CheckedNumeric::type> operator %( const CheckedNumeric &lhs, Src rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs.ValueUnsafe() % rhs, lhs.validity()); return CheckedNumeric::cast(lhs) % CheckedNumeric::cast(rhs); } template ::value>::type * = nullptr> CheckedNumeric::type> operator %( Src lhs, const CheckedNumeric &rhs) { typedef typename ArithmeticPromotion::type Promotion; if (IsIntegerArithmeticSafe::value) return CheckedNumeric(lhs % rhs.ValueUnsafe(), rhs.validity()); return CheckedNumeric::cast(lhs) % CheckedNumeric::cast(rhs); } } using internal::CheckedNumeric; } } # 20 "../../third_party/angle/src/common/mathutil.h" 2 namespace angle { using base::CheckedNumeric; using base::IsValueInRangeForNumericType; } namespace gl { const unsigned int Float32One = 0x3F800000; const unsigned short Float16One = 0x3C00; template inline constexpr bool isPow2(T x) { static_assert(std::is_integral::value, "isPow2 must be called on an integer type."); return (x & (x - 1)) == 0 && (x != 0); } inline int log2(int x) { int r = 0; while ((x >> r) > 1) r++; return r; } inline unsigned int ceilPow2(unsigned int x) { if (x != 0) x--; x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; x++; return x; } template inline DestT clampCast(SrcT value) { constexpr const long double destLo = static_cast(std::numeric_limits::lowest()); constexpr const long double destHi = static_cast(std::numeric_limits::max()); constexpr const long double srcLo = static_cast(std::numeric_limits::lowest()); constexpr long double srcHi = static_cast(std::numeric_limits::max()); if (destHi < srcHi) { DestT destMax = std::numeric_limits::max(); if (value >= static_cast(destMax)) { return destMax; } } if (destLo > srcLo) { DestT destLow = std::numeric_limits::lowest(); if (value <= static_cast(destLow)) { return destLow; } } return static_cast(value); } template <> inline unsigned int clampCast(bool value) { return static_cast(value); } template <> inline int clampCast(bool value) { return static_cast(value); } template inline T clamp(T x, MIN min, MAX max) { return x > min ? (x > max ? max : x) : min; } inline float clamp01(float x) { return clamp(x, 0.0f, 1.0f); } template inline unsigned int unorm(float x) { const unsigned int max = 0xFFFFFFFF >> (32 - n); if (x > 1) { return max; } else if (x < 0) { return 0; } else { return (unsigned int)(max * x + 0.5f); } } inline bool supportsSSE2() { static bool checked = false; static bool supports = false; if (checked) { return supports; } # 168 "../../third_party/angle/src/common/mathutil.h" checked = true; return supports; } template destType bitCast(const sourceType &source) { size_t copySize = std::min(sizeof(destType), sizeof(sourceType)); destType output; memcpy(&output, &source, copySize); return output; } template static constexpr double normalize(T value) { return value < 0 ? -static_cast(value) / std::numeric_limits::min() : static_cast(value) / std::numeric_limits::max(); } inline unsigned short float32ToFloat16(float fp32) { unsigned int fp32i = bitCast(fp32); unsigned int sign = (fp32i & 0x80000000) >> 16; unsigned int abs = fp32i & 0x7FFFFFFF; if (abs > 0x7F800000) { return 0x7FFF; } else if (abs > 0x47FFEFFF) { return static_cast(sign | 0x7C00); } else if (abs < 0x38800000) { unsigned int mantissa = (abs & 0x007FFFFF) | 0x00800000; int e = 113 - (abs >> 23); if (e < 24) { abs = mantissa >> e; } else { abs = 0; } return static_cast(sign | (abs + 0x00000FFF + ((abs >> 13) & 1)) >> 13); } else { return static_cast( sign | (abs + 0xC8000000 + 0x00000FFF + ((abs >> 13) & 1)) >> 13); } } float float16ToFloat32(unsigned short h); unsigned int convertRGBFloatsTo999E5(float red, float green, float blue); void convert999E5toRGBFloats(unsigned int input, float *red, float *green, float *blue); inline unsigned short float32ToFloat11(float fp32) { const unsigned int float32MantissaMask = 0x7FFFFF; const unsigned int float32ExponentMask = 0x7F800000; const unsigned int float32SignMask = 0x80000000; const unsigned int float32ValueMask = ~float32SignMask; const unsigned int float32ExponentFirstBit = 23; const unsigned int float32ExponentBias = 127; const unsigned short float11Max = 0x7BF; const unsigned short float11MantissaMask = 0x3F; const unsigned short float11ExponentMask = 0x7C0; const unsigned short float11BitMask = 0x7FF; const unsigned int float11ExponentBias = 14; const unsigned int float32Maxfloat11 = 0x477E0000; const unsigned int float32Minfloat11 = 0x38800000; const unsigned int float32Bits = bitCast(fp32); const bool float32Sign = (float32Bits & float32SignMask) == float32SignMask; unsigned int float32Val = float32Bits & float32ValueMask; if ((float32Val & float32ExponentMask) == float32ExponentMask) { if ((float32Val & float32MantissaMask) != 0) { return float11ExponentMask | (((float32Val >> 17) | (float32Val >> 11) | (float32Val >> 6) | (float32Val)) & float11MantissaMask); } else if (float32Sign) { return 0; } else { return float11ExponentMask; } } else if (float32Sign) { return 0; } else if (float32Val > float32Maxfloat11) { return float11Max; } else { if (float32Val < float32Minfloat11) { const unsigned int shift = (float32ExponentBias - float11ExponentBias) - (float32Val >> float32ExponentFirstBit); float32Val = ((1 << float32ExponentFirstBit) | (float32Val & float32MantissaMask)) >> shift; } else { float32Val += 0xC8000000; } return ((float32Val + 0xFFFF + ((float32Val >> 17) & 1)) >> 17) & float11BitMask; } } inline unsigned short float32ToFloat10(float fp32) { const unsigned int float32MantissaMask = 0x7FFFFF; const unsigned int float32ExponentMask = 0x7F800000; const unsigned int float32SignMask = 0x80000000; const unsigned int float32ValueMask = ~float32SignMask; const unsigned int float32ExponentFirstBit = 23; const unsigned int float32ExponentBias = 127; const unsigned short float10Max = 0x3DF; const unsigned short float10MantissaMask = 0x1F; const unsigned short float10ExponentMask = 0x3E0; const unsigned short float10BitMask = 0x3FF; const unsigned int float10ExponentBias = 14; const unsigned int float32Maxfloat10 = 0x477C0000; const unsigned int float32Minfloat10 = 0x38800000; const unsigned int float32Bits = bitCast(fp32); const bool float32Sign = (float32Bits & float32SignMask) == float32SignMask; unsigned int float32Val = float32Bits & float32ValueMask; if ((float32Val & float32ExponentMask) == float32ExponentMask) { if ((float32Val & float32MantissaMask) != 0) { return float10ExponentMask | (((float32Val >> 18) | (float32Val >> 13) | (float32Val >> 3) | (float32Val)) & float10MantissaMask); } else if (float32Sign) { return 0; } else { return float10ExponentMask; } } else if (float32Sign) { return 0; } else if (float32Val > float32Maxfloat10) { return float10Max; } else { if (float32Val < float32Minfloat10) { const unsigned int shift = (float32ExponentBias - float10ExponentBias) - (float32Val >> float32ExponentFirstBit); float32Val = ((1 << float32ExponentFirstBit) | (float32Val & float32MantissaMask)) >> shift; } else { float32Val += 0xC8000000; } return ((float32Val + 0x1FFFF + ((float32Val >> 18) & 1)) >> 18) & float10BitMask; } } inline float float11ToFloat32(unsigned short fp11) { unsigned short exponent = (fp11 >> 6) & 0x1F; unsigned short mantissa = fp11 & 0x3F; if (exponent == 0x1F) { return bitCast(0x7f800000 | (mantissa << 17)); } else { if (exponent != 0) { } else if (mantissa != 0) { exponent = 1; do { exponent--; mantissa <<= 1; } while ((mantissa & 0x40) == 0); mantissa = mantissa & 0x3F; } else { exponent = static_cast(-112); } return bitCast(((exponent + 112) << 23) | (mantissa << 17)); } } inline float float10ToFloat32(unsigned short fp11) { unsigned short exponent = (fp11 >> 5) & 0x1F; unsigned short mantissa = fp11 & 0x1F; if (exponent == 0x1F) { return bitCast(0x7f800000 | (mantissa << 17)); } else { if (exponent != 0) { } else if (mantissa != 0) { exponent = 1; do { exponent--; mantissa <<= 1; } while ((mantissa & 0x20) == 0); mantissa = mantissa & 0x1F; } else { exponent = static_cast(-112); } return bitCast(((exponent + 112) << 23) | (mantissa << 18)); } } inline float ConvertFixedToFloat(uint32_t fixedInput) { return static_cast(fixedInput) / 65536.0f; } inline uint32_t ConvertFloatToFixed(float floatInput) { static constexpr uint32_t kHighest = 32767 * 65536 + 65535; static constexpr uint32_t kLowest = static_cast(-32768 * 65536 + 65535); if (floatInput > 32767.65535) { return kHighest; } else if (floatInput < -32768.65535) { return kLowest; } else { return static_cast(floatInput * 65536); } } template inline float normalizedToFloat(T input) { static_assert(std::numeric_limits::is_integer, "T must be an integer."); if (sizeof(T) > 2) { constexpr double inverseMax = 1.0 / std::numeric_limits::max(); return static_cast(input * inverseMax); } else { constexpr float inverseMax = 1.0f / std::numeric_limits::max(); return input * inverseMax; } } template inline float normalizedToFloat(T input) { static_assert(std::numeric_limits::is_integer, "T must be an integer."); static_assert(inputBitCount < (sizeof(T) * 8), "T must have more bits than inputBitCount."); if (inputBitCount > 23) { constexpr double inverseMax = 1.0 / ((1 << inputBitCount) - 1); return static_cast(input * inverseMax); } else { constexpr float inverseMax = 1.0f / ((1 << inputBitCount) - 1); return input * inverseMax; } } template inline T floatToNormalized(float input) { if (sizeof(T) > 2) { return static_cast(std::numeric_limits::max() * static_cast(input) + 0.5); } else { return static_cast(std::numeric_limits::max() * input + 0.5f); } } template inline T floatToNormalized(float input) { static_assert(outputBitCount < (sizeof(T) * 8), "T must have more bits than outputBitCount."); if (outputBitCount > 23) { return static_cast(((1 << outputBitCount) - 1) * static_cast(input) + 0.5); } else { return static_cast(((1 << outputBitCount) - 1) * input + 0.5f); } } template inline T getShiftedData(T input) { static_assert(inputBitCount + inputBitStart <= (sizeof(T) * 8), "T must have at least as many bits as inputBitCount + inputBitStart."); const T mask = (1 << inputBitCount) - 1; return (input >> inputBitStart) & mask; } template inline T shiftData(T input) { static_assert(inputBitCount + inputBitStart <= (sizeof(T) * 8), "T must have at least as many bits as inputBitCount + inputBitStart."); const T mask = (1 << inputBitCount) - 1; return (input & mask) << inputBitStart; } inline unsigned int CountLeadingZeros(uint32_t x) { unsigned int zeros = 32u; uint32_t y; y = x >> 16u; if (y != 0) { zeros = zeros - 16u; x = y; } y = x >> 8u; if (y != 0) { zeros = zeros - 8u; x = y; } y = x >> 4u; if (y != 0) { zeros = zeros - 4u; x = y; } y = x >> 2u; if (y != 0) { zeros = zeros - 2u; x = y; } y = x >> 1u; if (y != 0) { return zeros - 2u; } return zeros - x; } inline unsigned char average(unsigned char a, unsigned char b) { return ((a ^ b) >> 1) + (a & b); } inline signed char average(signed char a, signed char b) { return ((short)a + (short)b) / 2; } inline unsigned short average(unsigned short a, unsigned short b) { return ((a ^ b) >> 1) + (a & b); } inline signed short average(signed short a, signed short b) { return ((int)a + (int)b) / 2; } inline unsigned int average(unsigned int a, unsigned int b) { return ((a ^ b) >> 1) + (a & b); } inline int average(int a, int b) { long long average = (static_cast(a) + static_cast(b)) / 2ll; return static_cast(average); } inline float average(float a, float b) { return (a + b) * 0.5f; } inline unsigned short averageHalfFloat(unsigned short a, unsigned short b) { return float32ToFloat16((float16ToFloat32(a) + float16ToFloat32(b)) * 0.5f); } inline unsigned int averageFloat11(unsigned int a, unsigned int b) { return float32ToFloat11((float11ToFloat32(static_cast(a)) + float11ToFloat32(static_cast(b))) * 0.5f); } inline unsigned int averageFloat10(unsigned int a, unsigned int b) { return float32ToFloat10((float10ToFloat32(static_cast(a)) + float10ToFloat32(static_cast(b))) * 0.5f); } template class Range { public: Range() {} Range(T lo, T hi) : mLow(lo), mHigh(hi) {} T length() const { return (empty() ? 0 : (mHigh - mLow)); } bool intersects(Range other) { if (mLow <= other.mLow) { return other.mLow < mHigh; } else { return mLow < other.mHigh; } } void extend(T value) { mLow = value < mLow ? value : mLow; mHigh = value >= mHigh ? (value + 1) : mHigh; } bool empty() const { return mHigh <= mLow; } bool contains(T value) const { return value >= mLow && value < mHigh; } class Iterator final { public: Iterator(T value) : mCurrent(value) {} Iterator &operator++() { mCurrent++; return *this; } bool operator==(const Iterator &other) const { return mCurrent == other.mCurrent; } bool operator!=(const Iterator &other) const { return mCurrent != other.mCurrent; } T operator*() const { return mCurrent; } private: T mCurrent; }; Iterator begin() const { return Iterator(mLow); } Iterator end() const { return Iterator(mHigh); } T low() const { return mLow; } T high() const { return mHigh; } void invalidate() { mLow = std::numeric_limits::max(); mHigh = std::numeric_limits::min(); } private: T mLow; T mHigh; }; typedef Range RangeI; typedef Range RangeUI; struct IndexRange { struct Undefined {}; IndexRange(Undefined) {} IndexRange() : IndexRange(0, 0, 0) {} IndexRange(size_t start_, size_t end_, size_t vertexIndexCount_) : start(start_), end(end_), vertexIndexCount(vertexIndexCount_) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(start <= end); } size_t vertexCount() const { return (end - start) + 1; } size_t start; size_t end; size_t vertexIndexCount; }; inline float Ldexp(float x, int exp) { if (exp > 128) { return std::numeric_limits::infinity(); } if (exp < -126) { return 0.0f; } double result = static_cast(x) * std::pow(2.0, static_cast(exp)); return static_cast(result); } inline uint32_t packSnorm2x16(float f1, float f2) { int16_t leastSignificantBits = static_cast(roundf(clamp(f1, -1.0f, 1.0f) * 32767.0f)); int16_t mostSignificantBits = static_cast(roundf(clamp(f2, -1.0f, 1.0f) * 32767.0f)); return static_cast(mostSignificantBits) << 16 | (static_cast(leastSignificantBits) & 0xFFFF); } inline void unpackSnorm2x16(uint32_t u, float *f1, float *f2) { int16_t leastSignificantBits = static_cast(u & 0xFFFF); int16_t mostSignificantBits = static_cast(u >> 16); *f1 = clamp(static_cast(leastSignificantBits) / 32767.0f, -1.0f, 1.0f); *f2 = clamp(static_cast(mostSignificantBits) / 32767.0f, -1.0f, 1.0f); } inline uint32_t packUnorm2x16(float f1, float f2) { uint16_t leastSignificantBits = static_cast(roundf(clamp(f1, 0.0f, 1.0f) * 65535.0f)); uint16_t mostSignificantBits = static_cast(roundf(clamp(f2, 0.0f, 1.0f) * 65535.0f)); return static_cast(mostSignificantBits) << 16 | static_cast(leastSignificantBits); } inline void unpackUnorm2x16(uint32_t u, float *f1, float *f2) { uint16_t leastSignificantBits = static_cast(u & 0xFFFF); uint16_t mostSignificantBits = static_cast(u >> 16); *f1 = static_cast(leastSignificantBits) / 65535.0f; *f2 = static_cast(mostSignificantBits) / 65535.0f; } namespace priv { inline uint8_t ToPackedUnorm8(float f) { return static_cast(roundf(clamp(f, 0.0f, 1.0f) * 255.0f)); } inline int8_t ToPackedSnorm8(float f) { return static_cast(roundf(clamp(f, -1.0f, 1.0f) * 127.0f)); } } inline uint32_t PackUnorm4x8(float f1, float f2, float f3, float f4) { uint8_t bits[4]; bits[0] = priv::ToPackedUnorm8(f1); bits[1] = priv::ToPackedUnorm8(f2); bits[2] = priv::ToPackedUnorm8(f3); bits[3] = priv::ToPackedUnorm8(f4); uint32_t result = 0u; for (int i = 0; i < 4; ++i) { int shift = i * 8; result |= (static_cast(bits[i]) << shift); } return result; } inline void UnpackUnorm4x8(uint32_t u, float *f) { for (int i = 0; i < 4; ++i) { int shift = i * 8; uint8_t bits = static_cast((u >> shift) & 0xFF); f[i] = static_cast(bits) / 255.0f; } } inline uint32_t PackSnorm4x8(float f1, float f2, float f3, float f4) { int8_t bits[4]; bits[0] = priv::ToPackedSnorm8(f1); bits[1] = priv::ToPackedSnorm8(f2); bits[2] = priv::ToPackedSnorm8(f3); bits[3] = priv::ToPackedSnorm8(f4); uint32_t result = 0u; for (int i = 0; i < 4; ++i) { int shift = i * 8; result |= ((static_cast(bits[i]) & 0xFF) << shift); } return result; } inline void UnpackSnorm4x8(uint32_t u, float *f) { for (int i = 0; i < 4; ++i) { int shift = i * 8; int8_t bits = static_cast((u >> shift) & 0xFF); f[i] = clamp(static_cast(bits) / 127.0f, -1.0f, 1.0f); } } inline uint32_t packHalf2x16(float f1, float f2) { uint16_t leastSignificantBits = static_cast(float32ToFloat16(f1)); uint16_t mostSignificantBits = static_cast(float32ToFloat16(f2)); return static_cast(mostSignificantBits) << 16 | static_cast(leastSignificantBits); } inline void unpackHalf2x16(uint32_t u, float *f1, float *f2) { uint16_t leastSignificantBits = static_cast(u & 0xFFFF); uint16_t mostSignificantBits = static_cast(u >> 16); *f1 = float16ToFloat32(leastSignificantBits); *f2 = float16ToFloat32(mostSignificantBits); } inline uint8_t sRGBToLinear(uint8_t srgbValue) { float value = srgbValue / 255.0f; if (value <= 0.04045f) { value = value / 12.92f; } else { value = std::pow((value + 0.055f) / 1.055f, 2.4f); } return static_cast(clamp(value * 255.0f + 0.5f, 0.0f, 255.0f)); } inline uint8_t linearToSRGB(uint8_t linearValue) { float value = linearValue / 255.0f; if (value <= 0.0f) { value = 0.0f; } else if (value < 0.0031308f) { value = value * 12.92f; } else if (value < 1.0f) { value = std::pow(value, 0.41666f) * 1.055f - 0.055f; } else { value = 1.0f; } return static_cast(clamp(value * 255.0f + 0.5f, 0.0f, 255.0f)); } inline uint32_t BitfieldReverse(uint32_t value) { uint32_t result = 0u; for (size_t j = 0u; j < 32u; ++j) { result |= (((value >> j) & 1u) << (31u - j)); } return result; } # 999 "../../third_party/angle/src/common/mathutil.h" inline int BitCount(uint32_t bits) { return __builtin_popcount(bits); } inline int BitCount(uint64_t bits) { return __builtin_popcountll(bits); } int BitCountPolyfill(uint32_t bits); # 1031 "../../third_party/angle/src/common/mathutil.h" inline int BitCount(uint8_t bits) { return BitCount(static_cast(bits)); } inline int BitCount(uint16_t bits) { return BitCount(static_cast(bits)); } # 1066 "../../third_party/angle/src/common/mathutil.h" inline unsigned long ScanForward(uint32_t bits) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(bits != 0u); return static_cast(__builtin_ctz(bits)); } inline unsigned long ScanForward(uint64_t bits) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(bits != 0u); return static_cast(__builtin_ctzll(bits)); } inline unsigned long ScanForward(uint8_t bits) { return ScanForward(static_cast(bits)); } inline unsigned long ScanForward(uint16_t bits) { return ScanForward(static_cast(bits)); } inline unsigned long ScanReverse(unsigned long bits) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(bits != 0u); return static_cast(sizeof(unsigned long) * 8 - 1 - __builtin_clzl(bits)); } template int FindLSB(T bits) { static_assert(std::is_integral::value, "must be integral type."); if (bits == 0u) { return -1; } else { return static_cast(ScanForward(bits)); } } template int FindMSB(T bits) { static_assert(std::is_integral::value, "must be integral type."); if (bits == 0u) { return -1; } else { return static_cast(ScanReverse(bits)); } } inline bool isNaN(float f) { return ((bitCast(f) & 0x7f800000u) == 0x7f800000u) && (bitCast(f) & 0x7fffffu); } inline bool isInf(float f) { return ((bitCast(f) & 0x7f800000u) == 0x7f800000u) && !(bitCast(f) & 0x7fffffu); } namespace priv { template struct iSquareRoot { static constexpr unsigned int solve() { return (R * R > N) ? 0 : ((R * R == N) ? R : static_cast(iSquareRoot::value)); } enum Result { value = iSquareRoot::solve() }; }; template struct iSquareRoot { enum result { value = N }; }; } template constexpr unsigned int iSquareRoot() { return priv::iSquareRoot::value; } template inline T WrappingSum(T lhs, T rhs) { uint32_t lhsUnsigned = static_cast(lhs); uint32_t rhsUnsigned = static_cast(rhs); return static_cast(lhsUnsigned + rhsUnsigned); } template inline T WrappingDiff(T lhs, T rhs) { uint32_t lhsUnsigned = static_cast(lhs); uint32_t rhsUnsigned = static_cast(rhs); return static_cast(lhsUnsigned - rhsUnsigned); } inline int32_t WrappingMul(int32_t lhs, int32_t rhs) { int64_t lhsWide = static_cast(lhs); int64_t rhsWide = static_cast(rhs); int64_t resultWide = lhsWide * rhsWide; resultWide = resultWide & 0xffffffffll; return static_cast(resultWide); } inline float scaleScreenDimensionToNdc(float dimensionScreen, float viewportDimension) { return 2.0f * dimensionScreen / viewportDimension; } inline float scaleScreenCoordinateToNdc(float coordinateScreen, float viewportDimension) { float halfShifted = coordinateScreen / viewportDimension; return 2.0f * (halfShifted - 0.5f); } } namespace rx { template T roundUp(const T value, const T alignment) { auto temp = value + alignment - static_cast(1); return temp - temp % alignment; } template constexpr T roundUpPow2(const T value, const T alignment) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(gl::isPow2(alignment)); return (value + alignment - 1) & ~(alignment - 1); } template angle::CheckedNumeric CheckedRoundUp(const T value, const T alignment) { angle::CheckedNumeric checkedValue(value); angle::CheckedNumeric checkedAlignment(alignment); return roundUp(checkedValue, checkedAlignment); } inline constexpr unsigned int UnsignedCeilDivide(unsigned int value, unsigned int divisor) { unsigned int divided = value / divisor; return (divided + ((value % divisor == 0) ? 0 : 1)); } # 1293 "../../third_party/angle/src/common/mathutil.h" inline uint32_t RotL(uint32_t x, int8_t r) { return (x << r) | (x >> (32 - r)); } inline uint64_t RotL64(uint64_t x, int8_t r) { return (x << r) | (x >> (64 - r)); } inline uint16_t RotR16(uint16_t x, int8_t r) { return (x >> r) | (x << (16 - r)); } constexpr unsigned int Log2(unsigned int bytes) { return bytes == 1 ? 0 : (1 + Log2(bytes / 2)); } } # 20 "../../third_party/angle/src/common/bitset_utils.h" 2 namespace angle { template constexpr static BitsT Bit(ParamT x) { return (static_cast(1) << static_cast(x)); } template class BitSetT final { public: class Reference final { public: ~Reference() {} Reference &operator=(bool x) { mParent->set(mBit, x); return *this; } explicit operator bool() const { return mParent->test(mBit); } private: friend class BitSetT; Reference(BitSetT *parent, ParamT bit) : mParent(parent), mBit(bit) {} BitSetT *mParent; ParamT mBit; }; class Iterator final { public: Iterator(const BitSetT &bits); Iterator &operator++(); bool operator==(const Iterator &other) const; bool operator!=(const Iterator &other) const; ParamT operator*() const; void resetLaterBit(std::size_t index) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(index > mCurrentBit); mBitsCopy.reset(index); } void setLaterBit(std::size_t index) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(index > mCurrentBit); mBitsCopy.set(index); } private: std::size_t getNextBit(); BitSetT mBitsCopy; std::size_t mCurrentBit; }; BitSetT(); constexpr explicit BitSetT(BitsT value); BitSetT(const BitSetT &other); BitSetT &operator=(const BitSetT &other); bool operator==(const BitSetT &other) const; bool operator!=(const BitSetT &other) const; constexpr bool operator[](ParamT pos) const; Reference operator[](ParamT pos) { return Reference(this, pos); } bool test(ParamT pos) const; bool all() const; bool any() const; bool none() const; std::size_t count() const; constexpr std::size_t size() const { return N; } BitSetT &operator&=(const BitSetT &other); BitSetT &operator|=(const BitSetT &other); BitSetT &operator^=(const BitSetT &other); BitSetT operator~() const; BitSetT &operator&=(BitsT value); BitSetT &operator|=(BitsT value); BitSetT &operator^=(BitsT value); BitSetT operator<<(std::size_t pos) const; BitSetT &operator<<=(std::size_t pos); BitSetT operator>>(std::size_t pos) const; BitSetT &operator>>=(std::size_t pos); BitSetT &set(); BitSetT &set(ParamT pos, bool value = true); BitSetT &reset(); BitSetT &reset(ParamT pos); BitSetT &flip(); BitSetT &flip(ParamT pos); unsigned long to_ulong() const { return static_cast(mBits); } BitsT bits() const { return mBits; } Iterator begin() const { return Iterator(*this); } Iterator end() const { return Iterator(BitSetT()); } private: constexpr static BitsT Mask(std::size_t x) { return ((Bit(static_cast(x - 1)) - 1) << 1) + 1; } BitsT mBits; }; template class IterableBitSet : public std::bitset { public: IterableBitSet() {} IterableBitSet(const std::bitset &implicitBitSet) : std::bitset(implicitBitSet) {} class Iterator final { public: Iterator(const std::bitset &bits); Iterator &operator++(); bool operator==(const Iterator &other) const; bool operator!=(const Iterator &other) const; unsigned long operator*() const { return mCurrentBit; } void resetLaterBit(std::size_t index) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(index > mCurrentBit); mBits.reset(index - mOffset); } void setLaterBit(std::size_t index) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(index > mCurrentBit); mBits.set(index - mOffset); } private: unsigned long getNextBit(); static constexpr size_t BitsPerWord = sizeof(uint32_t) * 8; std::bitset mBits; unsigned long mCurrentBit; unsigned long mOffset; }; Iterator begin() const { return Iterator(*this); } Iterator end() const { return Iterator(std::bitset(0)); } }; template IterableBitSet::Iterator::Iterator(const std::bitset &bitset) : mBits(bitset), mCurrentBit(0), mOffset(0) { if (mBits.any()) { mCurrentBit = getNextBit(); } else { mOffset = static_cast(rx::roundUp(N, BitsPerWord)); } } template inline __attribute__((always_inline)) typename IterableBitSet::Iterator &IterableBitSet::Iterator::operator++() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mBits.any()); mBits.set(mCurrentBit - mOffset, 0); mCurrentBit = getNextBit(); return *this; } template bool IterableBitSet::Iterator::operator==(const Iterator &other) const { return mOffset == other.mOffset && mBits == other.mBits; } template bool IterableBitSet::Iterator::operator!=(const Iterator &other) const { return !(*this == other); } template unsigned long IterableBitSet::Iterator::getNextBit() { static constexpr std::bitset wordMask(std::numeric_limits::max()); while (mOffset < N) { uint32_t wordBits = static_cast((mBits & wordMask).to_ulong()); if (wordBits != 0) { return gl::ScanForward(wordBits) + mOffset; } mBits >>= BitsPerWord; mOffset += BitsPerWord; } return 0; } template BitSetT::BitSetT() : mBits(0) { static_assert(N > 0, "Bitset type cannot support zero bits."); static_assert(N <= sizeof(BitsT) * 8, "Bitset type cannot support a size this large."); } template constexpr BitSetT::BitSetT(BitsT value) : mBits(value & Mask(N)) {} template BitSetT::BitSetT(const BitSetT &other) : mBits(other.mBits) {} template BitSetT &BitSetT::operator=(const BitSetT &other) { mBits = other.mBits; return *this; } template bool BitSetT::operator==(const BitSetT &other) const { return mBits == other.mBits; } template bool BitSetT::operator!=(const BitSetT &other) const { return mBits != other.mBits; } template constexpr bool BitSetT::operator[](ParamT pos) const { return test(pos); } template bool BitSetT::test(ParamT pos) const { return (mBits & Bit(pos)) != 0; } template bool BitSetT::all() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mBits == (mBits & Mask(N))); return mBits == Mask(N); } template bool BitSetT::any() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mBits == (mBits & Mask(N))); return (mBits != 0); } template bool BitSetT::none() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mBits == (mBits & Mask(N))); return (mBits == 0); } template std::size_t BitSetT::count() const { return gl::BitCount(mBits); } template BitSetT &BitSetT::operator&=(const BitSetT &other) { mBits &= other.mBits; return *this; } template BitSetT &BitSetT::operator|=(const BitSetT &other) { mBits |= other.mBits; return *this; } template BitSetT &BitSetT::operator^=(const BitSetT &other) { mBits = mBits ^ other.mBits; return *this; } template BitSetT BitSetT::operator~() const { return BitSetT(~mBits & Mask(N)); } template BitSetT &BitSetT::operator&=(BitsT value) { mBits &= value; return *this; } template BitSetT &BitSetT::operator|=(BitsT value) { mBits |= value & Mask(N); return *this; } template BitSetT &BitSetT::operator^=(BitsT value) { mBits ^= value & Mask(N); return *this; } template BitSetT BitSetT::operator<<(std::size_t pos) const { return BitSetT((mBits << pos) & Mask(N)); } template BitSetT &BitSetT::operator<<=(std::size_t pos) { mBits = (mBits << pos & Mask(N)); return *this; } template BitSetT BitSetT::operator>>(std::size_t pos) const { return BitSetT(mBits >> pos); } template BitSetT &BitSetT::operator>>=(std::size_t pos) { mBits = ((mBits >> pos) & Mask(N)); return *this; } template BitSetT &BitSetT::set() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mBits == (mBits & Mask(N))); mBits = Mask(N); return *this; } template BitSetT &BitSetT::set(ParamT pos, bool value) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mBits == (mBits & Mask(N))); if (value) { mBits |= Bit(pos) & Mask(N); } else { reset(pos); } return *this; } template BitSetT &BitSetT::reset() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mBits == (mBits & Mask(N))); mBits = 0; return *this; } template BitSetT &BitSetT::reset(ParamT pos) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mBits == (mBits & Mask(N))); mBits &= ~Bit(pos); return *this; } template BitSetT &BitSetT::flip() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mBits == (mBits & Mask(N))); mBits ^= Mask(N); return *this; } template BitSetT &BitSetT::flip(ParamT pos) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mBits == (mBits & Mask(N))); mBits ^= Bit(pos) & Mask(N); return *this; } template BitSetT::Iterator::Iterator(const BitSetT &bits) : mBitsCopy(bits), mCurrentBit(0) { if (bits.any()) { mCurrentBit = getNextBit(); } } template inline __attribute__((always_inline)) typename BitSetT::Iterator &BitSetT::Iterator:: operator++() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mBitsCopy.any()); mBitsCopy.reset(static_cast(mCurrentBit)); mCurrentBit = getNextBit(); return *this; } template bool BitSetT::Iterator::operator==(const Iterator &other) const { return mBitsCopy == other.mBitsCopy; } template bool BitSetT::Iterator::operator!=(const Iterator &other) const { return !(*this == other); } template ParamT BitSetT::Iterator::operator*() const { return static_cast(mCurrentBit); } template std::size_t BitSetT::Iterator::getNextBit() { if (mBitsCopy.none()) { return 0; } return gl::ScanForward(mBitsCopy.mBits); } template using BitSet32 = BitSetT; template using BitSet64 = BitSetT; namespace priv { template using EnableIfBitsFit = typename std::enable_if::type; template struct GetBitSet { using Type = IterableBitSet; }; template struct GetBitSet> { using Type = BitSet64; }; # 530 "../../third_party/angle/src/common/bitset_utils.h" } template using BitSet = typename priv::GetBitSet::Type; } template inline angle::BitSetT operator&(const angle::BitSetT &lhs, const angle::BitSetT &rhs) { angle::BitSetT result(lhs); result &= rhs.bits(); return result; } template inline angle::BitSetT operator|(const angle::BitSetT &lhs, const angle::BitSetT &rhs) { angle::BitSetT result(lhs); result |= rhs.bits(); return result; } template inline angle::BitSetT operator^(const angle::BitSetT &lhs, const angle::BitSetT &rhs) { angle::BitSetT result(lhs); result ^= rhs.bits(); return result; } # 22 "../../third_party/angle/src/common/PackedEnums.h" 2 namespace angle { template constexpr size_t EnumSize() { using UnderlyingType = typename std::underlying_type::type; return static_cast(E::EnumCount); } template class EnumIterator final { private: using UnderlyingType = typename std::underlying_type::type; public: EnumIterator(E value) : mValue(static_cast(value)) {} EnumIterator &operator++() { mValue++; return *this; } bool operator==(const EnumIterator &other) const { return mValue == other.mValue; } bool operator!=(const EnumIterator &other) const { return mValue != other.mValue; } E operator*() const { return static_cast(mValue); } private: UnderlyingType mValue; }; template struct AllEnums { EnumIterator begin() const { return {static_cast(0)}; } EnumIterator end() const { return {E::InvalidEnum}; } }; template ()> class PackedEnumMap { using UnderlyingType = typename std::underlying_type::type; using Storage = std::array; public: using InitPair = std::pair; constexpr PackedEnumMap() = default; constexpr PackedEnumMap(std::initializer_list init) : mPrivateData{} { for (const InitPair *it = init.begin(); it != init.end(); ++it) { const_cast(const_cast( mPrivateData)[static_cast(it->first)]) = it->second; } } using value_type = T; using pointer = T *; using const_pointer = const T *; using reference = T &; using const_reference = const T &; using size_type = size_t; using difference_type = ptrdiff_t; using iterator = typename Storage::iterator; using const_iterator = typename Storage::const_iterator; using reverse_iterator = std::reverse_iterator; using const_reverse_iterator = std::reverse_iterator; void fill(const T &u) { mPrivateData.fill(u); } void swap(PackedEnumMap &a) noexcept { mPrivateData.swap(a.mPrivateData); } iterator begin() noexcept { return mPrivateData.begin(); } const_iterator begin() const noexcept { return mPrivateData.begin(); } iterator end() noexcept { return mPrivateData.end(); } const_iterator end() const noexcept { return mPrivateData.end(); } reverse_iterator rbegin() noexcept { return mPrivateData.rbegin(); } const_reverse_iterator rbegin() const noexcept { return mPrivateData.rbegin(); } reverse_iterator rend() noexcept { return mPrivateData.rend(); } const_reverse_iterator rend() const noexcept { return mPrivateData.rend(); } constexpr size_type size() const noexcept { return mPrivateData.size(); } constexpr size_type max_size() const noexcept { return mPrivateData.max_size(); } constexpr bool empty() const noexcept { return mPrivateData.empty(); } reference operator[](E n) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(static_cast(n) < mPrivateData.size()); return mPrivateData[static_cast(n)]; } constexpr const_reference operator[](E n) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(static_cast(n) < mPrivateData.size()); return mPrivateData[static_cast(n)]; } const_reference at(E n) const { return mPrivateData.at(static_cast(n)); } reference at(E n) { return mPrivateData.at(static_cast(n)); } reference front() { return mPrivateData.front(); } const_reference front() const { return mPrivateData.front(); } reference back() { return mPrivateData.back(); } const_reference back() const { return mPrivateData.back(); } T *data() noexcept { return mPrivateData.data(); } const T *data() const noexcept { return mPrivateData.data(); } bool operator==(const PackedEnumMap &rhs) const { return mPrivateData == rhs.mPrivateData; } bool operator!=(const PackedEnumMap &rhs) const { return mPrivateData != rhs.mPrivateData; } private: Storage mPrivateData; }; template using PackedEnumBitSet = BitSetT(), DataT, E>; } namespace gl { TextureType TextureTargetToType(TextureTarget target); TextureTarget NonCubeTextureTypeToTarget(TextureType type); TextureTarget CubeFaceIndexToTextureTarget(size_t face); size_t CubeMapTextureTargetToFaceIndex(TextureTarget target); bool IsCubeMapFaceTarget(TextureTarget target); constexpr TextureTarget kCubeMapTextureTargetMin = TextureTarget::CubeMapPositiveX; constexpr TextureTarget kCubeMapTextureTargetMax = TextureTarget::CubeMapNegativeZ; constexpr TextureTarget kAfterCubeMapTextureTargetMax = static_cast(static_cast(kCubeMapTextureTargetMax) + 1); struct AllCubeFaceTextureTargets { angle::EnumIterator begin() const { return kCubeMapTextureTargetMin; } angle::EnumIterator end() const { return kAfterCubeMapTextureTargetMax; } }; constexpr ShaderType kGLES2ShaderTypeMin = ShaderType::Vertex; constexpr ShaderType kGLES2ShaderTypeMax = ShaderType::Fragment; constexpr ShaderType kAfterGLES2ShaderTypeMax = static_cast(static_cast(kGLES2ShaderTypeMax) + 1); struct AllGLES2ShaderTypes { angle::EnumIterator begin() const { return kGLES2ShaderTypeMin; } angle::EnumIterator end() const { return kAfterGLES2ShaderTypeMax; } }; constexpr ShaderType kShaderTypeMin = ShaderType::Vertex; constexpr ShaderType kShaderTypeMax = ShaderType::Compute; constexpr ShaderType kAfterShaderTypeMax = static_cast(static_cast(kShaderTypeMax) + 1); struct AllShaderTypes { angle::EnumIterator begin() const { return kShaderTypeMin; } angle::EnumIterator end() const { return kAfterShaderTypeMax; } }; constexpr size_t kGraphicsShaderCount = static_cast(ShaderType::EnumCount) - 1u; constexpr std::array kAllGraphicsShaderTypes = { ShaderType::Vertex, ShaderType::Geometry, ShaderType::Fragment}; using ShaderBitSet = angle::PackedEnumBitSet; static_assert(sizeof(ShaderBitSet) == sizeof(uint8_t), "Unexpected size"); template using ShaderMap = angle::PackedEnumMap; TextureType SamplerTypeToTextureType(GLenum samplerType); bool IsMultisampled(gl::TextureType type); bool IsArrayTextureType(gl::TextureType type); enum class PrimitiveMode : uint8_t { Points = 0x0, Lines = 0x1, LineLoop = 0x2, LineStrip = 0x3, Triangles = 0x4, TriangleStrip = 0x5, TriangleFan = 0x6, Unused1 = 0x7, Unused2 = 0x8, Unused3 = 0x9, LinesAdjacency = 0xA, LineStripAdjacency = 0xB, TrianglesAdjacency = 0xC, TriangleStripAdjacency = 0xD, InvalidEnum = 0xE, EnumCount = 0xE, }; template <> constexpr PrimitiveMode FromGLenum(GLenum from) { if (from >= static_cast(PrimitiveMode::EnumCount)) { return PrimitiveMode::InvalidEnum; } return static_cast(from); } constexpr GLenum ToGLenum(PrimitiveMode from) { return static_cast(from); } static_assert(ToGLenum(PrimitiveMode::Points) == 0x0000, "PrimitiveMode violation"); static_assert(ToGLenum(PrimitiveMode::Lines) == 0x0001, "PrimitiveMode violation"); static_assert(ToGLenum(PrimitiveMode::LineLoop) == 0x0002, "PrimitiveMode violation"); static_assert(ToGLenum(PrimitiveMode::LineStrip) == 0x0003, "PrimitiveMode violation"); static_assert(ToGLenum(PrimitiveMode::Triangles) == 0x0004, "PrimitiveMode violation"); static_assert(ToGLenum(PrimitiveMode::TriangleStrip) == 0x0005, "PrimitiveMode violation"); static_assert(ToGLenum(PrimitiveMode::TriangleFan) == 0x0006, "PrimitiveMode violation"); static_assert(ToGLenum(PrimitiveMode::LinesAdjacency) == 0x000A, "PrimitiveMode violation"); static_assert(ToGLenum(PrimitiveMode::LineStripAdjacency) == 0x000B, "PrimitiveMode violation"); static_assert(ToGLenum(PrimitiveMode::TrianglesAdjacency) == 0x000C, "PrimitiveMode violation"); static_assert(ToGLenum(PrimitiveMode::TriangleStripAdjacency) == 0x000D, "PrimitiveMode violation"); std::ostream &operator<<(std::ostream &os, PrimitiveMode value); enum class DrawElementsType : size_t { UnsignedByte = 0, UnsignedShort = 1, UnsignedInt = 2, InvalidEnum = 3, EnumCount = 3, }; template <> constexpr DrawElementsType FromGLenum(GLenum from) { GLenum scaled = (from - 0x1401); static_assert(sizeof(GLenum) == 4, "Update (scaled << 31) to sizeof(GLenum) * 8 - 1"); GLenum packed = (scaled >> 1) | (scaled << 31); packed = (packed >= static_cast(DrawElementsType::EnumCount)) ? static_cast(DrawElementsType::InvalidEnum) : packed; return static_cast(packed); } constexpr GLenum ToGLenum(DrawElementsType from) { return ((static_cast(from) << 1) + 0x1401); } static_assert(ToGLenum(DrawElementsType::UnsignedByte) == 0x1401, "DrawElementsType" " violation"); static_assert(FromGLenum(0x1401) == DrawElementsType::UnsignedByte, "DrawElementsType" " violation"); static_assert(ToGLenum(DrawElementsType::UnsignedShort) == 0x1403, "DrawElementsType" " violation"); static_assert(FromGLenum(0x1403) == DrawElementsType::UnsignedShort, "DrawElementsType" " violation"); static_assert(ToGLenum(DrawElementsType::UnsignedInt) == 0x1405, "DrawElementsType" " violation"); static_assert(FromGLenum(0x1405) == DrawElementsType::UnsignedInt, "DrawElementsType" " violation"); std::ostream &operator<<(std::ostream &os, DrawElementsType value); enum class VertexAttribType { Byte = 0, UnsignedByte = 1, Short = 2, UnsignedShort = 3, Int = 4, UnsignedInt = 5, Float = 6, Unused1 = 7, Unused2 = 8, Unused3 = 9, Unused4 = 10, HalfFloat = 11, Fixed = 12, MaxBasicType = 12, UnsignedInt2101010 = 13, HalfFloatOES = 14, Int2101010 = 15, UnsignedInt1010102 = 16, Int1010102 = 17, InvalidEnum = 18, EnumCount = 18, }; template <> constexpr VertexAttribType FromGLenum(GLenum from) { GLenum packed = from - 0x1400; if (packed <= static_cast(VertexAttribType::MaxBasicType)) return static_cast(packed); if (from == 0x8368) return VertexAttribType::UnsignedInt2101010; if (from == 0x8D61) return VertexAttribType::HalfFloatOES; if (from == 0x8D9F) return VertexAttribType::Int2101010; if (from == 0x8DF6) return VertexAttribType::UnsignedInt1010102; if (from == 0x8DF7) return VertexAttribType::Int1010102; return VertexAttribType::InvalidEnum; } constexpr GLenum ToGLenum(VertexAttribType from) { if (from == VertexAttribType::Int2101010) return 0x8D9F; if (from == VertexAttribType::HalfFloatOES) return 0x8D61; if (from == VertexAttribType::UnsignedInt2101010) return 0x8368; if (from == VertexAttribType::UnsignedInt1010102) return 0x8DF6; if (from == VertexAttribType::Int1010102) return 0x8DF7; return static_cast(from) + 0x1400; } static_assert(ToGLenum(VertexAttribType::Byte) == 0x1400, "VertexAttribType" " violation"); static_assert(FromGLenum(0x1400) == VertexAttribType::Byte, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::UnsignedByte) == 0x1401, "VertexAttribType" " violation"); static_assert(FromGLenum(0x1401) == VertexAttribType::UnsignedByte, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::Short) == 0x1402, "VertexAttribType" " violation"); static_assert(FromGLenum(0x1402) == VertexAttribType::Short, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::UnsignedShort) == 0x1403, "VertexAttribType" " violation"); static_assert(FromGLenum(0x1403) == VertexAttribType::UnsignedShort, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::Int) == 0x1404, "VertexAttribType" " violation"); static_assert(FromGLenum(0x1404) == VertexAttribType::Int, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::UnsignedInt) == 0x1405, "VertexAttribType" " violation"); static_assert(FromGLenum(0x1405) == VertexAttribType::UnsignedInt, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::Float) == 0x1406, "VertexAttribType" " violation"); static_assert(FromGLenum(0x1406) == VertexAttribType::Float, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::HalfFloat) == 0x140B, "VertexAttribType" " violation"); static_assert(FromGLenum(0x140B) == VertexAttribType::HalfFloat, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::Fixed) == 0x140C, "VertexAttribType" " violation"); static_assert(FromGLenum(0x140C) == VertexAttribType::Fixed, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::Int2101010) == 0x8D9F, "VertexAttribType" " violation"); static_assert(FromGLenum(0x8D9F) == VertexAttribType::Int2101010, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::HalfFloatOES) == 0x8D61, "VertexAttribType" " violation"); static_assert(FromGLenum(0x8D61) == VertexAttribType::HalfFloatOES, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::UnsignedInt2101010) == 0x8368, "VertexAttribType" " violation"); static_assert(FromGLenum(0x8368) == VertexAttribType::UnsignedInt2101010, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::Int1010102) == 0x8DF7, "VertexAttribType" " violation"); static_assert(FromGLenum(0x8DF7) == VertexAttribType::Int1010102, "VertexAttribType" " violation"); static_assert(ToGLenum(VertexAttribType::UnsignedInt1010102) == 0x8DF6, "VertexAttribType" " violation"); static_assert(FromGLenum(0x8DF6) == VertexAttribType::UnsignedInt1010102, "VertexAttribType" " violation"); std::ostream &operator<<(std::ostream &os, VertexAttribType value); template struct ResourceTypeToID; template struct IsResourceIDType; # 442 "../../third_party/angle/src/common/PackedEnums.h" class Buffer; struct BufferID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = BufferID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; class FenceNV; struct FenceNVID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = FenceNVID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; class Framebuffer; struct FramebufferID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = FramebufferID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; class MemoryObject; struct MemoryObjectID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = MemoryObjectID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; class Path; struct PathID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = PathID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; class ProgramPipeline; struct ProgramPipelineID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = ProgramPipelineID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; class Query; struct QueryID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = QueryID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; class Renderbuffer; struct RenderbufferID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = RenderbufferID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; class Sampler; struct SamplerID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = SamplerID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; class Semaphore; struct SemaphoreID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = SemaphoreID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; class Texture; struct TextureID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = TextureID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; class TransformFeedback; struct TransformFeedbackID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = TransformFeedbackID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; class VertexArray; struct VertexArrayID { GLuint value; }; template <> struct ResourceTypeToID { using IDType = VertexArrayID; }; template <> struct IsResourceIDType { static constexpr bool value = true; }; struct ShaderProgramID { GLuint value; }; template <> struct IsResourceIDType { constexpr static bool value = true; }; class Shader; template <> struct ResourceTypeToID { using IDType = ShaderProgramID; }; class Program; template <> struct ResourceTypeToID { using IDType = ShaderProgramID; }; template struct ResourceTypeToID { using IDType = void; }; template struct IsResourceIDType { static constexpr bool value = false; }; template bool ValueEquals(T lhs, T rhs) { return lhs.value == rhs.value; } template typename std::enable_if::value, bool>::type operator==(const T &lhs, const T &rhs) { return lhs.value == rhs.value; } template typename std::enable_if::value, bool>::type operator!=(const T &lhs, const T &rhs) { return lhs.value != rhs.value; } template typename std::enable_if::value, bool>::type operator<(const T &lhs, const T &rhs) { return lhs.value < rhs.value; } template GLuint GetIDValue(ResourceIDType id); template <> inline GLuint GetIDValue(GLuint id) { return id; } template inline GLuint GetIDValue(ResourceIDType id) { return id.value; } template typename std::enable_if::value, EnumT>::type FromGL(FromT from) { return FromGLenum(from); } template typename std::enable_if::value && !std::is_enum::value, EnumT>::type FromGL(FromT from) { return {from}; } template typename std::enable_if::value && !std::is_enum::value, EnumT>::type FromGL(FromT from) { return reinterpret_cast(from); } } namespace egl { MessageType ErrorCodeToMessageType(EGLint errorCode); } namespace egl_gl { gl::TextureTarget EGLCubeMapTargetToCubeMapTarget(EGLenum eglTarget); gl::TextureTarget EGLImageTargetToTextureTarget(EGLenum eglTarget); gl::TextureType EGLTextureTargetToTextureType(EGLenum eglTarget); } # 19 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Caps.h" 1 # 11 "../../third_party/angle/src/libANGLE/Caps.h" # 1 "../../third_party/angle/src/libANGLE/Version.h" 1 # 12 "../../third_party/angle/src/libANGLE/Version.h" namespace gl { struct Version { constexpr Version(); constexpr Version(unsigned int major, unsigned int minor); unsigned int major; unsigned int minor; }; bool operator==(const Version &a, const Version &b); bool operator!=(const Version &a, const Version &b); bool operator>=(const Version &a, const Version &b); bool operator<=(const Version &a, const Version &b); bool operator<(const Version &a, const Version &b); bool operator>(const Version &a, const Version &b); } # 1 "../../third_party/angle/src/libANGLE/Version.inc" 1 # 11 "../../third_party/angle/src/libANGLE/Version.inc" namespace gl { constexpr Version::Version() : Version(0, 0) { } constexpr Version::Version(unsigned int major_, unsigned int minor_) : major(major_), minor(minor_) { } inline bool operator==(const Version &a, const Version &b) { return std::tie(a.major, a.minor) == std::tie(b.major, b.minor); } inline bool operator!=(const Version &a, const Version &b) { return std::tie(a.major, a.minor) != std::tie(b.major, b.minor); } inline bool operator>=(const Version &a, const Version &b) { return std::tie(a.major, a.minor) >= std::tie(b.major, b.minor); } inline bool operator<=(const Version &a, const Version &b) { return std::tie(a.major, a.minor) <= std::tie(b.major, b.minor); } inline bool operator<(const Version &a, const Version &b) { return std::tie(a.major, a.minor) < std::tie(b.major, b.minor); } inline bool operator>(const Version &a, const Version &b) { return std::tie(a.major, a.minor) > std::tie(b.major, b.minor); } } # 33 "../../third_party/angle/src/libANGLE/Version.h" 2 # 12 "../../third_party/angle/src/libANGLE/Caps.h" 2 # 1 "../../third_party/angle/src/libANGLE/angletypes.h" 1 # 12 "../../third_party/angle/src/libANGLE/angletypes.h" # 1 "../../third_party/angle/src/common/Color.h" 1 # 14 "../../third_party/angle/src/common/Color.h" namespace angle { template struct Color { Color(); constexpr Color(T r, T g, T b, T a); const T *data() const { return &red; } T *ptr() { return &red; } static Color fromData(const T *data) { return Color(data[0], data[1], data[2], data[3]); } void writeData(T *data) const { data[0] = red; data[1] = green; data[2] = blue; data[3] = alpha; } T red; T green; T blue; T alpha; }; template bool operator==(const Color &a, const Color &b); template bool operator!=(const Color &a, const Color &b); typedef Color ColorF; typedef Color ColorI; typedef Color ColorUI; struct ColorGeneric { inline ColorGeneric(); inline ColorGeneric(const ColorF &color); inline ColorGeneric(const ColorI &color); inline ColorGeneric(const ColorUI &color); enum class Type : uint8_t { Float = 0, Int = 1, UInt = 2 }; union { ColorF colorF; ColorI colorI; ColorUI colorUI; }; Type type; }; inline bool operator==(const ColorGeneric &a, const ColorGeneric &b); inline bool operator!=(const ColorGeneric &a, const ColorGeneric &b); struct DepthStencil { DepthStencil() : depth(0), stencil(0) {} double depth; uint32_t stencil; }; } namespace gl { template using Color = angle::Color; using ColorF = angle::ColorF; using ColorI = angle::ColorI; using ColorUI = angle::ColorUI; using ColorGeneric = angle::ColorGeneric; } # 1 "../../third_party/angle/src/common/Color.inc" 1 # 9 "../../third_party/angle/src/common/Color.inc" namespace angle { template Color::Color() : Color(0, 0, 0, 0) { } template constexpr Color::Color(T r, T g, T b, T a) : red(r), green(g), blue(b), alpha(a) { } template bool operator==(const Color &a, const Color &b) { return a.red == b.red && a.green == b.green && a.blue == b.blue && a.alpha == b.alpha; } template bool operator!=(const Color &a, const Color &b) { return !(a == b); } ColorGeneric::ColorGeneric() : colorF(), type(Type::Float) {} ColorGeneric::ColorGeneric(const ColorF &color) : colorF(color), type(Type::Float) {} ColorGeneric::ColorGeneric(const ColorI &color) : colorI(color), type(Type::Int) {} ColorGeneric::ColorGeneric(const ColorUI &color) : colorUI(color), type(Type::UInt) {} bool operator==(const ColorGeneric &a, const ColorGeneric &b) { if (a.type != b.type) { return false; } switch (a.type) { default: case ColorGeneric::Type::Float: return a.colorF == b.colorF; case ColorGeneric::Type::Int: return a.colorI == b.colorI; case ColorGeneric::Type::UInt: return a.colorUI == b.colorUI; } } bool operator!=(const ColorGeneric &a, const ColorGeneric &b) { return !(a == b); } } # 103 "../../third_party/angle/src/common/Color.h" 2 # 13 "../../third_party/angle/src/libANGLE/angletypes.h" 2 # 1 "../../third_party/angle/src/common/FixedVector.h" 1 # 19 "../../third_party/angle/src/common/FixedVector.h" namespace angle { template > class FixedVector final { public: using value_type = typename Storage::value_type; using size_type = typename Storage::size_type; using reference = typename Storage::reference; using const_reference = typename Storage::const_reference; using pointer = typename Storage::pointer; using const_pointer = typename Storage::const_pointer; using iterator = typename Storage::iterator; using const_iterator = typename Storage::const_iterator; using reverse_iterator = typename Storage::reverse_iterator; using const_reverse_iterator = typename Storage::const_reverse_iterator; FixedVector(); FixedVector(size_type count, const value_type &value); FixedVector(size_type count); FixedVector(const FixedVector &other); FixedVector(FixedVector &&other); FixedVector(std::initializer_list init); FixedVector &operator=(const FixedVector &other); FixedVector &operator=(FixedVector &&other); FixedVector &operator=(std::initializer_list init); ~FixedVector(); reference at(size_type pos); const_reference at(size_type pos) const; reference operator[](size_type pos); const_reference operator[](size_type pos) const; pointer data(); const_pointer data() const; iterator begin(); const_iterator begin() const; iterator end(); const_iterator end() const; bool empty() const; size_type size() const; static constexpr size_type max_size(); void clear(); void push_back(const value_type &value); void push_back(value_type &&value); template void emplace_back(Args &&... args); void pop_back(); reference back(); const_reference back() const; void swap(FixedVector &other); void resize(size_type count); void resize(size_type count, const value_type &value); bool full() const; private: void assign_from_initializer_list(std::initializer_list init); Storage mStorage; size_type mSize = 0; }; template bool operator==(const FixedVector &a, const FixedVector &b) { return a.size() == b.size() && std::equal(a.begin(), a.end(), b.begin()); } template bool operator!=(const FixedVector &a, const FixedVector &b) { return !(a == b); } template FixedVector::FixedVector() = default; template FixedVector::FixedVector(size_type count, const value_type &value) : mSize(count) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(count <= N); std::fill(mStorage.begin(), mStorage.begin() + count, value); } template FixedVector::FixedVector(size_type count) : mSize(count) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(count <= N); } template FixedVector::FixedVector(const FixedVector &other) = default; template FixedVector::FixedVector(FixedVector &&other) = default; template FixedVector::FixedVector(std::initializer_list init) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(init.size() <= N); assign_from_initializer_list(init); } template FixedVector &FixedVector::operator=( const FixedVector &other) = default; template FixedVector &FixedVector::operator=( FixedVector &&other) = default; template FixedVector &FixedVector::operator=( std::initializer_list init) { clear(); true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(init.size() <= N); assign_from_initializer_list(init); return this; } template FixedVector::~FixedVector() { clear(); } template typename FixedVector::reference FixedVector::at(size_type pos) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(pos < N); return mStorage.at(pos); } template typename FixedVector::const_reference FixedVector::at( size_type pos) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(pos < N); return mStorage.at(pos); } template typename FixedVector::reference FixedVector::operator[](size_type pos) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(pos < N); return mStorage[pos]; } template typename FixedVector::const_reference FixedVector::operator[]( size_type pos) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(pos < N); return mStorage[pos]; } template typename FixedVector::const_pointer angle::FixedVector::data() const { return mStorage.data(); } template typename FixedVector::pointer angle::FixedVector::data() { return mStorage.data(); } template typename FixedVector::iterator FixedVector::begin() { return mStorage.begin(); } template typename FixedVector::const_iterator FixedVector::begin() const { return mStorage.begin(); } template typename FixedVector::iterator FixedVector::end() { return mStorage.begin() + mSize; } template typename FixedVector::const_iterator FixedVector::end() const { return mStorage.begin() + mSize; } template bool FixedVector::empty() const { return mSize == 0; } template typename FixedVector::size_type FixedVector::size() const { return mSize; } template constexpr typename FixedVector::size_type FixedVector::max_size() { return N; } template void FixedVector::clear() { resize(0); } template void FixedVector::push_back(const value_type &value) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mSize < N); mStorage[mSize] = value; mSize++; } template void FixedVector::push_back(value_type &&value) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mSize < N); mStorage[mSize] = std::move(value); mSize++; } template template void FixedVector::emplace_back(Args &&... args) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mSize < N); new (&mStorage[mSize]) T{std::forward(args)...}; mSize++; } template void FixedVector::pop_back() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mSize > 0); mSize--; } template typename FixedVector::reference FixedVector::back() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mSize > 0); return mStorage[mSize - 1]; } template typename FixedVector::const_reference FixedVector::back() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mSize > 0); return mStorage[mSize - 1]; } template void FixedVector::swap(FixedVector &other) { std::swap(mSize, other.mSize); std::swap(mStorage, other.mStorage); } template void FixedVector::resize(size_type count) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(count <= N); while (mSize > count) { mSize--; mStorage[mSize] = value_type(); } while (mSize < count) { mStorage[mSize] = value_type(); mSize++; } } template void FixedVector::resize(size_type count, const value_type &value) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(count <= N); while (mSize > count) { mSize--; mStorage[mSize] = value_type(); } while (mSize < count) { mStorage[mSize] = value; mSize++; } } template void FixedVector::assign_from_initializer_list( std::initializer_list init) { for (auto element : init) { mStorage[mSize] = std::move(element); mSize++; } } template bool FixedVector::full() const { return (mSize == N); } } # 14 "../../third_party/angle/src/libANGLE/angletypes.h" 2 # 1 "../../third_party/angle/src/common/vector_utils.h" 1 # 11 "../../third_party/angle/src/common/vector_utils.h" # 1 "/usr/include/c++/10/cmath" 1 3 # 39 "/usr/include/c++/10/cmath" 3 # 40 "/usr/include/c++/10/cmath" 3 # 12 "../../third_party/angle/src/common/vector_utils.h" 2 namespace angle { template class Vector; using Vector2 = Vector<2, float>; using Vector3 = Vector<3, float>; using Vector4 = Vector<4, float>; using Vector2I = Vector<2, int>; using Vector3I = Vector<3, int>; using Vector4I = Vector<4, int>; using Vector2U = Vector<2, unsigned int>; using Vector3U = Vector<3, unsigned int>; using Vector4U = Vector<4, unsigned int>; template class VectorBase { public: using VectorN = Vector; VectorBase() = default; explicit VectorBase(Type element); template VectorBase(const VectorBase &other); template VectorBase(const Arg1 &arg1, const Arg2 &arg2, const Args &... args); const Type *data() const { return mData; } Type *data() { return mData; } constexpr size_t size() const { return Dimension; } static VectorN Load(const Type *source); static void Store(const VectorN &source, Type *destination); Type &operator[](size_t i) { return mData[i]; } const Type &operator[](size_t i) const { return mData[i]; } VectorN operator+() const; VectorN operator-() const; VectorN operator+(const VectorN &other) const; VectorN operator-(const VectorN &other) const; VectorN operator*(const VectorN &other) const; VectorN operator/(const VectorN &other) const; VectorN operator*(Type other) const; VectorN operator/(Type other) const; friend VectorN operator*(Type a, const VectorN &b) { return b * a; } VectorN &operator+=(const VectorN &other); VectorN &operator-=(const VectorN &other); VectorN &operator*=(const VectorN &other); VectorN &operator/=(const VectorN &other); VectorN &operator*=(Type other); VectorN &operator/=(Type other); bool operator==(const VectorN &other) const; bool operator!=(const VectorN &other) const; Type length() const; Type lengthSquared() const; Type dot(const VectorBase &other) const; VectorN normalized() const; protected: template void initWithList(const Vector &arg1, const Args &... args); template typename std::enable_if::value>::type initWithList( OtherType arg1, const Args &... args); template void initWithList() const; template friend class VectorBase; Type mData[Dimension]; }; template std::ostream &operator<<(std::ostream &ostream, const VectorBase &vector); template class Vector<2, Type> : public VectorBase<2, Type> { public: using VectorBase<2, Type>::VectorBase; Type &x() { return this->mData[0]; } Type &y() { return this->mData[1]; } const Type &x() const { return this->mData[0]; } const Type &y() const { return this->mData[1]; } }; template std::ostream &operator<<(std::ostream &ostream, const Vector<2, Type> &vector); template class Vector<3, Type> : public VectorBase<3, Type> { public: using VectorBase<3, Type>::VectorBase; Vector<3, Type> cross(const Vector<3, Type> &other) const; Type &x() { return this->mData[0]; } Type &y() { return this->mData[1]; } Type &z() { return this->mData[2]; } const Type &x() const { return this->mData[0]; } const Type &y() const { return this->mData[1]; } const Type &z() const { return this->mData[2]; } }; template std::ostream &operator<<(std::ostream &ostream, const Vector<3, Type> &vector); template class Vector<4, Type> : public VectorBase<4, Type> { public: using VectorBase<4, Type>::VectorBase; Type &x() { return this->mData[0]; } Type &y() { return this->mData[1]; } Type &z() { return this->mData[2]; } Type &w() { return this->mData[3]; } const Type &x() const { return this->mData[0]; } const Type &y() const { return this->mData[1]; } const Type &z() const { return this->mData[2]; } const Type &w() const { return this->mData[3]; } }; template std::ostream &operator<<(std::ostream &ostream, const Vector<4, Type> &vector); template VectorBase::VectorBase(Type element) { for (size_t i = 0; i < Dimension; ++i) { mData[i] = element; } } template template VectorBase::VectorBase(const VectorBase &other) { for (size_t i = 0; i < Dimension; ++i) { mData[i] = static_cast(other.mData[i]); } } # 210 "../../third_party/angle/src/common/vector_utils.h" template template VectorBase::VectorBase(const Arg1 &arg1, const Arg2 &arg2, const Args &... args) { initWithList<0>(arg1, arg2, args...); } template template void VectorBase::initWithList(const Vector &arg1, const Args &... args) { static_assert(CurrentIndex + OtherDimension <= Dimension, "Too much data in the vector constructor."); for (size_t i = 0; i < OtherDimension; ++i) { mData[CurrentIndex + i] = static_cast(arg1.mData[i]); } initWithList(args...); } template template typename std::enable_if::value>::type VectorBase::initWithList(OtherType arg1, const Args &... args) { static_assert(CurrentIndex + 1 <= Dimension, "Too much data in the vector constructor."); mData[CurrentIndex] = static_cast(arg1); initWithList(args...); } template template void VectorBase::initWithList() const { static_assert(CurrentIndex == Dimension, "Not enough data in the vector constructor."); } template Vector VectorBase::Load(const Type *source) { Vector result; for (size_t i = 0; i < Dimension; ++i) { result.mData[i] = source[i]; } return result; } template void VectorBase::Store(const Vector &source, Type *destination) { for (size_t i = 0; i < Dimension; ++i) { destination[i] = source.mData[i]; } } template Vector VectorBase::operator+() const { Vector result; for (size_t i = 0; i < Dimension; ++i) { result.mData[i] = +mData[i]; } return result; } template Vector VectorBase::operator-() const { Vector result; for (size_t i = 0; i < Dimension; ++i) { result.mData[i] = -mData[i]; } return result; } template Vector VectorBase::operator+( const Vector &other) const { Vector result; for (size_t i = 0; i < Dimension; ++i) { result.mData[i] = mData[i] + other.mData[i]; } return result; } template Vector VectorBase::operator-( const Vector &other) const { Vector result; for (size_t i = 0; i < Dimension; ++i) { result.mData[i] = mData[i] - other.mData[i]; } return result; } template Vector VectorBase::operator*( const Vector &other) const { Vector result; for (size_t i = 0; i < Dimension; ++i) { result.mData[i] = mData[i] * other.mData[i]; } return result; } template Vector VectorBase::operator/( const Vector &other) const { Vector result; for (size_t i = 0; i < Dimension; ++i) { result.mData[i] = mData[i] / other.mData[i]; } return result; } template Vector VectorBase::operator*(Type other) const { Vector result; for (size_t i = 0; i < Dimension; ++i) { result.mData[i] = mData[i] * other; } return result; } template Vector VectorBase::operator/(Type other) const { Vector result; for (size_t i = 0; i < Dimension; ++i) { result.mData[i] = mData[i] / other; } return result; } template Vector &VectorBase::operator+=( const Vector &other) { for (size_t i = 0; i < Dimension; ++i) { mData[i] += other.mData[i]; } return *static_cast *>(this); } template Vector &VectorBase::operator-=( const Vector &other) { for (size_t i = 0; i < Dimension; ++i) { mData[i] -= other.mData[i]; } return *static_cast *>(this); } template Vector &VectorBase::operator*=( const Vector &other) { for (size_t i = 0; i < Dimension; ++i) { mData[i] *= other.mData[i]; } return *static_cast *>(this); } template Vector &VectorBase::operator/=( const Vector &other) { for (size_t i = 0; i < Dimension; ++i) { mData[i] /= other.mData[i]; } return *static_cast *>(this); } template Vector &VectorBase::operator*=(Type other) { for (size_t i = 0; i < Dimension; ++i) { mData[i] *= other; } return *static_cast *>(this); } template Vector &VectorBase::operator/=(Type other) { for (size_t i = 0; i < Dimension; ++i) { mData[i] /= other; } return *static_cast *>(this); } template bool VectorBase::operator==(const Vector &other) const { for (size_t i = 0; i < Dimension; ++i) { if (mData[i] != other.mData[i]) { return false; } } return true; } template bool VectorBase::operator!=(const Vector &other) const { return !(*this == other); } template Type VectorBase::length() const { static_assert(std::is_floating_point::value, "VectorN::length is only defined for floating point vectors"); return std::sqrt(lengthSquared()); } template Type VectorBase::lengthSquared() const { return dot(*this); } template Type VectorBase::dot(const VectorBase &other) const { Type sum = Type(); for (size_t i = 0; i < Dimension; ++i) { sum += mData[i] * other.mData[i]; } return sum; } template std::ostream &operator<<(std::ostream &ostream, const VectorBase &vector) { ostream << "[ "; for (size_t elementIdx = 0; elementIdx < Dimension; elementIdx++) { if (elementIdx > 0) { ostream << ", "; } ostream << vector.data()[elementIdx]; } ostream << " ]"; return ostream; } template Vector VectorBase::normalized() const { static_assert(std::is_floating_point::value, "VectorN::normalized is only defined for floating point vectors"); return *this / length(); } template std::ostream &operator<<(std::ostream &ostream, const Vector<2, Type> &vector) { return ostream << static_cast &>(vector); } template Vector<3, Type> Vector<3, Type>::cross(const Vector<3, Type> &other) const { return Vector<3, Type>(y() * other.z() - z() * other.y(), z() * other.x() - x() * other.z(), x() * other.y() - y() * other.x()); } template std::ostream &operator<<(std::ostream &ostream, const Vector<3, Type> &vector) { return ostream << static_cast &>(vector); } template std::ostream &operator<<(std::ostream &ostream, const Vector<4, Type> &vector) { return ostream << static_cast &>(vector); } } # 17 "../../third_party/angle/src/libANGLE/angletypes.h" 2 # 1 "../../third_party/angle/src/libANGLE/Constants.h" 1 # 16 "../../third_party/angle/src/libANGLE/Constants.h" namespace gl { const size_t kDefaultMaxProgramCacheMemoryBytes = 0; enum { MAX_SAMPLE_MASK_WORDS = 2, MAX_VERTEX_ATTRIBS = 16, MAX_VERTEX_ATTRIB_BINDINGS = 16, IMPLEMENTATION_MAX_VARYING_VECTORS = 32, IMPLEMENTATION_MAX_DRAW_BUFFERS = 8, IMPLEMENTATION_MAX_FRAMEBUFFER_ATTACHMENTS = IMPLEMENTATION_MAX_DRAW_BUFFERS + 2, IMPLEMENTATION_MAX_VERTEX_SHADER_UNIFORM_BUFFERS = 16, IMPLEMENTATION_MAX_GEOMETRY_SHADER_UNIFORM_BUFFERS = 16, IMPLEMENTATION_MAX_FRAGMENT_SHADER_UNIFORM_BUFFERS = 16, IMPLEMENTATION_MAX_COMPUTE_SHADER_UNIFORM_BUFFERS = 16, IMPLEMENTATION_MAX_COMBINED_SHADER_UNIFORM_BUFFERS = 36, IMPLEMENTATION_MAX_UNIFORM_BUFFER_BINDINGS = 48, IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 128, IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 4, IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 4, IMPLEMENTATION_MAX_TRANSFORM_FEEDBACK_BUFFERS = 4, IMPLEMENTATION_ANGLE_MULTIVIEW_MAX_VIEWS = 4, IMPLEMENTATION_MAX_2D_TEXTURE_SIZE = 32768, IMPLEMENTATION_MAX_CUBE_MAP_TEXTURE_SIZE = 32768, IMPLEMENTATION_MAX_3D_TEXTURE_SIZE = 16384, IMPLEMENTATION_MAX_2D_ARRAY_TEXTURE_LAYERS = 2048, IMPLEMENTATION_MAX_TEXTURE_LEVELS = 16, IMPLEMENTATION_MAX_SHADER_TEXTURES = 32, IMPLEMENTATION_MAX_ACTIVE_TEXTURES = IMPLEMENTATION_MAX_SHADER_TEXTURES * 2, IMPLEMENTATION_MAX_IMAGE_UNITS = IMPLEMENTATION_MAX_ACTIVE_TEXTURES, IMPLEMENTATION_MAX_ATOMIC_COUNTER_BUFFERS = 8, IMPLEMENTATION_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 64, }; namespace limits { constexpr uint32_t kMinimumComputeStorageBuffers = 4; constexpr uint32_t kMinimumShaderUniformBlocks = 12; constexpr uint32_t kMinimumVertexOutputComponents = 64; } } # 18 "../../third_party/angle/src/libANGLE/angletypes.h" 2 # 1 "../../third_party/angle/src/libANGLE/Error.h" 1 # 18 "../../third_party/angle/src/libANGLE/Error.h" # 1 "/usr/include/c++/10/memory" 1 3 # 47 "/usr/include/c++/10/memory" 3 # 48 "/usr/include/c++/10/memory" 3 # 68 "/usr/include/c++/10/memory" 3 # 1 "/usr/include/c++/10/bits/stl_raw_storage_iter.h" 1 3 # 59 "/usr/include/c++/10/bits/stl_raw_storage_iter.h" 3 # 59 "/usr/include/c++/10/bits/stl_raw_storage_iter.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class raw_storage_iterator : public iterator { protected: _OutputIterator _M_iter; public: explicit raw_storage_iterator(_OutputIterator __x) : _M_iter(__x) {} raw_storage_iterator& operator*() { return *this; } raw_storage_iterator& operator=(const _Tp& __element) { std::_Construct(std::__addressof(*_M_iter), __element); return *this; } raw_storage_iterator& operator=(_Tp&& __element) { std::_Construct(std::__addressof(*_M_iter), std::move(__element)); return *this; } raw_storage_iterator& operator++() { ++_M_iter; return *this; } raw_storage_iterator operator++(int) { raw_storage_iterator __tmp = *this; ++_M_iter; return __tmp; } _OutputIterator base() const { return _M_iter; } }; } # 69 "/usr/include/c++/10/memory" 2 3 # 1 "/usr/include/c++/10/bits/ranges_uninitialized.h" 1 3 # 70 "/usr/include/c++/10/memory" 2 3 # 1 "/usr/include/c++/10/ext/concurrence.h" 1 3 # 32 "/usr/include/c++/10/ext/concurrence.h" 3 # 33 "/usr/include/c++/10/ext/concurrence.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { enum _Lock_policy { _S_single, _S_mutex, _S_atomic }; static const _Lock_policy __default_lock_policy = _S_atomic; class __concurrence_lock_error : public std::exception { public: virtual char const* what() const throw() { return "__gnu_cxx::__concurrence_lock_error"; } }; class __concurrence_unlock_error : public std::exception { public: virtual char const* what() const throw() { return "__gnu_cxx::__concurrence_unlock_error"; } }; class __concurrence_broadcast_error : public std::exception { public: virtual char const* what() const throw() { return "__gnu_cxx::__concurrence_broadcast_error"; } }; class __concurrence_wait_error : public std::exception { public: virtual char const* what() const throw() { return "__gnu_cxx::__concurrence_wait_error"; } }; inline void __throw_concurrence_lock_error() { (__builtin_abort()); } inline void __throw_concurrence_unlock_error() { (__builtin_abort()); } inline void __throw_concurrence_broadcast_error() { (__builtin_abort()); } inline void __throw_concurrence_wait_error() { (__builtin_abort()); } class __mutex { private: __gthread_mutex_t _M_mutex = { { 0, 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, 0, { 0, 0 } } }; __mutex(const __mutex&); __mutex& operator=(const __mutex&); public: __mutex() { } # 144 "/usr/include/c++/10/ext/concurrence.h" 3 void lock() { if (__gthread_active_p()) { if (__gthread_mutex_lock(&_M_mutex) != 0) __throw_concurrence_lock_error(); } } void unlock() { if (__gthread_active_p()) { if (__gthread_mutex_unlock(&_M_mutex) != 0) __throw_concurrence_unlock_error(); } } __gthread_mutex_t* gthread_mutex(void) { return &_M_mutex; } }; class __recursive_mutex { private: __gthread_recursive_mutex_t _M_mutex = { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, 0, { 0, 0 } } }; __recursive_mutex(const __recursive_mutex&); __recursive_mutex& operator=(const __recursive_mutex&); public: __recursive_mutex() { } # 199 "/usr/include/c++/10/ext/concurrence.h" 3 void lock() { if (__gthread_active_p()) { if (__gthread_recursive_mutex_lock(&_M_mutex) != 0) __throw_concurrence_lock_error(); } } void unlock() { if (__gthread_active_p()) { if (__gthread_recursive_mutex_unlock(&_M_mutex) != 0) __throw_concurrence_unlock_error(); } } __gthread_recursive_mutex_t* gthread_recursive_mutex(void) { return &_M_mutex; } }; class __scoped_lock { public: typedef __mutex __mutex_type; private: __mutex_type& _M_device; __scoped_lock(const __scoped_lock&); __scoped_lock& operator=(const __scoped_lock&); public: explicit __scoped_lock(__mutex_type& __name) : _M_device(__name) { _M_device.lock(); } ~__scoped_lock() throw() { _M_device.unlock(); } }; class __cond { private: __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } }; __cond(const __cond&); __cond& operator=(const __cond&); public: __cond() { } # 277 "/usr/include/c++/10/ext/concurrence.h" 3 void broadcast() { if (__gthread_active_p()) { if (__gthread_cond_broadcast(&_M_cond) != 0) __throw_concurrence_broadcast_error(); } } void wait(__mutex *mutex) { { if (__gthread_cond_wait(&_M_cond, mutex->gthread_mutex()) != 0) __throw_concurrence_wait_error(); } } void wait_recursive(__recursive_mutex *mutex) { { if (__gthread_cond_wait_recursive(&_M_cond, mutex->gthread_recursive_mutex()) != 0) __throw_concurrence_wait_error(); } } }; } # 77 "/usr/include/c++/10/memory" 2 3 # 1 "/usr/include/c++/10/bits/shared_ptr.h" 1 3 # 52 "/usr/include/c++/10/bits/shared_ptr.h" 3 # 1 "/usr/include/c++/10/bits/shared_ptr_base.h" 1 3 # 53 "/usr/include/c++/10/bits/shared_ptr_base.h" 3 # 1 "/usr/include/c++/10/bits/allocated_ptr.h" 1 3 # 40 "/usr/include/c++/10/bits/allocated_ptr.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __allocated_ptr { using pointer = typename allocator_traits<_Alloc>::pointer; using value_type = typename allocator_traits<_Alloc>::value_type; __allocated_ptr(_Alloc& __a, pointer __ptr) noexcept : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr) { } template>> __allocated_ptr(_Alloc& __a, _Ptr __ptr) : _M_alloc(std::__addressof(__a)), _M_ptr(pointer_traits::pointer_to(*__ptr)) { } __allocated_ptr(__allocated_ptr&& __gd) noexcept : _M_alloc(__gd._M_alloc), _M_ptr(__gd._M_ptr) { __gd._M_ptr = nullptr; } ~__allocated_ptr() { if (_M_ptr != nullptr) std::allocator_traits<_Alloc>::deallocate(*_M_alloc, _M_ptr, 1); } __allocated_ptr& operator=(std::nullptr_t) noexcept { _M_ptr = nullptr; return *this; } value_type* get() { return std::__to_address(_M_ptr); } private: _Alloc* _M_alloc; pointer _M_ptr; }; template __allocated_ptr<_Alloc> __allocate_guarded(_Alloc& __a) { return { __a, std::allocator_traits<_Alloc>::allocate(__a, 1) }; } } # 54 "/usr/include/c++/10/bits/shared_ptr_base.h" 2 3 # 1 "/usr/include/c++/10/bits/refwrap.h" 1 3 # 33 "/usr/include/c++/10/bits/refwrap.h" 3 # 34 "/usr/include/c++/10/bits/refwrap.h" 3 # 43 "/usr/include/c++/10/bits/refwrap.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 54 "/usr/include/c++/10/bits/refwrap.h" 3 template struct _Maybe_unary_or_binary_function { }; template struct _Maybe_unary_or_binary_function<_Res, _T1> : std::unary_function<_T1, _Res> { }; template struct _Maybe_unary_or_binary_function<_Res, _T1, _T2> : std::binary_function<_T1, _T2, _Res> { }; template struct _Mem_fn_traits; template struct _Mem_fn_traits_base { using __result_type = _Res; using __maybe_type = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>; using __arity = integral_constant; }; # 99 "/usr/include/c++/10/bits/refwrap.h" 3 template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; }; # 113 "/usr/include/c++/10/bits/refwrap.h" 3 template> struct _Maybe_get_result_type { }; template struct _Maybe_get_result_type<_Functor, __void_t> { typedef typename _Functor::result_type result_type; }; template struct _Weak_result_type_impl : _Maybe_get_result_type<_Functor> { }; template struct _Weak_result_type_impl<_Res(_ArgTypes...) > { typedef _Res result_type; }; template struct _Weak_result_type_impl<_Res(_ArgTypes......) > { typedef _Res result_type; }; template struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) > { typedef _Res result_type; }; template struct _Weak_result_type_impl<_Res(*)(_ArgTypes......) > { typedef _Res result_type; }; template::value> struct _Weak_result_type_memfun : _Weak_result_type_impl<_Functor> { }; template struct _Weak_result_type_memfun<_MemFunPtr, true> { using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; }; template struct _Weak_result_type_memfun<_Func _Class::*, false> { }; template struct _Weak_result_type : _Weak_result_type_memfun::type> { }; template> struct _Refwrap_base_arg1 { }; template struct _Refwrap_base_arg1<_Tp, __void_t> { typedef typename _Tp::argument_type argument_type; }; template> struct _Refwrap_base_arg2 { }; template struct _Refwrap_base_arg2<_Tp, __void_t> { typedef typename _Tp::first_argument_type first_argument_type; typedef typename _Tp::second_argument_type second_argument_type; }; template struct _Reference_wrapper_base : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp> { }; template struct _Reference_wrapper_base<_Res(_T1) > : unary_function<_T1, _Res> { }; template struct _Reference_wrapper_base<_Res(_T1) const> : unary_function<_T1, _Res> { }; template struct _Reference_wrapper_base<_Res(_T1) volatile> : unary_function<_T1, _Res> { }; template struct _Reference_wrapper_base<_Res(_T1) const volatile> : unary_function<_T1, _Res> { }; template struct _Reference_wrapper_base<_Res(_T1, _T2) > : binary_function<_T1, _T2, _Res> { }; template struct _Reference_wrapper_base<_Res(_T1, _T2) const> : binary_function<_T1, _T2, _Res> { }; template struct _Reference_wrapper_base<_Res(_T1, _T2) volatile> : binary_function<_T1, _T2, _Res> { }; template struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile> : binary_function<_T1, _T2, _Res> { }; template struct _Reference_wrapper_base<_Res(*)(_T1) > : unary_function<_T1, _Res> { }; template struct _Reference_wrapper_base<_Res(*)(_T1, _T2) > : binary_function<_T1, _T2, _Res> { }; template::value> struct _Reference_wrapper_base_memfun : _Reference_wrapper_base<_Tp> { }; template struct _Reference_wrapper_base_memfun<_MemFunPtr, true> : _Mem_fn_traits<_MemFunPtr>::__maybe_type { using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type; }; # 293 "/usr/include/c++/10/bits/refwrap.h" 3 template class reference_wrapper : public _Reference_wrapper_base_memfun::type> { _Tp* _M_data; static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); } static void _S_fun(_Tp&&) = delete; template> using __not_same = typename enable_if::value>::type; public: typedef _Tp type; template, typename = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))> reference_wrapper(_Up&& __uref) noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>()))) : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref))) { } reference_wrapper(const reference_wrapper&) = default; reference_wrapper& operator=(const reference_wrapper&) = default; operator _Tp&() const noexcept { return this->get(); } _Tp& get() const noexcept { return *_M_data; } template typename result_of<_Tp&(_Args&&...)>::type operator()(_Args&&... __args) const { return std::__invoke(get(), std::forward<_Args>(__args)...); } }; # 361 "/usr/include/c++/10/bits/refwrap.h" 3 template inline reference_wrapper<_Tp> ref(_Tp& __t) noexcept { return reference_wrapper<_Tp>(__t); } template inline reference_wrapper cref(const _Tp& __t) noexcept { return reference_wrapper(__t); } template void ref(const _Tp&&) = delete; template void cref(const _Tp&&) = delete; template inline reference_wrapper<_Tp> ref(reference_wrapper<_Tp> __t) noexcept { return __t; } template inline reference_wrapper cref(reference_wrapper<_Tp> __t) noexcept { return { __t.get() }; } } # 55 "/usr/include/c++/10/bits/shared_ptr_base.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template class auto_ptr; #pragma GCC diagnostic pop class bad_weak_ptr : public std::exception { public: virtual char const* what() const noexcept; virtual ~bad_weak_ptr() noexcept; }; inline void __throw_bad_weak_ptr() { (__builtin_abort()); } using __gnu_cxx::_Lock_policy; using __gnu_cxx::__default_lock_policy; using __gnu_cxx::_S_single; using __gnu_cxx::_S_mutex; using __gnu_cxx::_S_atomic; template<_Lock_policy _Lp> class _Mutex_base { protected: enum { _S_need_barriers = 0 }; }; template<> class _Mutex_base<_S_mutex> : public __gnu_cxx::__mutex { protected: enum { _S_need_barriers = 1 }; }; template<_Lock_policy _Lp = __default_lock_policy> class _Sp_counted_base : public _Mutex_base<_Lp> { public: _Sp_counted_base() noexcept : _M_use_count(1), _M_weak_count(1) { } virtual ~_Sp_counted_base() noexcept { } virtual void _M_dispose() noexcept = 0; virtual void _M_destroy() noexcept { delete this; } virtual void* _M_get_deleter(const std::type_info&) noexcept = 0; void _M_add_ref_copy() { __gnu_cxx::__atomic_add_dispatch(&_M_use_count, 1); } void _M_add_ref_lock(); bool _M_add_ref_lock_nothrow(); void _M_release() noexcept { ; if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1) { ; _M_dispose(); if (_Mutex_base<_Lp>::_S_need_barriers) { __atomic_thread_fence (4); } ; if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1) { ; _M_destroy(); } } } void _M_weak_add_ref() noexcept { __gnu_cxx::__atomic_add_dispatch(&_M_weak_count, 1); } void _M_weak_release() noexcept { ; if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1) { ; if (_Mutex_base<_Lp>::_S_need_barriers) { __atomic_thread_fence (4); } _M_destroy(); } } long _M_get_use_count() const noexcept { return __atomic_load_n(&_M_use_count, 0); } private: _Sp_counted_base(_Sp_counted_base const&) = delete; _Sp_counted_base& operator=(_Sp_counted_base const&) = delete; _Atomic_word _M_use_count; _Atomic_word _M_weak_count; }; template<> inline void _Sp_counted_base<_S_single>:: _M_add_ref_lock() { if (_M_use_count == 0) __throw_bad_weak_ptr(); ++_M_use_count; } template<> inline void _Sp_counted_base<_S_mutex>:: _M_add_ref_lock() { __gnu_cxx::__scoped_lock sentry(*this); if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0) { _M_use_count = 0; __throw_bad_weak_ptr(); } } template<> inline void _Sp_counted_base<_S_atomic>:: _M_add_ref_lock() { _Atomic_word __count = _M_get_use_count(); do { if (__count == 0) __throw_bad_weak_ptr(); } while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1, true, 4, 0)); } template<> inline bool _Sp_counted_base<_S_single>:: _M_add_ref_lock_nothrow() { if (_M_use_count == 0) return false; ++_M_use_count; return true; } template<> inline bool _Sp_counted_base<_S_mutex>:: _M_add_ref_lock_nothrow() { __gnu_cxx::__scoped_lock sentry(*this); if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0) { _M_use_count = 0; return false; } return true; } template<> inline bool _Sp_counted_base<_S_atomic>:: _M_add_ref_lock_nothrow() { _Atomic_word __count = _M_get_use_count(); do { if (__count == 0) return false; } while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1, true, 4, 0)); return true; } template<> inline void _Sp_counted_base<_S_single>::_M_add_ref_copy() { ++_M_use_count; } template<> inline void _Sp_counted_base<_S_single>::_M_release() noexcept { if (--_M_use_count == 0) { _M_dispose(); if (--_M_weak_count == 0) _M_destroy(); } } template<> inline void _Sp_counted_base<_S_single>::_M_weak_add_ref() noexcept { ++_M_weak_count; } template<> inline void _Sp_counted_base<_S_single>::_M_weak_release() noexcept { if (--_M_weak_count == 0) _M_destroy(); } template<> inline long _Sp_counted_base<_S_single>::_M_get_use_count() const noexcept { return _M_use_count; } template class __shared_ptr; template class __weak_ptr; template class __enable_shared_from_this; template class shared_ptr; template class weak_ptr; template struct owner_less; template class enable_shared_from_this; template<_Lock_policy _Lp = __default_lock_policy> class __weak_count; template<_Lock_policy _Lp = __default_lock_policy> class __shared_count; template class _Sp_counted_ptr final : public _Sp_counted_base<_Lp> { public: explicit _Sp_counted_ptr(_Ptr __p) noexcept : _M_ptr(__p) { } virtual void _M_dispose() noexcept { delete _M_ptr; } virtual void _M_destroy() noexcept { delete this; } virtual void* _M_get_deleter(const std::type_info&) noexcept { return nullptr; } _Sp_counted_ptr(const _Sp_counted_ptr&) = delete; _Sp_counted_ptr& operator=(const _Sp_counted_ptr&) = delete; private: _Ptr _M_ptr; }; template<> inline void _Sp_counted_ptr::_M_dispose() noexcept { } template<> inline void _Sp_counted_ptr::_M_dispose() noexcept { } template<> inline void _Sp_counted_ptr::_M_dispose() noexcept { } template struct _Sp_ebo_helper; template struct _Sp_ebo_helper<_Nm, _Tp, true> : private _Tp { explicit _Sp_ebo_helper(const _Tp& __tp) : _Tp(__tp) { } explicit _Sp_ebo_helper(_Tp&& __tp) : _Tp(std::move(__tp)) { } static _Tp& _S_get(_Sp_ebo_helper& __eboh) { return static_cast<_Tp&>(__eboh); } }; template struct _Sp_ebo_helper<_Nm, _Tp, false> { explicit _Sp_ebo_helper(const _Tp& __tp) : _M_tp(__tp) { } explicit _Sp_ebo_helper(_Tp&& __tp) : _M_tp(std::move(__tp)) { } static _Tp& _S_get(_Sp_ebo_helper& __eboh) { return __eboh._M_tp; } private: _Tp _M_tp; }; template class _Sp_counted_deleter final : public _Sp_counted_base<_Lp> { class _Impl : _Sp_ebo_helper<0, _Deleter>, _Sp_ebo_helper<1, _Alloc> { typedef _Sp_ebo_helper<0, _Deleter> _Del_base; typedef _Sp_ebo_helper<1, _Alloc> _Alloc_base; public: _Impl(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept : _M_ptr(__p), _Del_base(std::move(__d)), _Alloc_base(__a) { } _Deleter& _M_del() noexcept { return _Del_base::_S_get(*this); } _Alloc& _M_alloc() noexcept { return _Alloc_base::_S_get(*this); } _Ptr _M_ptr; }; public: using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_deleter>; _Sp_counted_deleter(_Ptr __p, _Deleter __d) noexcept : _M_impl(__p, std::move(__d), _Alloc()) { } _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept : _M_impl(__p, std::move(__d), __a) { } ~_Sp_counted_deleter() noexcept { } virtual void _M_dispose() noexcept { _M_impl._M_del()(_M_impl._M_ptr); } virtual void _M_destroy() noexcept { __allocator_type __a(_M_impl._M_alloc()); __allocated_ptr<__allocator_type> __guard_ptr{ __a, this }; this->~_Sp_counted_deleter(); } virtual void* _M_get_deleter(const std::type_info& __ti) noexcept { return nullptr; } private: _Impl _M_impl; }; struct _Sp_make_shared_tag { private: template friend class _Sp_counted_ptr_inplace; static const type_info& _S_ti() noexcept __attribute__ ((__visibility__ ("default"))) { alignas(type_info) static constexpr char __tag[sizeof(type_info)] = { }; return reinterpret_cast(__tag); } static bool _S_eq(const type_info&) noexcept; }; template struct _Sp_alloc_shared_tag { const _Alloc& _M_a; }; template class _Sp_counted_ptr_inplace final : public _Sp_counted_base<_Lp> { class _Impl : _Sp_ebo_helper<0, _Alloc> { typedef _Sp_ebo_helper<0, _Alloc> _A_base; public: explicit _Impl(_Alloc __a) noexcept : _A_base(__a) { } _Alloc& _M_alloc() noexcept { return _A_base::_S_get(*this); } __gnu_cxx::__aligned_buffer<_Tp> _M_storage; }; public: using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_ptr_inplace>; template _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args) : _M_impl(__a) { allocator_traits<_Alloc>::construct(__a, _M_ptr(), std::forward<_Args>(__args)...); } ~_Sp_counted_ptr_inplace() noexcept { } virtual void _M_dispose() noexcept { allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr()); } virtual void _M_destroy() noexcept { __allocator_type __a(_M_impl._M_alloc()); __allocated_ptr<__allocator_type> __guard_ptr{ __a, this }; this->~_Sp_counted_ptr_inplace(); } private: friend class __shared_count<_Lp>; virtual void* _M_get_deleter(const std::type_info& __ti) noexcept override { auto __ptr = const_cast::type*>(_M_ptr()); if (&__ti == &_Sp_make_shared_tag::_S_ti() || _Sp_make_shared_tag::_S_eq(__ti) ) return __ptr; return nullptr; } _Tp* _M_ptr() noexcept { return _M_impl._M_storage._M_ptr(); } _Impl _M_impl; }; struct __sp_array_delete { template void operator()(_Yp* __p) const { delete[] __p; } }; template<_Lock_policy _Lp> class __shared_count { template struct __not_alloc_shared_tag { using type = void; }; template struct __not_alloc_shared_tag<_Sp_alloc_shared_tag<_Tp>> { }; public: constexpr __shared_count() noexcept : _M_pi(0) { } template explicit __shared_count(_Ptr __p) : _M_pi(0) { if (true) { _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p); } if (false) { delete __p; ; } } template __shared_count(_Ptr __p, false_type) : __shared_count(__p) { } template __shared_count(_Ptr __p, true_type) : __shared_count(__p, __sp_array_delete{}, allocator()) { } template::type> __shared_count(_Ptr __p, _Deleter __d) : __shared_count(__p, std::move(__d), allocator()) { } template::type> __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0) { typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type; if (true) { typename _Sp_cd_type::__allocator_type __a2(__a); auto __guard = std::__allocate_guarded(__a2); _Sp_cd_type* __mem = __guard.get(); ::new (__mem) _Sp_cd_type(__p, std::move(__d), std::move(__a)); _M_pi = __mem; __guard = nullptr; } if (false) { __d(__p); ; } } template __shared_count(_Tp*& __p, _Sp_alloc_shared_tag<_Alloc> __a, _Args&&... __args) { typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type; typename _Sp_cp_type::__allocator_type __a2(__a._M_a); auto __guard = std::__allocate_guarded(__a2); _Sp_cp_type* __mem = __guard.get(); auto __pi = ::new (__mem) _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...); __guard = nullptr; _M_pi = __pi; __p = __pi->_M_ptr(); } #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template explicit __shared_count(std::auto_ptr<_Tp>&& __r); #pragma GCC diagnostic pop template explicit __shared_count(std::unique_ptr<_Tp, _Del>&& __r) : _M_pi(0) { if (__r.get() == nullptr) return; using _Ptr = typename unique_ptr<_Tp, _Del>::pointer; using _Del2 = typename conditional::value, reference_wrapper::type>, _Del>::type; using _Sp_cd_type = _Sp_counted_deleter<_Ptr, _Del2, allocator, _Lp>; using _Alloc = allocator<_Sp_cd_type>; using _Alloc_traits = allocator_traits<_Alloc>; _Alloc __a; _Sp_cd_type* __mem = _Alloc_traits::allocate(__a, 1); _Alloc_traits::construct(__a, __mem, __r.release(), __r.get_deleter()); _M_pi = __mem; } explicit __shared_count(const __weak_count<_Lp>& __r); explicit __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t); ~__shared_count() noexcept { if (_M_pi != nullptr) _M_pi->_M_release(); } __shared_count(const __shared_count& __r) noexcept : _M_pi(__r._M_pi) { if (_M_pi != 0) _M_pi->_M_add_ref_copy(); } __shared_count& operator=(const __shared_count& __r) noexcept { _Sp_counted_base<_Lp>* __tmp = __r._M_pi; if (__tmp != _M_pi) { if (__tmp != 0) __tmp->_M_add_ref_copy(); if (_M_pi != 0) _M_pi->_M_release(); _M_pi = __tmp; } return *this; } void _M_swap(__shared_count& __r) noexcept { _Sp_counted_base<_Lp>* __tmp = __r._M_pi; __r._M_pi = _M_pi; _M_pi = __tmp; } long _M_get_use_count() const noexcept { return _M_pi != 0 ? _M_pi->_M_get_use_count() : 0; } bool _M_unique() const noexcept { return this->_M_get_use_count() == 1; } void* _M_get_deleter(const std::type_info& __ti) const noexcept { return _M_pi ? _M_pi->_M_get_deleter(__ti) : nullptr; } bool _M_less(const __shared_count& __rhs) const noexcept { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } bool _M_less(const __weak_count<_Lp>& __rhs) const noexcept { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } friend inline bool operator==(const __shared_count& __a, const __shared_count& __b) noexcept { return __a._M_pi == __b._M_pi; } private: friend class __weak_count<_Lp>; _Sp_counted_base<_Lp>* _M_pi; }; template<_Lock_policy _Lp> class __weak_count { public: constexpr __weak_count() noexcept : _M_pi(nullptr) { } __weak_count(const __shared_count<_Lp>& __r) noexcept : _M_pi(__r._M_pi) { if (_M_pi != nullptr) _M_pi->_M_weak_add_ref(); } __weak_count(const __weak_count& __r) noexcept : _M_pi(__r._M_pi) { if (_M_pi != nullptr) _M_pi->_M_weak_add_ref(); } __weak_count(__weak_count&& __r) noexcept : _M_pi(__r._M_pi) { __r._M_pi = nullptr; } ~__weak_count() noexcept { if (_M_pi != nullptr) _M_pi->_M_weak_release(); } __weak_count& operator=(const __shared_count<_Lp>& __r) noexcept { _Sp_counted_base<_Lp>* __tmp = __r._M_pi; if (__tmp != nullptr) __tmp->_M_weak_add_ref(); if (_M_pi != nullptr) _M_pi->_M_weak_release(); _M_pi = __tmp; return *this; } __weak_count& operator=(const __weak_count& __r) noexcept { _Sp_counted_base<_Lp>* __tmp = __r._M_pi; if (__tmp != nullptr) __tmp->_M_weak_add_ref(); if (_M_pi != nullptr) _M_pi->_M_weak_release(); _M_pi = __tmp; return *this; } __weak_count& operator=(__weak_count&& __r) noexcept { if (_M_pi != nullptr) _M_pi->_M_weak_release(); _M_pi = __r._M_pi; __r._M_pi = nullptr; return *this; } void _M_swap(__weak_count& __r) noexcept { _Sp_counted_base<_Lp>* __tmp = __r._M_pi; __r._M_pi = _M_pi; _M_pi = __tmp; } long _M_get_use_count() const noexcept { return _M_pi != nullptr ? _M_pi->_M_get_use_count() : 0; } bool _M_less(const __weak_count& __rhs) const noexcept { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } bool _M_less(const __shared_count<_Lp>& __rhs) const noexcept { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } friend inline bool operator==(const __weak_count& __a, const __weak_count& __b) noexcept { return __a._M_pi == __b._M_pi; } private: friend class __shared_count<_Lp>; _Sp_counted_base<_Lp>* _M_pi; }; template<_Lock_policy _Lp> inline __shared_count<_Lp>::__shared_count(const __weak_count<_Lp>& __r) : _M_pi(__r._M_pi) { if (_M_pi != nullptr) _M_pi->_M_add_ref_lock(); else __throw_bad_weak_ptr(); } template<_Lock_policy _Lp> inline __shared_count<_Lp>:: __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) : _M_pi(__r._M_pi) { if (_M_pi != nullptr) if (!_M_pi->_M_add_ref_lock_nothrow()) _M_pi = nullptr; } template struct __sp_compatible_with : false_type { }; template struct __sp_compatible_with<_Yp*, _Tp*> : is_convertible<_Yp*, _Tp*>::type { }; template struct __sp_compatible_with<_Up(*)[_Nm], _Up(*)[]> : true_type { }; template struct __sp_compatible_with<_Up(*)[_Nm], const _Up(*)[]> : true_type { }; template struct __sp_compatible_with<_Up(*)[_Nm], volatile _Up(*)[]> : true_type { }; template struct __sp_compatible_with<_Up(*)[_Nm], const volatile _Up(*)[]> : true_type { }; template struct __sp_is_constructible_arrN : false_type { }; template struct __sp_is_constructible_arrN<_Up, _Nm, _Yp, __void_t<_Yp[_Nm]>> : is_convertible<_Yp(*)[_Nm], _Up(*)[_Nm]>::type { }; template struct __sp_is_constructible_arr : false_type { }; template struct __sp_is_constructible_arr<_Up, _Yp, __void_t<_Yp[]>> : is_convertible<_Yp(*)[], _Up(*)[]>::type { }; template struct __sp_is_constructible; template struct __sp_is_constructible<_Up[_Nm], _Yp> : __sp_is_constructible_arrN<_Up, _Nm, _Yp>::type { }; template struct __sp_is_constructible<_Up[], _Yp> : __sp_is_constructible_arr<_Up, _Yp>::type { }; template struct __sp_is_constructible : is_convertible<_Yp*, _Tp*>::type { }; template::value, bool = is_void<_Tp>::value> class __shared_ptr_access { public: using element_type = _Tp; element_type& operator*() const noexcept { ; return *_M_get(); } element_type* operator->() const noexcept { ; return _M_get(); } private: element_type* _M_get() const noexcept { return static_cast*>(this)->get(); } }; template class __shared_ptr_access<_Tp, _Lp, false, true> { public: using element_type = _Tp; element_type* operator->() const noexcept { auto __ptr = static_cast*>(this)->get(); ; return __ptr; } }; template class __shared_ptr_access<_Tp, _Lp, true, false> { public: using element_type = typename remove_extent<_Tp>::type; [[__deprecated__("shared_ptr::operator* is absent from C++17")]] element_type& operator*() const noexcept { ; return *_M_get(); } [[__deprecated__("shared_ptr::operator-> is absent from C++17")]] element_type* operator->() const noexcept { ; return _M_get(); } element_type& operator[](ptrdiff_t __i) const { ; ; return _M_get()[__i]; } private: element_type* _M_get() const noexcept { return static_cast*>(this)->get(); } }; template class __shared_ptr : public __shared_ptr_access<_Tp, _Lp> { public: using element_type = typename remove_extent<_Tp>::type; private: template using _SafeConv = typename enable_if<__sp_is_constructible<_Tp, _Yp>::value>::type; template using _Compatible = typename enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type; template using _Assignable = _Compatible<_Yp, __shared_ptr&>; template::pointer> using _UniqCompatible = typename enable_if<__and_< __sp_compatible_with<_Yp*, _Tp*>, is_convertible<_Ptr, element_type*> >::value, _Res>::type; template using _UniqAssignable = _UniqCompatible<_Yp, _Del, __shared_ptr&>; public: constexpr __shared_ptr() noexcept : _M_ptr(0), _M_refcount() { } template> explicit __shared_ptr(_Yp* __p) : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type()) { static_assert( !is_void<_Yp>::value, "incomplete type" ); static_assert( sizeof(_Yp) > 0, "incomplete type" ); _M_enable_shared_from_this_with(__p); } template> __shared_ptr(_Yp* __p, _Deleter __d) : _M_ptr(__p), _M_refcount(__p, std::move(__d)) { static_assert(__is_invocable<_Deleter&, _Yp*&>::value, "deleter expression d(p) is well-formed"); _M_enable_shared_from_this_with(__p); } template> __shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a) : _M_ptr(__p), _M_refcount(__p, std::move(__d), std::move(__a)) { static_assert(__is_invocable<_Deleter&, _Yp*&>::value, "deleter expression d(p) is well-formed"); _M_enable_shared_from_this_with(__p); } template __shared_ptr(nullptr_t __p, _Deleter __d) : _M_ptr(0), _M_refcount(__p, std::move(__d)) { } template __shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a) : _M_ptr(0), _M_refcount(__p, std::move(__d), std::move(__a)) { } template __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r, element_type* __p) noexcept : _M_ptr(__p), _M_refcount(__r._M_refcount) { } template __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r, element_type* __p) noexcept : _M_ptr(__p), _M_refcount() { _M_refcount._M_swap(__r._M_refcount); __r._M_ptr = 0; } __shared_ptr(const __shared_ptr&) noexcept = default; __shared_ptr& operator=(const __shared_ptr&) noexcept = default; ~__shared_ptr() = default; template> __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount) { } __shared_ptr(__shared_ptr&& __r) noexcept : _M_ptr(__r._M_ptr), _M_refcount() { _M_refcount._M_swap(__r._M_refcount); __r._M_ptr = 0; } template> __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r) noexcept : _M_ptr(__r._M_ptr), _M_refcount() { _M_refcount._M_swap(__r._M_refcount); __r._M_ptr = 0; } template> explicit __shared_ptr(const __weak_ptr<_Yp, _Lp>& __r) : _M_refcount(__r._M_refcount) { _M_ptr = __r._M_ptr; } template> __shared_ptr(unique_ptr<_Yp, _Del>&& __r) : _M_ptr(__r.get()), _M_refcount() { auto __raw = __to_address(__r.get()); _M_refcount = __shared_count<_Lp>(std::move(__r)); _M_enable_shared_from_this_with(__raw); } protected: template>, is_array<_Tp1>, is_convertible::pointer, _Tp*> >::value, bool>::type = true> __shared_ptr(unique_ptr<_Tp1, _Del>&& __r, __sp_array_delete) : _M_ptr(__r.get()), _M_refcount() { auto __raw = __to_address(__r.get()); _M_refcount = __shared_count<_Lp>(std::move(__r)); _M_enable_shared_from_this_with(__raw); } public: #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template> __shared_ptr(auto_ptr<_Yp>&& __r); #pragma GCC diagnostic pop constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { } template _Assignable<_Yp> operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept { _M_ptr = __r._M_ptr; _M_refcount = __r._M_refcount; return *this; } #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template _Assignable<_Yp> operator=(auto_ptr<_Yp>&& __r) { __shared_ptr(std::move(__r)).swap(*this); return *this; } #pragma GCC diagnostic pop __shared_ptr& operator=(__shared_ptr&& __r) noexcept { __shared_ptr(std::move(__r)).swap(*this); return *this; } template _Assignable<_Yp> operator=(__shared_ptr<_Yp, _Lp>&& __r) noexcept { __shared_ptr(std::move(__r)).swap(*this); return *this; } template _UniqAssignable<_Yp, _Del> operator=(unique_ptr<_Yp, _Del>&& __r) { __shared_ptr(std::move(__r)).swap(*this); return *this; } void reset() noexcept { __shared_ptr().swap(*this); } template _SafeConv<_Yp> reset(_Yp* __p) { ; __shared_ptr(__p).swap(*this); } template _SafeConv<_Yp> reset(_Yp* __p, _Deleter __d) { __shared_ptr(__p, std::move(__d)).swap(*this); } template _SafeConv<_Yp> reset(_Yp* __p, _Deleter __d, _Alloc __a) { __shared_ptr(__p, std::move(__d), std::move(__a)).swap(*this); } element_type* get() const noexcept { return _M_ptr; } explicit operator bool() const { return _M_ptr == 0 ? false : true; } bool unique() const noexcept { return _M_refcount._M_unique(); } long use_count() const noexcept { return _M_refcount._M_get_use_count(); } void swap(__shared_ptr<_Tp, _Lp>& __other) noexcept { std::swap(_M_ptr, __other._M_ptr); _M_refcount._M_swap(__other._M_refcount); } # 1353 "/usr/include/c++/10/bits/shared_ptr_base.h" 3 template bool owner_before(__shared_ptr<_Tp1, _Lp> const& __rhs) const noexcept { return _M_refcount._M_less(__rhs._M_refcount); } template bool owner_before(__weak_ptr<_Tp1, _Lp> const& __rhs) const noexcept { return _M_refcount._M_less(__rhs._M_refcount); } protected: template __shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args) : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...) { _M_enable_shared_from_this_with(_M_ptr); } template friend __shared_ptr<_Tp1, _Lp1> __allocate_shared(const _Alloc& __a, _Args&&... __args); __shared_ptr(const __weak_ptr<_Tp, _Lp>& __r, std::nothrow_t) : _M_refcount(__r._M_refcount, std::nothrow) { _M_ptr = _M_refcount._M_get_use_count() ? __r._M_ptr : nullptr; } friend class __weak_ptr<_Tp, _Lp>; private: template using __esft_base_t = decltype(__enable_shared_from_this_base( std::declval&>(), std::declval<_Yp*>())); template struct __has_esft_base : false_type { }; template struct __has_esft_base<_Yp, __void_t<__esft_base_t<_Yp>>> : __not_> { }; template::type> typename enable_if<__has_esft_base<_Yp2>::value>::type _M_enable_shared_from_this_with(_Yp* __p) noexcept { if (auto __base = __enable_shared_from_this_base(_M_refcount, __p)) __base->_M_weak_assign(const_cast<_Yp2*>(__p), _M_refcount); } template::type> typename enable_if::value>::type _M_enable_shared_from_this_with(_Yp*) noexcept { } void* _M_get_deleter(const std::type_info& __ti) const noexcept { return _M_refcount._M_get_deleter(__ti); } template friend class __shared_ptr; template friend class __weak_ptr; template friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&) noexcept; template friend _Del* get_deleter(const shared_ptr<_Tp1>&) noexcept; element_type* _M_ptr; __shared_count<_Lp> _M_refcount; }; template inline bool operator==(const __shared_ptr<_Tp1, _Lp>& __a, const __shared_ptr<_Tp2, _Lp>& __b) noexcept { return __a.get() == __b.get(); } template inline bool operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept { return !__a; } template inline bool operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept { return !__a; } template inline bool operator!=(const __shared_ptr<_Tp1, _Lp>& __a, const __shared_ptr<_Tp2, _Lp>& __b) noexcept { return __a.get() != __b.get(); } template inline bool operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept { return (bool)__a; } template inline bool operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept { return (bool)__a; } template inline bool operator<(const __shared_ptr<_Tp, _Lp>& __a, const __shared_ptr<_Up, _Lp>& __b) noexcept { using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type; using _Up_elt = typename __shared_ptr<_Up, _Lp>::element_type; using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type; return less<_Vp>()(__a.get(), __b.get()); } template inline bool operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept { using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type; return less<_Tp_elt*>()(__a.get(), nullptr); } template inline bool operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept { using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type; return less<_Tp_elt*>()(nullptr, __a.get()); } template inline bool operator<=(const __shared_ptr<_Tp1, _Lp>& __a, const __shared_ptr<_Tp2, _Lp>& __b) noexcept { return !(__b < __a); } template inline bool operator<=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept { return !(nullptr < __a); } template inline bool operator<=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept { return !(__a < nullptr); } template inline bool operator>(const __shared_ptr<_Tp1, _Lp>& __a, const __shared_ptr<_Tp2, _Lp>& __b) noexcept { return (__b < __a); } template inline bool operator>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept { return nullptr < __a; } template inline bool operator>(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept { return __a < nullptr; } template inline bool operator>=(const __shared_ptr<_Tp1, _Lp>& __a, const __shared_ptr<_Tp2, _Lp>& __b) noexcept { return !(__a < __b); } template inline bool operator>=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept { return !(__a < nullptr); } template inline bool operator>=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept { return !(nullptr < __a); } template inline void swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept { __a.swap(__b); } # 1554 "/usr/include/c++/10/bits/shared_ptr_base.h" 3 template inline __shared_ptr<_Tp, _Lp> static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept { using _Sp = __shared_ptr<_Tp, _Lp>; return _Sp(__r, static_cast(__r.get())); } template inline __shared_ptr<_Tp, _Lp> const_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept { using _Sp = __shared_ptr<_Tp, _Lp>; return _Sp(__r, const_cast(__r.get())); } template inline __shared_ptr<_Tp, _Lp> dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept { using _Sp = __shared_ptr<_Tp, _Lp>; if (auto* __p = dynamic_cast(__r.get())) return _Sp(__r, __p); return _Sp(); } # 1600 "/usr/include/c++/10/bits/shared_ptr_base.h" 3 template class __weak_ptr { template using _Compatible = typename enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type; template using _Assignable = _Compatible<_Yp, __weak_ptr&>; public: using element_type = typename remove_extent<_Tp>::type; constexpr __weak_ptr() noexcept : _M_ptr(nullptr), _M_refcount() { } __weak_ptr(const __weak_ptr&) noexcept = default; ~__weak_ptr() = default; # 1636 "/usr/include/c++/10/bits/shared_ptr_base.h" 3 template> __weak_ptr(const __weak_ptr<_Yp, _Lp>& __r) noexcept : _M_refcount(__r._M_refcount) { _M_ptr = __r.lock().get(); } template> __weak_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount) { } __weak_ptr(__weak_ptr&& __r) noexcept : _M_ptr(__r._M_ptr), _M_refcount(std::move(__r._M_refcount)) { __r._M_ptr = nullptr; } template> __weak_ptr(__weak_ptr<_Yp, _Lp>&& __r) noexcept : _M_ptr(__r.lock().get()), _M_refcount(std::move(__r._M_refcount)) { __r._M_ptr = nullptr; } __weak_ptr& operator=(const __weak_ptr& __r) noexcept = default; template _Assignable<_Yp> operator=(const __weak_ptr<_Yp, _Lp>& __r) noexcept { _M_ptr = __r.lock().get(); _M_refcount = __r._M_refcount; return *this; } template _Assignable<_Yp> operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept { _M_ptr = __r._M_ptr; _M_refcount = __r._M_refcount; return *this; } __weak_ptr& operator=(__weak_ptr&& __r) noexcept { _M_ptr = __r._M_ptr; _M_refcount = std::move(__r._M_refcount); __r._M_ptr = nullptr; return *this; } template _Assignable<_Yp> operator=(__weak_ptr<_Yp, _Lp>&& __r) noexcept { _M_ptr = __r.lock().get(); _M_refcount = std::move(__r._M_refcount); __r._M_ptr = nullptr; return *this; } __shared_ptr<_Tp, _Lp> lock() const noexcept { return __shared_ptr(*this, std::nothrow); } long use_count() const noexcept { return _M_refcount._M_get_use_count(); } bool expired() const noexcept { return _M_refcount._M_get_use_count() == 0; } template bool owner_before(const __shared_ptr<_Tp1, _Lp>& __rhs) const noexcept { return _M_refcount._M_less(__rhs._M_refcount); } template bool owner_before(const __weak_ptr<_Tp1, _Lp>& __rhs) const noexcept { return _M_refcount._M_less(__rhs._M_refcount); } void reset() noexcept { __weak_ptr().swap(*this); } void swap(__weak_ptr& __s) noexcept { std::swap(_M_ptr, __s._M_ptr); _M_refcount._M_swap(__s._M_refcount); } private: void _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount) noexcept { if (use_count() == 0) { _M_ptr = __ptr; _M_refcount = __refcount; } } template friend class __shared_ptr; template friend class __weak_ptr; friend class __enable_shared_from_this<_Tp, _Lp>; friend class enable_shared_from_this<_Tp>; element_type* _M_ptr; __weak_count<_Lp> _M_refcount; }; template inline void swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept { __a.swap(__b); } template struct _Sp_owner_less : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __lhs, const _Tp& __rhs) const noexcept { return __lhs.owner_before(__rhs); } bool operator()(const _Tp& __lhs, const _Tp1& __rhs) const noexcept { return __lhs.owner_before(__rhs); } bool operator()(const _Tp1& __lhs, const _Tp& __rhs) const noexcept { return __lhs.owner_before(__rhs); } }; template<> struct _Sp_owner_less { template auto operator()(const _Tp& __lhs, const _Up& __rhs) const noexcept -> decltype(__lhs.owner_before(__rhs)) { return __lhs.owner_before(__rhs); } using is_transparent = void; }; template struct owner_less<__shared_ptr<_Tp, _Lp>> : public _Sp_owner_less<__shared_ptr<_Tp, _Lp>, __weak_ptr<_Tp, _Lp>> { }; template struct owner_less<__weak_ptr<_Tp, _Lp>> : public _Sp_owner_less<__weak_ptr<_Tp, _Lp>, __shared_ptr<_Tp, _Lp>> { }; template class __enable_shared_from_this { protected: constexpr __enable_shared_from_this() noexcept { } __enable_shared_from_this(const __enable_shared_from_this&) noexcept { } __enable_shared_from_this& operator=(const __enable_shared_from_this&) noexcept { return *this; } ~__enable_shared_from_this() { } public: __shared_ptr<_Tp, _Lp> shared_from_this() { return __shared_ptr<_Tp, _Lp>(this->_M_weak_this); } __shared_ptr shared_from_this() const { return __shared_ptr(this->_M_weak_this); } __weak_ptr<_Tp, _Lp> weak_from_this() noexcept { return this->_M_weak_this; } __weak_ptr weak_from_this() const noexcept { return this->_M_weak_this; } private: template void _M_weak_assign(_Tp1* __p, const __shared_count<_Lp>& __n) const noexcept { _M_weak_this._M_assign(__p, __n); } friend const __enable_shared_from_this* __enable_shared_from_this_base(const __shared_count<_Lp>&, const __enable_shared_from_this* __p) { return __p; } template friend class __shared_ptr; mutable __weak_ptr<_Tp, _Lp> _M_weak_this; }; template inline __shared_ptr<_Tp, _Lp> __allocate_shared(const _Alloc& __a, _Args&&... __args) { return __shared_ptr<_Tp, _Lp>(_Sp_alloc_shared_tag<_Alloc>{__a}, std::forward<_Args>(__args)...); } template inline __shared_ptr<_Tp, _Lp> __make_shared(_Args&&... __args) { typedef typename std::remove_const<_Tp>::type _Tp_nc; return std::__allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(), std::forward<_Args>(__args)...); } template struct hash<__shared_ptr<_Tp, _Lp>> : public __hash_base> { size_t operator()(const __shared_ptr<_Tp, _Lp>& __s) const noexcept { return hash::element_type*>()( __s.get()); } }; } # 53 "/usr/include/c++/10/bits/shared_ptr.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 67 "/usr/include/c++/10/bits/shared_ptr.h" 3 template inline std::basic_ostream<_Ch, _Tr>& operator<<(std::basic_ostream<_Ch, _Tr>& __os, const __shared_ptr<_Tp, _Lp>& __p) { __os << __p.get(); return __os; } template inline _Del* get_deleter(const __shared_ptr<_Tp, _Lp>& __p) noexcept { return 0; } template inline _Del* get_deleter(const shared_ptr<_Tp>& __p) noexcept { return 0; } # 120 "/usr/include/c++/10/bits/shared_ptr.h" 3 template class shared_ptr : public __shared_ptr<_Tp> { template using _Constructible = typename enable_if< is_constructible<__shared_ptr<_Tp>, _Args...>::value >::type; template using _Assignable = typename enable_if< is_assignable<__shared_ptr<_Tp>&, _Arg>::value, shared_ptr& >::type; public: using element_type = typename __shared_ptr<_Tp>::element_type; # 147 "/usr/include/c++/10/bits/shared_ptr.h" 3 constexpr shared_ptr() noexcept : __shared_ptr<_Tp>() { } shared_ptr(const shared_ptr&) noexcept = default; template> explicit shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { } # 174 "/usr/include/c++/10/bits/shared_ptr.h" 3 template> shared_ptr(_Yp* __p, _Deleter __d) : __shared_ptr<_Tp>(__p, std::move(__d)) { } # 192 "/usr/include/c++/10/bits/shared_ptr.h" 3 template shared_ptr(nullptr_t __p, _Deleter __d) : __shared_ptr<_Tp>(__p, std::move(__d)) { } # 211 "/usr/include/c++/10/bits/shared_ptr.h" 3 template> shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a) : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { } # 231 "/usr/include/c++/10/bits/shared_ptr.h" 3 template shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a) : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { } # 255 "/usr/include/c++/10/bits/shared_ptr.h" 3 template shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) noexcept : __shared_ptr<_Tp>(__r, __p) { } # 293 "/usr/include/c++/10/bits/shared_ptr.h" 3 template&>> shared_ptr(const shared_ptr<_Yp>& __r) noexcept : __shared_ptr<_Tp>(__r) { } shared_ptr(shared_ptr&& __r) noexcept : __shared_ptr<_Tp>(std::move(__r)) { } template>> shared_ptr(shared_ptr<_Yp>&& __r) noexcept : __shared_ptr<_Tp>(std::move(__r)) { } # 323 "/usr/include/c++/10/bits/shared_ptr.h" 3 template&>> explicit shared_ptr(const weak_ptr<_Yp>& __r) : __shared_ptr<_Tp>(__r) { } #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template>> shared_ptr(auto_ptr<_Yp>&& __r); #pragma GCC diagnostic pop template>> shared_ptr(unique_ptr<_Yp, _Del>&& __r) : __shared_ptr<_Tp>(std::move(__r)) { } template, __sp_array_delete>* = 0> shared_ptr(unique_ptr<_Yp, _Del>&& __r) : __shared_ptr<_Tp>(std::move(__r), __sp_array_delete()) { } constexpr shared_ptr(nullptr_t) noexcept : shared_ptr() { } shared_ptr& operator=(const shared_ptr&) noexcept = default; template _Assignable&> operator=(const shared_ptr<_Yp>& __r) noexcept { this->__shared_ptr<_Tp>::operator=(__r); return *this; } #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template _Assignable> operator=(auto_ptr<_Yp>&& __r) { this->__shared_ptr<_Tp>::operator=(std::move(__r)); return *this; } #pragma GCC diagnostic pop shared_ptr& operator=(shared_ptr&& __r) noexcept { this->__shared_ptr<_Tp>::operator=(std::move(__r)); return *this; } template _Assignable> operator=(shared_ptr<_Yp>&& __r) noexcept { this->__shared_ptr<_Tp>::operator=(std::move(__r)); return *this; } template _Assignable> operator=(unique_ptr<_Yp, _Del>&& __r) { this->__shared_ptr<_Tp>::operator=(std::move(__r)); return *this; } private: template shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args) : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...) { } template friend shared_ptr<_Yp> allocate_shared(const _Alloc& __a, _Args&&... __args); shared_ptr(const weak_ptr<_Tp>& __r, std::nothrow_t) : __shared_ptr<_Tp>(__r, std::nothrow) { } friend class weak_ptr<_Tp>; }; # 434 "/usr/include/c++/10/bits/shared_ptr.h" 3 template inline bool operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept { return __a.get() == __b.get(); } template inline bool operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept { return !__a; } template inline bool operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept { return !__a; } template inline bool operator!=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept { return __a.get() != __b.get(); } template inline bool operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept { return (bool)__a; } template inline bool operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept { return (bool)__a; } template inline bool operator<(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept { using _Tp_elt = typename shared_ptr<_Tp>::element_type; using _Up_elt = typename shared_ptr<_Up>::element_type; using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type; return less<_Vp>()(__a.get(), __b.get()); } template inline bool operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept { using _Tp_elt = typename shared_ptr<_Tp>::element_type; return less<_Tp_elt*>()(__a.get(), nullptr); } template inline bool operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept { using _Tp_elt = typename shared_ptr<_Tp>::element_type; return less<_Tp_elt*>()(nullptr, __a.get()); } template inline bool operator<=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept { return !(__b < __a); } template inline bool operator<=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept { return !(nullptr < __a); } template inline bool operator<=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept { return !(__a < nullptr); } template inline bool operator>(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept { return (__b < __a); } template inline bool operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept { return nullptr < __a; } template inline bool operator>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept { return __a < nullptr; } template inline bool operator>=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept { return !(__a < __b); } template inline bool operator>=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept { return !(__a < nullptr); } template inline bool operator>=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept { return !(nullptr < __a); } template inline void swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept { __a.swap(__b); } template inline shared_ptr<_Tp> static_pointer_cast(const shared_ptr<_Up>& __r) noexcept { using _Sp = shared_ptr<_Tp>; return _Sp(__r, static_cast(__r.get())); } template inline shared_ptr<_Tp> const_pointer_cast(const shared_ptr<_Up>& __r) noexcept { using _Sp = shared_ptr<_Tp>; return _Sp(__r, const_cast(__r.get())); } template inline shared_ptr<_Tp> dynamic_pointer_cast(const shared_ptr<_Up>& __r) noexcept { using _Sp = shared_ptr<_Tp>; if (auto* __p = dynamic_cast(__r.get())) return _Sp(__r, __p); return _Sp(); } # 668 "/usr/include/c++/10/bits/shared_ptr.h" 3 template class weak_ptr : public __weak_ptr<_Tp> { template using _Constructible = typename enable_if< is_constructible<__weak_ptr<_Tp>, _Arg>::value >::type; template using _Assignable = typename enable_if< is_assignable<__weak_ptr<_Tp>&, _Arg>::value, weak_ptr& >::type; public: constexpr weak_ptr() noexcept = default; template&>> weak_ptr(const shared_ptr<_Yp>& __r) noexcept : __weak_ptr<_Tp>(__r) { } weak_ptr(const weak_ptr&) noexcept = default; template&>> weak_ptr(const weak_ptr<_Yp>& __r) noexcept : __weak_ptr<_Tp>(__r) { } weak_ptr(weak_ptr&&) noexcept = default; template>> weak_ptr(weak_ptr<_Yp>&& __r) noexcept : __weak_ptr<_Tp>(std::move(__r)) { } weak_ptr& operator=(const weak_ptr& __r) noexcept = default; template _Assignable&> operator=(const weak_ptr<_Yp>& __r) noexcept { this->__weak_ptr<_Tp>::operator=(__r); return *this; } template _Assignable&> operator=(const shared_ptr<_Yp>& __r) noexcept { this->__weak_ptr<_Tp>::operator=(__r); return *this; } weak_ptr& operator=(weak_ptr&& __r) noexcept = default; template _Assignable> operator=(weak_ptr<_Yp>&& __r) noexcept { this->__weak_ptr<_Tp>::operator=(std::move(__r)); return *this; } shared_ptr<_Tp> lock() const noexcept { return shared_ptr<_Tp>(*this, std::nothrow); } }; # 744 "/usr/include/c++/10/bits/shared_ptr.h" 3 template inline void swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept { __a.swap(__b); } template struct owner_less; template<> struct owner_less : _Sp_owner_less { }; template struct owner_less> : public _Sp_owner_less, weak_ptr<_Tp>> { }; template struct owner_less> : public _Sp_owner_less, shared_ptr<_Tp>> { }; template class enable_shared_from_this { protected: constexpr enable_shared_from_this() noexcept { } enable_shared_from_this(const enable_shared_from_this&) noexcept { } enable_shared_from_this& operator=(const enable_shared_from_this&) noexcept { return *this; } ~enable_shared_from_this() { } public: shared_ptr<_Tp> shared_from_this() { return shared_ptr<_Tp>(this->_M_weak_this); } shared_ptr shared_from_this() const { return shared_ptr(this->_M_weak_this); } weak_ptr<_Tp> weak_from_this() noexcept { return this->_M_weak_this; } weak_ptr weak_from_this() const noexcept { return this->_M_weak_this; } private: template void _M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept { _M_weak_this._M_assign(__p, __n); } friend const enable_shared_from_this* __enable_shared_from_this_base(const __shared_count<>&, const enable_shared_from_this* __p) { return __p; } template friend class __shared_ptr; mutable weak_ptr<_Tp> _M_weak_this; }; # 839 "/usr/include/c++/10/bits/shared_ptr.h" 3 template inline shared_ptr<_Tp> allocate_shared(const _Alloc& __a, _Args&&... __args) { return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a}, std::forward<_Args>(__args)...); } # 854 "/usr/include/c++/10/bits/shared_ptr.h" 3 template inline shared_ptr<_Tp> make_shared(_Args&&... __args) { typedef typename std::remove_cv<_Tp>::type _Tp_nc; return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(), std::forward<_Args>(__args)...); } template struct hash> : public __hash_base> { size_t operator()(const shared_ptr<_Tp>& __s) const noexcept { return std::hash::element_type*>()(__s.get()); } }; # 899 "/usr/include/c++/10/bits/shared_ptr.h" 3 } # 85 "/usr/include/c++/10/memory" 2 3 # 1 "/usr/include/c++/10/bits/shared_ptr_atomic.h" 1 3 # 33 "/usr/include/c++/10/bits/shared_ptr_atomic.h" 3 # 1 "/usr/include/c++/10/bits/atomic_base.h" 1 3 # 33 "/usr/include/c++/10/bits/atomic_base.h" 3 # 34 "/usr/include/c++/10/bits/atomic_base.h" 3 # 1 "/usr/include/c++/10/bits/atomic_lockfree_defines.h" 1 3 # 33 "/usr/include/c++/10/bits/atomic_lockfree_defines.h" 3 # 34 "/usr/include/c++/10/bits/atomic_lockfree_defines.h" 3 # 38 "/usr/include/c++/10/bits/atomic_base.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 74 "/usr/include/c++/10/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(int(__m) | int(__mod)); } constexpr memory_order operator&(memory_order __m, __memory_order_modifier __mod) { return memory_order(int(__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) | __memory_order_modifier(__m & __memory_order_modifier_mask)); } inline __attribute__((__always_inline__)) void atomic_thread_fence(memory_order __m) noexcept { __atomic_thread_fence(int(__m)); } inline __attribute__((__always_inline__)) void atomic_signal_fence(memory_order __m) noexcept { __atomic_signal_fence(int(__m)); } template inline _Tp kill_dependency(_Tp __y) noexcept { _Tp __ret(__y); return __ret; } template struct __atomic_base; # 151 "/usr/include/c++/10/bits/atomic_base.h" 3 template struct atomic; template struct atomic<_Tp*>; typedef bool __atomic_flag_data_type; # 174 "/usr/include/c++/10/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, int(__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, int(__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, int(__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, int(__m)); } private: static constexpr __atomic_flag_data_type _S_init(bool __i) { return __i ? 1 : 0; } }; # 264 "/usr/include/c++/10/bits/atomic_base.h" 3 template struct __atomic_base { using value_type = _ITp; using difference_type = value_type; private: typedef _ITp __int_type; static constexpr int _S_alignment = sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp); alignas(_S_alignment) __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, int(memory_order_seq_cst)); } __int_type operator++() volatile noexcept { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); } __int_type operator--() noexcept { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); } __int_type operator--() volatile noexcept { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); } __int_type operator+=(__int_type __i) noexcept { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); } __int_type operator+=(__int_type __i) volatile noexcept { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); } __int_type operator-=(__int_type __i) noexcept { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); } __int_type operator-=(__int_type __i) volatile noexcept { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); } __int_type operator&=(__int_type __i) noexcept { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); } __int_type operator&=(__int_type __i) volatile noexcept { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); } __int_type operator|=(__int_type __i) noexcept { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); } __int_type operator|=(__int_type __i) volatile noexcept { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); } __int_type operator^=(__int_type __i) noexcept { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); } __int_type operator^=(__int_type __i) volatile noexcept { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); } bool is_lock_free() const noexcept { return __atomic_is_lock_free(sizeof(_M_i), reinterpret_cast(-_S_alignment)); } bool is_lock_free() const volatile noexcept { return __atomic_is_lock_free(sizeof(_M_i), reinterpret_cast(-_S_alignment)); } 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, int(__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, int(__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, int(__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, int(__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, int(__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, int(__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, int(__m1), int(__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, int(__m1), int(__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, int(__m1), int(__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, int(__m1), int(__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, int(__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, int(__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, int(__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, int(__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, int(__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, int(__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, int(__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, int(__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, int(__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, int(__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), int(memory_order_seq_cst)); } __pointer_type operator++() volatile noexcept { return __atomic_add_fetch(&_M_p, _M_type_size(1), int(memory_order_seq_cst)); } __pointer_type operator--() noexcept { return __atomic_sub_fetch(&_M_p, _M_type_size(1), int(memory_order_seq_cst)); } __pointer_type operator--() volatile noexcept { return __atomic_sub_fetch(&_M_p, _M_type_size(1), int(memory_order_seq_cst)); } __pointer_type operator+=(ptrdiff_t __d) noexcept { return __atomic_add_fetch(&_M_p, _M_type_size(__d), int(memory_order_seq_cst)); } __pointer_type operator+=(ptrdiff_t __d) volatile noexcept { return __atomic_add_fetch(&_M_p, _M_type_size(__d), int(memory_order_seq_cst)); } __pointer_type operator-=(ptrdiff_t __d) noexcept { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), int(memory_order_seq_cst)); } __pointer_type operator-=(ptrdiff_t __d) volatile noexcept { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), int(memory_order_seq_cst)); } bool is_lock_free() const noexcept { return __atomic_is_lock_free(sizeof(_M_p), reinterpret_cast(-__alignof(_M_p))); } bool is_lock_free() const volatile noexcept { return __atomic_is_lock_free(sizeof(_M_p), reinterpret_cast(-__alignof(_M_p))); } 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, int(__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, int(__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, int(__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, int(__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, int(__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, int(__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, int(__m1), int(__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, int(__m1), int(__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), int(__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), int(__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), int(__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), int(__m)); } }; # 1700 "/usr/include/c++/10/bits/atomic_base.h" 3 } # 34 "/usr/include/c++/10/bits/shared_ptr_atomic.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 47 "/usr/include/c++/10/bits/shared_ptr_atomic.h" 3 struct _Sp_locker { _Sp_locker(const _Sp_locker&) = delete; _Sp_locker& operator=(const _Sp_locker&) = delete; explicit _Sp_locker(const void*) noexcept; _Sp_locker(const void*, const void*) noexcept; ~_Sp_locker(); private: unsigned char _M_key1; unsigned char _M_key2; }; # 74 "/usr/include/c++/10/bits/shared_ptr_atomic.h" 3 template inline bool atomic_is_lock_free(const __shared_ptr<_Tp, _Lp>* __p) { return __gthread_active_p() == 0; } template inline bool atomic_is_lock_free(const shared_ptr<_Tp>* __p) { return std::atomic_is_lock_free<_Tp, __default_lock_policy>(__p); } # 101 "/usr/include/c++/10/bits/shared_ptr_atomic.h" 3 template inline shared_ptr<_Tp> atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order) { _Sp_locker __lock{__p}; return *__p; } template inline shared_ptr<_Tp> atomic_load(const shared_ptr<_Tp>* __p) { return std::atomic_load_explicit(__p, memory_order_seq_cst); } template inline __shared_ptr<_Tp, _Lp> atomic_load_explicit(const __shared_ptr<_Tp, _Lp>* __p, memory_order) { _Sp_locker __lock{__p}; return *__p; } template inline __shared_ptr<_Tp, _Lp> atomic_load(const __shared_ptr<_Tp, _Lp>* __p) { return std::atomic_load_explicit(__p, memory_order_seq_cst); } # 137 "/usr/include/c++/10/bits/shared_ptr_atomic.h" 3 template inline void atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order) { _Sp_locker __lock{__p}; __p->swap(__r); } template inline void atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); } template inline void atomic_store_explicit(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r, memory_order) { _Sp_locker __lock{__p}; __p->swap(__r); } template inline void atomic_store(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r) { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); } # 174 "/usr/include/c++/10/bits/shared_ptr_atomic.h" 3 template inline shared_ptr<_Tp> atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order) { _Sp_locker __lock{__p}; __p->swap(__r); return __r; } template inline shared_ptr<_Tp> atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) { return std::atomic_exchange_explicit(__p, std::move(__r), memory_order_seq_cst); } template inline __shared_ptr<_Tp, _Lp> atomic_exchange_explicit(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r, memory_order) { _Sp_locker __lock{__p}; __p->swap(__r); return __r; } template inline __shared_ptr<_Tp, _Lp> atomic_exchange(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r) { return std::atomic_exchange_explicit(__p, std::move(__r), memory_order_seq_cst); } # 223 "/usr/include/c++/10/bits/shared_ptr_atomic.h" 3 template bool atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w, memory_order, memory_order) { shared_ptr<_Tp> __x; _Sp_locker __lock{__p, __v}; owner_less> __less; if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p)) { __x = std::move(*__p); *__p = std::move(__w); return true; } __x = std::move(*__v); *__v = *__p; return false; } template inline bool atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w) { return std::atomic_compare_exchange_strong_explicit(__p, __v, std::move(__w), memory_order_seq_cst, memory_order_seq_cst); } template inline bool atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w, memory_order __success, memory_order __failure) { return std::atomic_compare_exchange_strong_explicit(__p, __v, std::move(__w), __success, __failure); } template inline bool atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w) { return std::atomic_compare_exchange_weak_explicit(__p, __v, std::move(__w), memory_order_seq_cst, memory_order_seq_cst); } template bool atomic_compare_exchange_strong_explicit(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp>* __v, __shared_ptr<_Tp, _Lp> __w, memory_order, memory_order) { __shared_ptr<_Tp, _Lp> __x; _Sp_locker __lock{__p, __v}; owner_less<__shared_ptr<_Tp, _Lp>> __less; if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p)) { __x = std::move(*__p); *__p = std::move(__w); return true; } __x = std::move(*__v); *__v = *__p; return false; } template inline bool atomic_compare_exchange_strong(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp>* __v, __shared_ptr<_Tp, _Lp> __w) { return std::atomic_compare_exchange_strong_explicit(__p, __v, std::move(__w), memory_order_seq_cst, memory_order_seq_cst); } template inline bool atomic_compare_exchange_weak_explicit(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp>* __v, __shared_ptr<_Tp, _Lp> __w, memory_order __success, memory_order __failure) { return std::atomic_compare_exchange_strong_explicit(__p, __v, std::move(__w), __success, __failure); } template inline bool atomic_compare_exchange_weak(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp>* __v, __shared_ptr<_Tp, _Lp> __w) { return std::atomic_compare_exchange_weak_explicit(__p, __v, std::move(__w), memory_order_seq_cst, memory_order_seq_cst); } } # 86 "/usr/include/c++/10/memory" 2 3 # 1 "/usr/include/c++/10/backward/auto_ptr.h" 1 3 # 36 "/usr/include/c++/10/backward/auto_ptr.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 47 "/usr/include/c++/10/backward/auto_ptr.h" 3 template struct auto_ptr_ref { _Tp1* _M_ptr; explicit auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { } } __attribute__ ((__deprecated__)); #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" # 88 "/usr/include/c++/10/backward/auto_ptr.h" 3 template class auto_ptr { private: _Tp* _M_ptr; public: typedef _Tp element_type; explicit auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { } # 114 "/usr/include/c++/10/backward/auto_ptr.h" 3 auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { } # 126 "/usr/include/c++/10/backward/auto_ptr.h" 3 template auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { } # 137 "/usr/include/c++/10/backward/auto_ptr.h" 3 auto_ptr& operator=(auto_ptr& __a) throw() { reset(__a.release()); return *this; } # 154 "/usr/include/c++/10/backward/auto_ptr.h" 3 template auto_ptr& operator=(auto_ptr<_Tp1>& __a) throw() { reset(__a.release()); return *this; } # 172 "/usr/include/c++/10/backward/auto_ptr.h" 3 ~auto_ptr() { delete _M_ptr; } # 182 "/usr/include/c++/10/backward/auto_ptr.h" 3 element_type& operator*() const throw() { ; return *_M_ptr; } element_type* operator->() const throw() { ; return _M_ptr; } # 212 "/usr/include/c++/10/backward/auto_ptr.h" 3 element_type* get() const throw() { return _M_ptr; } # 226 "/usr/include/c++/10/backward/auto_ptr.h" 3 element_type* release() throw() { element_type* __tmp = _M_ptr; _M_ptr = 0; return __tmp; } # 241 "/usr/include/c++/10/backward/auto_ptr.h" 3 void reset(element_type* __p = 0) throw() { if (__p != _M_ptr) { delete _M_ptr; _M_ptr = __p; } } # 266 "/usr/include/c++/10/backward/auto_ptr.h" 3 auto_ptr(auto_ptr_ref __ref) throw() : _M_ptr(__ref._M_ptr) { } auto_ptr& operator=(auto_ptr_ref __ref) throw() { if (__ref._M_ptr != this->get()) { delete _M_ptr; _M_ptr = __ref._M_ptr; } return *this; } template operator auto_ptr_ref<_Tp1>() throw() { return auto_ptr_ref<_Tp1>(this->release()); } template operator auto_ptr<_Tp1>() throw() { return auto_ptr<_Tp1>(this->release()); } } __attribute__ ((__deprecated__)); template<> class auto_ptr { public: typedef void element_type; } __attribute__ ((__deprecated__)); template<_Lock_policy _Lp> template inline __shared_count<_Lp>::__shared_count(std::auto_ptr<_Tp>&& __r) : _M_pi(new _Sp_counted_ptr<_Tp*, _Lp>(__r.get())) { __r.release(); } template template inline __shared_ptr<_Tp, _Lp>::__shared_ptr(std::auto_ptr<_Tp1>&& __r) : _M_ptr(__r.get()), _M_refcount() { static_assert( sizeof(_Tp1) > 0, "incomplete type" ); _Tp1* __tmp = __r.get(); _M_refcount = __shared_count<_Lp>(std::move(__r)); _M_enable_shared_from_this_with(__tmp); } template template inline shared_ptr<_Tp>::shared_ptr(std::auto_ptr<_Tp1>&& __r) : __shared_ptr<_Tp>(std::move(__r)) { } template template inline unique_ptr<_Tp, _Dp>::unique_ptr(auto_ptr<_Up>&& __u) noexcept : _M_t(__u.release(), deleter_type()) { } #pragma GCC diagnostic pop } # 88 "/usr/include/c++/10/memory" 2 3 # 100 "/usr/include/c++/10/memory" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 122 "/usr/include/c++/10/memory" 3 inline void* align(size_t __align, size_t __size, void*& __ptr, size_t& __space) noexcept { const auto __intptr = reinterpret_cast(__ptr); const auto __aligned = (__intptr - 1u + __align) & -__align; const auto __diff = __aligned - __intptr; if ((__size + __diff) > __space) return nullptr; else { __space -= __diff; return __ptr = reinterpret_cast(__aligned); } } # 158 "/usr/include/c++/10/memory" 3 enum class pointer_safety { relaxed, preferred, strict }; inline void declare_reachable(void*) { } template inline _Tp* undeclare_reachable(_Tp* __p) { return __p; } inline void declare_no_pointers(char*, size_t) { } inline void undeclare_no_pointers(char*, size_t) { } inline pointer_safety get_pointer_safety() noexcept { return pointer_safety::relaxed; } # 398 "/usr/include/c++/10/memory" 3 } # 19 "../../third_party/angle/src/libANGLE/Error.h" 2 # 22 "../../third_party/angle/src/libANGLE/Error.h" namespace angle { template class ErrorStreamBase : angle::NonCopyable { public: ErrorStreamBase() : mID(EnumT) {} ErrorStreamBase(GLuint id) : mID(id) {} template ErrorStreamBase &operator<<(T value) { mErrorStream << value; return *this; } operator ErrorT() { return ErrorT(EnumT, mID, mErrorStream.str()); } private: GLuint mID; std::ostringstream mErrorStream; }; } namespace egl { class Error; } namespace egl { class [[nodiscard]] Error final { public: explicit inline Error(EGLint errorCode); Error(EGLint errorCode, std::string &&message); Error(EGLint errorCode, EGLint id, std::string &&message); inline Error(const Error &other); inline Error(Error &&other); inline ~Error() = default; inline Error &operator=(const Error &other); inline Error &operator=(Error &&other); inline EGLint getCode() const; inline EGLint getID() const; inline bool isError() const; const std::string &getMessage() const; static inline Error NoError(); private: void createMessageString() const; friend std::ostream &operator<<(std::ostream &os, const Error &err); EGLint mCode; EGLint mID; mutable std::unique_ptr mMessage; }; namespace priv { template using ErrorStream = angle::ErrorStreamBase; } using EglBadAccess = priv::ErrorStream<0x3002>; using EglBadAlloc = priv::ErrorStream<0x3003>; using EglBadAttribute = priv::ErrorStream<0x3004>; using EglBadConfig = priv::ErrorStream<0x3005>; using EglBadContext = priv::ErrorStream<0x3006>; using EglBadCurrentSurface = priv::ErrorStream<0x3007>; using EglBadDevice = priv::ErrorStream<0x322B>; using EglBadDisplay = priv::ErrorStream<0x3008>; using EglBadMatch = priv::ErrorStream<0x3009>; using EglBadNativeWindow = priv::ErrorStream<0x300B>; using EglBadParameter = priv::ErrorStream<0x300C>; using EglBadState = priv::ErrorStream<0x321C>; using EglBadStream = priv::ErrorStream<0x321B>; using EglBadSurface = priv::ErrorStream<0x300D>; using EglContextLost = priv::ErrorStream<0x300E>; using EglNotInitialized = priv::ErrorStream<0x3001>; inline Error NoError() { return Error::NoError(); } } # 159 "../../third_party/angle/src/libANGLE/Error.h" namespace angle { enum class [[nodiscard]] Result { Continue, Stop, Incomplete, }; egl::Error ResultToEGL(Result result); } inline bool IsError(angle::Result result) { return result == angle::Result::Stop; } inline bool IsError(const egl::Error &err) { return err.isError(); } # 1 "../../third_party/angle/src/libANGLE/Error.inc" 1 # 11 "../../third_party/angle/src/libANGLE/Error.inc" # 1 "/usr/include/c++/10/cstdarg" 1 3 # 39 "/usr/include/c++/10/cstdarg" 3 # 40 "/usr/include/c++/10/cstdarg" 3 # 12 "../../third_party/angle/src/libANGLE/Error.inc" 2 namespace egl { Error::Error(EGLint errorCode) : mCode(errorCode), mID(0) { } Error::Error(const Error &other) : mCode(other.mCode), mID(other.mID) { if (other.mMessage) { createMessageString(); *mMessage = *(other.mMessage); } } Error::Error(Error &&other) : mCode(other.mCode), mID(other.mID), mMessage(std::move(other.mMessage)) { } Error &Error::operator=(const Error &other) { mCode = other.mCode; mID = other.mID; if (other.mMessage) { createMessageString(); *mMessage = *(other.mMessage); } else { mMessage.release(); } return *this; } Error &Error::operator=(Error &&other) { if (this != &other) { mCode = other.mCode; mID = other.mID; mMessage = std::move(other.mMessage); } return *this; } EGLint Error::getCode() const { return mCode; } EGLint Error::getID() const { return mID; } bool Error::isError() const { return (mCode != 0x3000); } Error Error::NoError() { return Error(0x3000); } } # 189 "../../third_party/angle/src/libANGLE/Error.h" 2 # 19 "../../third_party/angle/src/libANGLE/angletypes.h" 2 # 1 "../../third_party/angle/src/libANGLE/RefCountObject.h" 1 # 19 "../../third_party/angle/src/libANGLE/RefCountObject.h" # 1 "../../third_party/angle/src/libANGLE/Observer.h" 1 # 16 "../../third_party/angle/src/libANGLE/Observer.h" # 1 "../../third_party/angle/src/common/FastVector.h" 1 # 20 "../../third_party/angle/src/common/FastVector.h" namespace angle { template > class FastVector final { public: using value_type = typename Storage::value_type; using size_type = typename Storage::size_type; using reference = typename Storage::reference; using const_reference = typename Storage::const_reference; using pointer = typename Storage::pointer; using const_pointer = typename Storage::const_pointer; using iterator = T *; using const_iterator = const T *; FastVector(); FastVector(size_type count, const value_type &value); FastVector(size_type count); FastVector(const FastVector &other); FastVector(FastVector &&other); FastVector(std::initializer_list init); FastVector &operator=(const FastVector &other); FastVector &operator=(FastVector &&other); FastVector &operator=(std::initializer_list init); ~FastVector(); reference at(size_type pos); const_reference at(size_type pos) const; reference operator[](size_type pos); const_reference operator[](size_type pos) const; pointer data(); const_pointer data() const; iterator begin(); const_iterator begin() const; iterator end(); const_iterator end() const; bool empty() const; size_type size() const; void clear(); void push_back(const value_type &value); void push_back(value_type &&value); void pop_back(); reference front(); const_reference front() const; reference back(); const_reference back() const; void swap(FastVector &other); void resize(size_type count); void resize(size_type count, const value_type &value); void remove_and_permute(const value_type &element); private: void assign_from_initializer_list(std::initializer_list init); void ensure_capacity(size_t capacity); bool uses_fixed_storage() const; Storage mFixedStorage; pointer mData = mFixedStorage.data(); size_type mSize = 0; size_type mReservedSize = N; }; template bool operator==(const FastVector &a, const FastVector &b) { return a.size() == b.size() && std::equal(a.begin(), a.end(), b.begin()); } template bool operator!=(const FastVector &a, const FastVector &b) { return !(a == b); } template inline __attribute__((always_inline)) bool FastVector::uses_fixed_storage() const { return mData == mFixedStorage.data(); } template FastVector::FastVector() {} template FastVector::FastVector(size_type count, const value_type &value) { ensure_capacity(count); mSize = count; std::fill(begin(), end(), value); } template FastVector::FastVector(size_type count) { ensure_capacity(count); mSize = count; } template FastVector::FastVector(const FastVector &other) { ensure_capacity(other.mSize); mSize = other.mSize; std::copy(other.begin(), other.end(), begin()); } template FastVector::FastVector(FastVector &&other) : FastVector() { swap(other); } template FastVector::FastVector(std::initializer_list init) { assign_from_initializer_list(init); } template FastVector &FastVector::operator=( const FastVector &other) { ensure_capacity(other.mSize); mSize = other.mSize; std::copy(other.begin(), other.end(), begin()); return *this; } template FastVector &FastVector::operator=(FastVector &&other) { swap(*this, other); return *this; } template FastVector &FastVector::operator=( std::initializer_list init) { assign_from_initializer_list(init); return *this; } template FastVector::~FastVector() { clear(); if (!uses_fixed_storage()) { delete[] mData; } } template typename FastVector::reference FastVector::at(size_type pos) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(pos < mSize); return mData[pos]; } template typename FastVector::const_reference FastVector::at( size_type pos) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(pos < mSize); return mData[pos]; } template inline __attribute__((always_inline)) typename FastVector::reference FastVector::operator[]( size_type pos) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(pos < mSize); return mData[pos]; } template inline __attribute__((always_inline)) typename FastVector::const_reference FastVector::operator[]( size_type pos) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(pos < mSize); return mData[pos]; } template inline __attribute__((always_inline)) typename FastVector::const_pointer angle::FastVector::data() const { return mData; } template inline __attribute__((always_inline)) typename FastVector::pointer angle::FastVector::data() { return mData; } template inline __attribute__((always_inline)) typename FastVector::iterator FastVector::begin() { return mData; } template inline __attribute__((always_inline)) typename FastVector::const_iterator FastVector::begin() const { return mData; } template inline __attribute__((always_inline)) typename FastVector::iterator FastVector::end() { return mData + mSize; } template inline __attribute__((always_inline)) typename FastVector::const_iterator FastVector::end() const { return mData + mSize; } template inline __attribute__((always_inline)) bool FastVector::empty() const { return mSize == 0; } template inline __attribute__((always_inline)) typename FastVector::size_type FastVector::size() const { return mSize; } template void FastVector::clear() { resize(0); } template inline __attribute__((always_inline)) void FastVector::push_back(const value_type &value) { if (mSize == mReservedSize) ensure_capacity(mSize + 1); mData[mSize++] = value; } template inline __attribute__((always_inline)) void FastVector::push_back(value_type &&value) { if (mSize == mReservedSize) ensure_capacity(mSize + 1); mData[mSize++] = std::move(value); } template inline __attribute__((always_inline)) void FastVector::pop_back() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mSize > 0); mSize--; } template inline __attribute__((always_inline)) typename FastVector::reference FastVector::front() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mSize > 0); return mData[0]; } template inline __attribute__((always_inline)) typename FastVector::const_reference FastVector::front() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mSize > 0); return mData[0]; } template inline __attribute__((always_inline)) typename FastVector::reference FastVector::back() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mSize > 0); return mData[mSize - 1]; } template inline __attribute__((always_inline)) typename FastVector::const_reference FastVector::back() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mSize > 0); return mData[mSize - 1]; } template void FastVector::swap(FastVector &other) { std::swap(mSize, other.mSize); pointer tempData = other.mData; if (uses_fixed_storage()) other.mData = other.mFixedStorage.data(); else other.mData = mData; if (tempData == other.mFixedStorage.data()) mData = mFixedStorage.data(); else mData = tempData; std::swap(mReservedSize, other.mReservedSize); if (uses_fixed_storage() || other.uses_fixed_storage()) std::swap(mFixedStorage, other.mFixedStorage); } template void FastVector::resize(size_type count) { if (count > mSize) { ensure_capacity(count); } mSize = count; } template void FastVector::resize(size_type count, const value_type &value) { if (count > mSize) { ensure_capacity(count); std::fill(mData + mSize, mData + count, value); } mSize = count; } template void FastVector::assign_from_initializer_list(std::initializer_list init) { ensure_capacity(init.size()); mSize = init.size(); size_t index = 0; for (auto &value : init) { mData[index++] = value; } } template inline __attribute__((always_inline)) void FastVector::remove_and_permute(const value_type &element) { size_t len = mSize - 1; for (size_t index = 0; index < len; ++index) { if (mData[index] == element) { mData[index] = std::move(mData[len]); break; } } pop_back(); } template void FastVector::ensure_capacity(size_t capacity) { if (mReservedSize < capacity) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(capacity > N); size_type newSize = std::max(mReservedSize, N); while (newSize < capacity) { newSize *= 2; } pointer newData = new value_type[newSize]; if (mSize > 0) { std::move(begin(), end(), newData); } if (!uses_fixed_storage()) { delete[] mData; } mData = newData; mReservedSize = newSize; } } } # 17 "../../third_party/angle/src/libANGLE/Observer.h" 2 namespace angle { template bool IsInContainer(const HaystackT &haystack, const NeedleT &needle) { return std::find(haystack.begin(), haystack.end(), needle) != haystack.end(); } using SubjectIndex = size_t; enum class SubjectMessage { BindingChanged, ContentsChanged, DirtyBitsFlagged, SubjectChanged, SubjectMapped, SubjectUnmapped, }; class ObserverInterface { public: virtual ~ObserverInterface(); virtual void onSubjectStateChange(SubjectIndex index, SubjectMessage message) = 0; }; class ObserverBindingBase { public: ObserverBindingBase(ObserverInterface *observer, SubjectIndex subjectIndex) : mObserver(observer), mIndex(subjectIndex) {} virtual ~ObserverBindingBase() {} ObserverInterface *getObserver() const { return mObserver; } SubjectIndex getSubjectIndex() const { return mIndex; } virtual void onSubjectReset() {} private: ObserverInterface *mObserver; SubjectIndex mIndex; }; class Subject : NonCopyable { public: Subject(); virtual ~Subject(); void onStateChange(SubjectMessage message) const; bool hasObservers() const; void resetObservers(); inline __attribute__((always_inline)) void addObserver(ObserverBindingBase *observer) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(!IsInContainer(mObservers, observer)); mObservers.push_back(observer); } inline __attribute__((always_inline)) void removeObserver(ObserverBindingBase *observer) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(IsInContainer(mObservers, observer)); mObservers.remove_and_permute(observer); } private: static constexpr size_t kMaxFixedObservers = 8; angle::FastVector mObservers; }; class ObserverBinding final : public ObserverBindingBase { public: ObserverBinding(ObserverInterface *observer, SubjectIndex index); ~ObserverBinding() override; ObserverBinding(const ObserverBinding &other); ObserverBinding &operator=(const ObserverBinding &other); void bind(Subject *subject); inline __attribute__((always_inline)) void reset() { bind(nullptr); } void onStateChange(SubjectMessage message) const; void onSubjectReset() override; inline __attribute__((always_inline)) const Subject *getSubject() const { return mSubject; } inline __attribute__((always_inline)) void assignSubject(Subject *subject) { mSubject = subject; } private: Subject *mSubject; }; } # 20 "../../third_party/angle/src/libANGLE/RefCountObject.h" 2 namespace angle { template class RefCountObject : angle::NonCopyable { public: using ContextType = ContextT; using ErrorType = ErrorT; RefCountObject() : mRefCount(0) {} virtual void onDestroy(const ContextType *context) {} void addRef() const { ++mRefCount; } inline __attribute__((always_inline)) void release(const ContextType *context) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mRefCount > 0); if (--mRefCount == 0) { onDestroy(context); delete this; } } size_t getRefCount() const { return mRefCount; } protected: virtual ~RefCountObject() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mRefCount == 0); } mutable size_t mRefCount; }; template class BindingPointer { public: using ContextType = ContextT; using ErrorType = ErrorT; BindingPointer() : mObject(nullptr) {} BindingPointer(ObjectType *object) : mObject(object) { if (mObject) { mObject->addRef(); } } BindingPointer(const BindingPointer &other) : mObject(other.mObject) { if (mObject) { mObject->addRef(); } } BindingPointer &operator=(BindingPointer &&other) { std::swap(mObject, other.mObject); return *this; } virtual ~BindingPointer() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mObject == nullptr); } void set(const ContextType *context, ObjectType *newObject) { if (newObject != nullptr) { reinterpret_cast *>(newObject)->addRef(); } ObjectType *oldObject = mObject; mObject = newObject; if (oldObject != nullptr) { reinterpret_cast *>(oldObject)->release(context); } } void assign(ObjectType *object) { mObject = object; } ObjectType *get() const { return mObject; } ObjectType *operator->() const { return mObject; } bool operator==(const BindingPointer &other) const { return mObject == other.mObject; } bool operator!=(const BindingPointer &other) const { return !(*this == other); } protected: inline __attribute__((always_inline)) void setImpl(ObjectType *obj) { mObject = obj; } private: ObjectType *mObject; }; } namespace gl { class Context; template class BindingPointer; using RefCountObjectNoID = angle::RefCountObject; template class RefCountObject : public gl::RefCountObjectNoID { public: explicit RefCountObject(IDType id) : mId(id) {} IDType id() const { return mId; } protected: ~RefCountObject() override {} private: IDType mId; }; template class BindingPointer : public angle::BindingPointer { public: using ContextType = typename angle::BindingPointer::ContextType; using ErrorType = typename angle::BindingPointer::ErrorType; BindingPointer() {} BindingPointer(ObjectType *object) : angle::BindingPointer(object) {} typename ResourceTypeToID::IDType id() const { ObjectType *obj = this->get(); if (obj) return obj->id(); return {0}; } }; template class OffsetBindingPointer : public BindingPointer { public: using ContextType = typename BindingPointer::ContextType; using ErrorType = typename BindingPointer::ErrorType; OffsetBindingPointer() : mOffset(0), mSize(0) {} void set(const ContextType *context, ObjectType *newObject, GLintptr offset, GLsizeiptr size) { set(context, newObject); mOffset = offset; mSize = size; } GLintptr getOffset() const { return mOffset; } GLsizeiptr getSize() const { return mSize; } bool operator==(const OffsetBindingPointer &other) const { return this->get() == other.get() && mOffset == other.mOffset && mSize == other.mSize; } bool operator!=(const OffsetBindingPointer &other) const { return !(*this == other); } void assign(ObjectType *object, GLintptr offset, GLsizeiptr size) { assign(object); mOffset = offset; mSize = size; } private: using BindingPointer::set; using BindingPointer::assign; GLintptr mOffset; GLsizeiptr mSize; }; template class SubjectBindingPointer : protected BindingPointer, public angle::ObserverBindingBase { public: SubjectBindingPointer(angle::ObserverInterface *observer, angle::SubjectIndex index) : ObserverBindingBase(observer, index) {} ~SubjectBindingPointer() {} SubjectBindingPointer(const SubjectBindingPointer &other) = default; SubjectBindingPointer &operator=(const SubjectBindingPointer &other) = default; void bind(const Context *context, SubjectT *subject) { if (subject) { subject->addObserver(this); subject->addRef(); } if (get()) { get()->removeObserver(this); get()->release(context); } this->setImpl(subject); } using BindingPointer::get; using BindingPointer::operator->; friend class State; }; } namespace egl { class Display; using RefCountObject = angle::RefCountObject; template using BindingPointer = angle::BindingPointer; } # 20 "../../third_party/angle/src/libANGLE/angletypes.h" 2 # 1 "/usr/include/inttypes.h" 1 3 4 # 266 "/usr/include/inttypes.h" 3 4 # 266 "/usr/include/inttypes.h" 3 4 extern "C" { typedef struct { long int quot; long int rem; } imaxdiv_t; # 290 "/usr/include/inttypes.h" 3 4 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 (); extern long int __strtol_internal (const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) intmax_t __attribute__ ((__leaf__)) strtoimax (const char *__restrict nptr, char **__restrict endptr, int base) throw () { return __strtol_internal (nptr, endptr, base, 0); } extern unsigned long int __strtoul_internal (const char *__restrict __nptr, char ** __restrict __endptr, int __base, int __group) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) uintmax_t __attribute__ ((__leaf__)) strtoumax (const char *__restrict nptr, char **__restrict endptr, int base) throw () { return __strtoul_internal (nptr, endptr, base, 0); } extern long int __wcstol_internal (const wchar_t * __restrict __nptr, wchar_t **__restrict __endptr, int __base, int __group) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) intmax_t __attribute__ ((__leaf__)) wcstoimax (const wchar_t *__restrict nptr, wchar_t **__restrict endptr, int base) throw () { return __wcstol_internal (nptr, endptr, base, 0); } extern unsigned long int __wcstoul_internal (const wchar_t * __restrict __nptr, wchar_t ** __restrict __endptr, int __base, int __group) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__)); extern __inline __attribute__ ((__gnu_inline__)) uintmax_t __attribute__ ((__leaf__)) wcstoumax (const wchar_t *__restrict nptr, wchar_t **__restrict endptr, int base) throw () { return __wcstoul_internal (nptr, endptr, base, 0); } # 432 "/usr/include/inttypes.h" 3 4 } # 22 "../../third_party/angle/src/libANGLE/angletypes.h" 2 # 1 "/usr/include/c++/10/map" 1 3 # 58 "/usr/include/c++/10/map" 3 # 59 "/usr/include/c++/10/map" 3 # 1 "/usr/include/c++/10/bits/stl_map.h" 1 3 # 66 "/usr/include/c++/10/bits/stl_map.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class multimap; # 98 "/usr/include/c++/10/bits/stl_map.h" 3 template , typename _Alloc = std::allocator > > class map { public: typedef _Key key_type; typedef _Tp mapped_type; typedef std::pair value_type; typedef _Compare key_compare; typedef _Alloc allocator_type; private: # 128 "/usr/include/c++/10/bits/stl_map.h" 3 public: class value_compare : public std::binary_function { friend class map<_Key, _Tp, _Compare, _Alloc>; protected: _Compare comp; value_compare(_Compare __c) : comp(__c) { } public: bool operator()(const value_type& __x, const value_type& __y) const { return comp(__x.first, __y.first); } }; private: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template rebind::other _Pair_alloc_type; typedef _Rb_tree, key_compare, _Pair_alloc_type> _Rep_type; _Rep_type _M_t; typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits; public: 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 _Rep_type::iterator iterator; typedef typename _Rep_type::const_iterator const_iterator; typedef typename _Rep_type::size_type size_type; typedef typename _Rep_type::difference_type difference_type; typedef typename _Rep_type::reverse_iterator reverse_iterator; typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; # 185 "/usr/include/c++/10/bits/stl_map.h" 3 map() = default; explicit map(const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, _Pair_alloc_type(__a)) { } # 207 "/usr/include/c++/10/bits/stl_map.h" 3 map(const map&) = default; map(map&&) = default; # 228 "/usr/include/c++/10/bits/stl_map.h" 3 map(initializer_list __l, const _Compare& __comp = _Compare(), const allocator_type& __a = allocator_type()) : _M_t(__comp, _Pair_alloc_type(__a)) { _M_t._M_insert_range_unique(__l.begin(), __l.end()); } explicit map(const allocator_type& __a) : _M_t(_Pair_alloc_type(__a)) { } map(const map& __m, const allocator_type& __a) : _M_t(__m._M_t, _Pair_alloc_type(__a)) { } map(map&& __m, const allocator_type& __a) noexcept(is_nothrow_copy_constructible<_Compare>::value && _Alloc_traits::_S_always_equal()) : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { } map(initializer_list __l, const allocator_type& __a) : _M_t(_Pair_alloc_type(__a)) { _M_t._M_insert_range_unique(__l.begin(), __l.end()); } template map(_InputIterator __first, _InputIterator __last, const allocator_type& __a) : _M_t(_Pair_alloc_type(__a)) { _M_t._M_insert_range_unique(__first, __last); } # 272 "/usr/include/c++/10/bits/stl_map.h" 3 template map(_InputIterator __first, _InputIterator __last) : _M_t() { _M_t._M_insert_range_unique(__first, __last); } # 289 "/usr/include/c++/10/bits/stl_map.h" 3 template map(_InputIterator __first, _InputIterator __last, const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, _Pair_alloc_type(__a)) { _M_t._M_insert_range_unique(__first, __last); } ~map() = default; # 318 "/usr/include/c++/10/bits/stl_map.h" 3 map& operator=(const map&) = default; map& operator=(map&&) = default; # 336 "/usr/include/c++/10/bits/stl_map.h" 3 map& operator=(initializer_list __l) { _M_t._M_assign_unique(__l.begin(), __l.end()); return *this; } allocator_type get_allocator() const noexcept { return allocator_type(_M_t.get_allocator()); } iterator begin() noexcept { return _M_t.begin(); } const_iterator begin() const noexcept { return _M_t.begin(); } iterator end() noexcept { return _M_t.end(); } const_iterator end() const noexcept { return _M_t.end(); } reverse_iterator rbegin() noexcept { return _M_t.rbegin(); } const_reverse_iterator rbegin() const noexcept { return _M_t.rbegin(); } reverse_iterator rend() noexcept { return _M_t.rend(); } const_reverse_iterator rend() const noexcept { return _M_t.rend(); } const_iterator cbegin() const noexcept { return _M_t.begin(); } const_iterator cend() const noexcept { return _M_t.end(); } const_reverse_iterator crbegin() const noexcept { return _M_t.rbegin(); } const_reverse_iterator crend() const noexcept { return _M_t.rend(); } bool empty() const noexcept { return _M_t.empty(); } size_type size() const noexcept { return _M_t.size(); } size_type max_size() const noexcept { return _M_t.max_size(); } # 491 "/usr/include/c++/10/bits/stl_map.h" 3 mapped_type& operator[](const key_type& __k) { iterator __i = lower_bound(__k); if (__i == end() || key_comp()(__k, (*__i).first)) __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, std::tuple(__k), std::tuple<>()); return (*__i).second; } mapped_type& operator[](key_type&& __k) { iterator __i = lower_bound(__k); if (__i == end() || key_comp()(__k, (*__i).first)) __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, std::forward_as_tuple(std::move(__k)), std::tuple<>()); return (*__i).second; } # 536 "/usr/include/c++/10/bits/stl_map.h" 3 mapped_type& at(const key_type& __k) { iterator __i = lower_bound(__k); if (__i == end() || key_comp()(__k, (*__i).first)) __throw_out_of_range(("map::at")); return (*__i).second; } const mapped_type& at(const key_type& __k) const { const_iterator __i = lower_bound(__k); if (__i == end() || key_comp()(__k, (*__i).first)) __throw_out_of_range(("map::at")); return (*__i).second; } # 574 "/usr/include/c++/10/bits/stl_map.h" 3 template std::pair emplace(_Args&&... __args) { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); } # 604 "/usr/include/c++/10/bits/stl_map.h" 3 template iterator emplace_hint(const_iterator __pos, _Args&&... __args) { return _M_t._M_emplace_hint_unique(__pos, std::forward<_Args>(__args)...); } # 802 "/usr/include/c++/10/bits/stl_map.h" 3 std::pair insert(const value_type& __x) { return _M_t._M_insert_unique(__x); } std::pair insert(value_type&& __x) { return _M_t._M_insert_unique(std::move(__x)); } template __enable_if_t::value, pair> insert(_Pair&& __x) { return _M_t._M_emplace_unique(std::forward<_Pair>(__x)); } # 829 "/usr/include/c++/10/bits/stl_map.h" 3 void insert(std::initializer_list __list) { insert(__list.begin(), __list.end()); } # 858 "/usr/include/c++/10/bits/stl_map.h" 3 iterator insert(const_iterator __position, const value_type& __x) { return _M_t._M_insert_unique_(__position, __x); } iterator insert(const_iterator __position, value_type&& __x) { return _M_t._M_insert_unique_(__position, std::move(__x)); } template __enable_if_t::value, iterator> insert(const_iterator __position, _Pair&& __x) { return _M_t._M_emplace_hint_unique(__position, std::forward<_Pair>(__x)); } # 891 "/usr/include/c++/10/bits/stl_map.h" 3 template void insert(_InputIterator __first, _InputIterator __last) { _M_t._M_insert_range_unique(__first, __last); } # 1031 "/usr/include/c++/10/bits/stl_map.h" 3 iterator erase(const_iterator __position) { return _M_t.erase(__position); } __attribute ((__abi_tag__ ("cxx11"))) iterator erase(iterator __position) { return _M_t.erase(__position); } # 1068 "/usr/include/c++/10/bits/stl_map.h" 3 size_type erase(const key_type& __x) { return _M_t.erase(__x); } # 1088 "/usr/include/c++/10/bits/stl_map.h" 3 iterator erase(const_iterator __first, const_iterator __last) { return _M_t.erase(__first, __last); } # 1122 "/usr/include/c++/10/bits/stl_map.h" 3 void swap(map& __x) noexcept(__is_nothrow_swappable<_Compare>::value) { _M_t.swap(__x._M_t); } void clear() noexcept { _M_t.clear(); } key_compare key_comp() const { return _M_t.key_comp(); } value_compare value_comp() const { return value_compare(_M_t.key_comp()); } # 1169 "/usr/include/c++/10/bits/stl_map.h" 3 iterator find(const key_type& __x) { return _M_t.find(__x); } template auto find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x)) { return _M_t._M_find_tr(__x); } # 1194 "/usr/include/c++/10/bits/stl_map.h" 3 const_iterator find(const key_type& __x) const { return _M_t.find(__x); } template auto find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x)) { return _M_t._M_find_tr(__x); } # 1215 "/usr/include/c++/10/bits/stl_map.h" 3 size_type count(const key_type& __x) const { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } template auto count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x)) { return _M_t._M_count_tr(__x); } # 1258 "/usr/include/c++/10/bits/stl_map.h" 3 iterator lower_bound(const key_type& __x) { return _M_t.lower_bound(__x); } template auto lower_bound(const _Kt& __x) -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) { return iterator(_M_t._M_lower_bound_tr(__x)); } # 1283 "/usr/include/c++/10/bits/stl_map.h" 3 const_iterator lower_bound(const key_type& __x) const { return _M_t.lower_bound(__x); } template auto lower_bound(const _Kt& __x) const -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x))) { return const_iterator(_M_t._M_lower_bound_tr(__x)); } # 1303 "/usr/include/c++/10/bits/stl_map.h" 3 iterator upper_bound(const key_type& __x) { return _M_t.upper_bound(__x); } template auto upper_bound(const _Kt& __x) -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) { return iterator(_M_t._M_upper_bound_tr(__x)); } # 1323 "/usr/include/c++/10/bits/stl_map.h" 3 const_iterator upper_bound(const key_type& __x) const { return _M_t.upper_bound(__x); } template auto upper_bound(const _Kt& __x) const -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x))) { return const_iterator(_M_t._M_upper_bound_tr(__x)); } # 1352 "/usr/include/c++/10/bits/stl_map.h" 3 std::pair equal_range(const key_type& __x) { return _M_t.equal_range(__x); } template auto equal_range(const _Kt& __x) -> decltype(pair(_M_t._M_equal_range_tr(__x))) { return pair(_M_t._M_equal_range_tr(__x)); } # 1381 "/usr/include/c++/10/bits/stl_map.h" 3 std::pair equal_range(const key_type& __x) const { return _M_t.equal_range(__x); } template auto equal_range(const _Kt& __x) const -> decltype(pair( _M_t._M_equal_range_tr(__x))) { return pair( _M_t._M_equal_range_tr(__x)); } template friend bool operator==(const map<_K1, _T1, _C1, _A1>&, const map<_K1, _T1, _C1, _A1>&); template friend bool operator<(const map<_K1, _T1, _C1, _A1>&, const map<_K1, _T1, _C1, _A1>&); }; # 1455 "/usr/include/c++/10/bits/stl_map.h" 3 template inline bool operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return __x._M_t == __y._M_t; } # 1472 "/usr/include/c++/10/bits/stl_map.h" 3 template inline bool operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return __x._M_t < __y._M_t; } template inline bool operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x, const map<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__x < __y); } template inline void swap(map<_Key, _Tp, _Compare, _Alloc>& __x, map<_Key, _Tp, _Compare, _Alloc>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } # 1537 "/usr/include/c++/10/bits/stl_map.h" 3 } # 62 "/usr/include/c++/10/map" 2 3 # 1 "/usr/include/c++/10/bits/stl_multimap.h" 1 3 # 64 "/usr/include/c++/10/bits/stl_multimap.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class map; # 96 "/usr/include/c++/10/bits/stl_multimap.h" 3 template , typename _Alloc = std::allocator > > class multimap { public: typedef _Key key_type; typedef _Tp mapped_type; typedef std::pair value_type; typedef _Compare key_compare; typedef _Alloc allocator_type; private: # 127 "/usr/include/c++/10/bits/stl_multimap.h" 3 public: class value_compare : public std::binary_function { friend class multimap<_Key, _Tp, _Compare, _Alloc>; protected: _Compare comp; value_compare(_Compare __c) : comp(__c) { } public: bool operator()(const value_type& __x, const value_type& __y) const { return comp(__x.first, __y.first); } }; private: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template rebind::other _Pair_alloc_type; typedef _Rb_tree, key_compare, _Pair_alloc_type> _Rep_type; _Rep_type _M_t; typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits; public: 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 _Rep_type::iterator iterator; typedef typename _Rep_type::const_iterator const_iterator; typedef typename _Rep_type::size_type size_type; typedef typename _Rep_type::difference_type difference_type; typedef typename _Rep_type::reverse_iterator reverse_iterator; typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; # 182 "/usr/include/c++/10/bits/stl_multimap.h" 3 multimap() = default; explicit multimap(const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, _Pair_alloc_type(__a)) { } # 204 "/usr/include/c++/10/bits/stl_multimap.h" 3 multimap(const multimap&) = default; # 213 "/usr/include/c++/10/bits/stl_multimap.h" 3 multimap(multimap&&) = default; # 225 "/usr/include/c++/10/bits/stl_multimap.h" 3 multimap(initializer_list __l, const _Compare& __comp = _Compare(), const allocator_type& __a = allocator_type()) : _M_t(__comp, _Pair_alloc_type(__a)) { _M_t._M_insert_range_equal(__l.begin(), __l.end()); } explicit multimap(const allocator_type& __a) : _M_t(_Pair_alloc_type(__a)) { } multimap(const multimap& __m, const allocator_type& __a) : _M_t(__m._M_t, _Pair_alloc_type(__a)) { } multimap(multimap&& __m, const allocator_type& __a) noexcept(is_nothrow_copy_constructible<_Compare>::value && _Alloc_traits::_S_always_equal()) : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { } multimap(initializer_list __l, const allocator_type& __a) : _M_t(_Pair_alloc_type(__a)) { _M_t._M_insert_range_equal(__l.begin(), __l.end()); } template multimap(_InputIterator __first, _InputIterator __last, const allocator_type& __a) : _M_t(_Pair_alloc_type(__a)) { _M_t._M_insert_range_equal(__first, __last); } # 268 "/usr/include/c++/10/bits/stl_multimap.h" 3 template multimap(_InputIterator __first, _InputIterator __last) : _M_t() { _M_t._M_insert_range_equal(__first, __last); } # 284 "/usr/include/c++/10/bits/stl_multimap.h" 3 template multimap(_InputIterator __first, _InputIterator __last, const _Compare& __comp, const allocator_type& __a = allocator_type()) : _M_t(__comp, _Pair_alloc_type(__a)) { _M_t._M_insert_range_equal(__first, __last); } ~multimap() = default; # 313 "/usr/include/c++/10/bits/stl_multimap.h" 3 multimap& operator=(const multimap&) = default; multimap& operator=(multimap&&) = default; # 331 "/usr/include/c++/10/bits/stl_multimap.h" 3 multimap& operator=(initializer_list __l) { _M_t._M_assign_equal(__l.begin(), __l.end()); return *this; } allocator_type get_allocator() const noexcept { return allocator_type(_M_t.get_allocator()); } iterator begin() noexcept { return _M_t.begin(); } const_iterator begin() const noexcept { return _M_t.begin(); } iterator end() noexcept { return _M_t.end(); } const_iterator end() const noexcept { return _M_t.end(); } reverse_iterator rbegin() noexcept { return _M_t.rbegin(); } const_reverse_iterator rbegin() const noexcept { return _M_t.rbegin(); } reverse_iterator rend() noexcept { return _M_t.rend(); } const_reverse_iterator rend() const noexcept { return _M_t.rend(); } const_iterator cbegin() const noexcept { return _M_t.begin(); } const_iterator cend() const noexcept { return _M_t.end(); } const_reverse_iterator crbegin() const noexcept { return _M_t.rbegin(); } const_reverse_iterator crend() const noexcept { return _M_t.rend(); } bool empty() const noexcept { return _M_t.empty(); } size_type size() const noexcept { return _M_t.size(); } size_type max_size() const noexcept { return _M_t.max_size(); } # 489 "/usr/include/c++/10/bits/stl_multimap.h" 3 template iterator emplace(_Args&&... __args) { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); } # 516 "/usr/include/c++/10/bits/stl_multimap.h" 3 template iterator emplace_hint(const_iterator __pos, _Args&&... __args) { return _M_t._M_emplace_hint_equal(__pos, std::forward<_Args>(__args)...); } # 538 "/usr/include/c++/10/bits/stl_multimap.h" 3 iterator insert(const value_type& __x) { return _M_t._M_insert_equal(__x); } iterator insert(value_type&& __x) { return _M_t._M_insert_equal(std::move(__x)); } template __enable_if_t::value, iterator> insert(_Pair&& __x) { return _M_t._M_emplace_equal(std::forward<_Pair>(__x)); } # 577 "/usr/include/c++/10/bits/stl_multimap.h" 3 iterator insert(const_iterator __position, const value_type& __x) { return _M_t._M_insert_equal_(__position, __x); } iterator insert(const_iterator __position, value_type&& __x) { return _M_t._M_insert_equal_(__position, std::move(__x)); } template __enable_if_t::value, iterator> insert(const_iterator __position, _Pair&& __x) { return _M_t._M_emplace_hint_equal(__position, std::forward<_Pair>(__x)); } # 611 "/usr/include/c++/10/bits/stl_multimap.h" 3 template void insert(_InputIterator __first, _InputIterator __last) { _M_t._M_insert_range_equal(__first, __last); } # 624 "/usr/include/c++/10/bits/stl_multimap.h" 3 void insert(initializer_list __l) { this->insert(__l.begin(), __l.end()); } # 701 "/usr/include/c++/10/bits/stl_multimap.h" 3 iterator erase(const_iterator __position) { return _M_t.erase(__position); } __attribute ((__abi_tag__ ("cxx11"))) iterator erase(iterator __position) { return _M_t.erase(__position); } # 738 "/usr/include/c++/10/bits/stl_multimap.h" 3 size_type erase(const key_type& __x) { return _M_t.erase(__x); } # 759 "/usr/include/c++/10/bits/stl_multimap.h" 3 iterator erase(const_iterator __first, const_iterator __last) { return _M_t.erase(__first, __last); } # 796 "/usr/include/c++/10/bits/stl_multimap.h" 3 void swap(multimap& __x) noexcept(__is_nothrow_swappable<_Compare>::value) { _M_t.swap(__x._M_t); } void clear() noexcept { _M_t.clear(); } key_compare key_comp() const { return _M_t.key_comp(); } value_compare value_comp() const { return value_compare(_M_t.key_comp()); } # 842 "/usr/include/c++/10/bits/stl_multimap.h" 3 iterator find(const key_type& __x) { return _M_t.find(__x); } template auto find(const _Kt& __x) -> decltype(_M_t._M_find_tr(__x)) { return _M_t._M_find_tr(__x); } # 866 "/usr/include/c++/10/bits/stl_multimap.h" 3 const_iterator find(const key_type& __x) const { return _M_t.find(__x); } template auto find(const _Kt& __x) const -> decltype(_M_t._M_find_tr(__x)) { return _M_t._M_find_tr(__x); } # 884 "/usr/include/c++/10/bits/stl_multimap.h" 3 size_type count(const key_type& __x) const { return _M_t.count(__x); } template auto count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x)) { return _M_t._M_count_tr(__x); } # 927 "/usr/include/c++/10/bits/stl_multimap.h" 3 iterator lower_bound(const key_type& __x) { return _M_t.lower_bound(__x); } template auto lower_bound(const _Kt& __x) -> decltype(iterator(_M_t._M_lower_bound_tr(__x))) { return iterator(_M_t._M_lower_bound_tr(__x)); } # 952 "/usr/include/c++/10/bits/stl_multimap.h" 3 const_iterator lower_bound(const key_type& __x) const { return _M_t.lower_bound(__x); } template auto lower_bound(const _Kt& __x) const -> decltype(const_iterator(_M_t._M_lower_bound_tr(__x))) { return const_iterator(_M_t._M_lower_bound_tr(__x)); } # 972 "/usr/include/c++/10/bits/stl_multimap.h" 3 iterator upper_bound(const key_type& __x) { return _M_t.upper_bound(__x); } template auto upper_bound(const _Kt& __x) -> decltype(iterator(_M_t._M_upper_bound_tr(__x))) { return iterator(_M_t._M_upper_bound_tr(__x)); } # 992 "/usr/include/c++/10/bits/stl_multimap.h" 3 const_iterator upper_bound(const key_type& __x) const { return _M_t.upper_bound(__x); } template auto upper_bound(const _Kt& __x) const -> decltype(const_iterator(_M_t._M_upper_bound_tr(__x))) { return const_iterator(_M_t._M_upper_bound_tr(__x)); } # 1019 "/usr/include/c++/10/bits/stl_multimap.h" 3 std::pair equal_range(const key_type& __x) { return _M_t.equal_range(__x); } template auto equal_range(const _Kt& __x) -> decltype(pair(_M_t._M_equal_range_tr(__x))) { return pair(_M_t._M_equal_range_tr(__x)); } # 1046 "/usr/include/c++/10/bits/stl_multimap.h" 3 std::pair equal_range(const key_type& __x) const { return _M_t.equal_range(__x); } template auto equal_range(const _Kt& __x) const -> decltype(pair( _M_t._M_equal_range_tr(__x))) { return pair( _M_t._M_equal_range_tr(__x)); } template friend bool operator==(const multimap<_K1, _T1, _C1, _A1>&, const multimap<_K1, _T1, _C1, _A1>&); template friend bool operator<(const multimap<_K1, _T1, _C1, _A1>&, const multimap<_K1, _T1, _C1, _A1>&); }; # 1119 "/usr/include/c++/10/bits/stl_multimap.h" 3 template inline bool operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return __x._M_t == __y._M_t; } # 1136 "/usr/include/c++/10/bits/stl_multimap.h" 3 template inline bool operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return __x._M_t < __y._M_t; } template inline bool operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, const multimap<_Key, _Tp, _Compare, _Alloc>& __y) { return !(__x < __y); } template inline void swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x, multimap<_Key, _Tp, _Compare, _Alloc>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } # 1201 "/usr/include/c++/10/bits/stl_multimap.h" 3 } # 63 "/usr/include/c++/10/map" 2 3 # 26 "../../third_party/angle/src/libANGLE/angletypes.h" 2 # 1 "/usr/include/c++/10/unordered_map" 1 3 # 32 "/usr/include/c++/10/unordered_map" 3 # 33 "/usr/include/c++/10/unordered_map" 3 # 46 "/usr/include/c++/10/unordered_map" 3 # 1 "/usr/include/c++/10/bits/hashtable.h" 1 3 # 33 "/usr/include/c++/10/bits/hashtable.h" 3 # 34 "/usr/include/c++/10/bits/hashtable.h" 3 # 1 "/usr/include/c++/10/bits/hashtable_policy.h" 1 3 # 39 "/usr/include/c++/10/bits/hashtable_policy.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class _Hashtable; namespace __detail { template struct _Hashtable_base; template inline typename std::iterator_traits<_Iterator>::difference_type __distance_fw(_Iterator __first, _Iterator __last, std::input_iterator_tag) { return __first != __last ? 1 : 0; } template inline typename std::iterator_traits<_Iterator>::difference_type __distance_fw(_Iterator __first, _Iterator __last, std::forward_iterator_tag) { return std::distance(__first, __last); } template inline typename std::iterator_traits<_Iterator>::difference_type __distance_fw(_Iterator __first, _Iterator __last) { return __distance_fw(__first, __last, std::__iterator_category(__first)); } struct _Identity { template _Tp&& operator()(_Tp&& __x) const { return std::forward<_Tp>(__x); } }; struct _Select1st { template auto operator()(_Tp&& __x) const -> decltype(std::get<0>(std::forward<_Tp>(__x))) { return std::get<0>(std::forward<_Tp>(__x)); } }; template struct _Hashtable_alloc; template struct _ReuseOrAllocNode { private: using __node_alloc_type = _NodeAlloc; using __hashtable_alloc = _Hashtable_alloc<__node_alloc_type>; using __node_alloc_traits = typename __hashtable_alloc::__node_alloc_traits; using __node_type = typename __hashtable_alloc::__node_type; public: _ReuseOrAllocNode(__node_type* __nodes, __hashtable_alloc& __h) : _M_nodes(__nodes), _M_h(__h) { } _ReuseOrAllocNode(const _ReuseOrAllocNode&) = delete; ~_ReuseOrAllocNode() { _M_h._M_deallocate_nodes(_M_nodes); } template __node_type* operator()(_Arg&& __arg) const { if (_M_nodes) { __node_type* __node = _M_nodes; _M_nodes = _M_nodes->_M_next(); __node->_M_nxt = nullptr; auto& __a = _M_h._M_node_allocator(); __node_alloc_traits::destroy(__a, __node->_M_valptr()); if (true) { __node_alloc_traits::construct(__a, __node->_M_valptr(), std::forward<_Arg>(__arg)); } if (false) { _M_h._M_deallocate_node_ptr(__node); ; } return __node; } return _M_h._M_allocate_node(std::forward<_Arg>(__arg)); } private: mutable __node_type* _M_nodes; __hashtable_alloc& _M_h; }; template struct _AllocNode { private: using __hashtable_alloc = _Hashtable_alloc<_NodeAlloc>; using __node_type = typename __hashtable_alloc::__node_type; public: _AllocNode(__hashtable_alloc& __h) : _M_h(__h) { } template __node_type* operator()(_Arg&& __arg) const { return _M_h._M_allocate_node(std::forward<_Arg>(__arg)); } private: __hashtable_alloc& _M_h; }; # 199 "/usr/include/c++/10/bits/hashtable_policy.h" 3 template struct _Hashtable_traits { using __hash_cached = __bool_constant<_Cache_hash_code>; using __constant_iterators = __bool_constant<_Constant_iterators>; using __unique_keys = __bool_constant<_Unique_keys>; }; # 215 "/usr/include/c++/10/bits/hashtable_policy.h" 3 struct _Hash_node_base { _Hash_node_base* _M_nxt; _Hash_node_base() noexcept : _M_nxt() { } _Hash_node_base(_Hash_node_base* __next) noexcept : _M_nxt(__next) { } }; template struct _Hash_node_value_base : _Hash_node_base { typedef _Value value_type; __gnu_cxx::__aligned_buffer<_Value> _M_storage; _Value* _M_valptr() noexcept { return _M_storage._M_ptr(); } const _Value* _M_valptr() const noexcept { return _M_storage._M_ptr(); } _Value& _M_v() noexcept { return *_M_valptr(); } const _Value& _M_v() const noexcept { return *_M_valptr(); } }; template struct _Hash_node; template struct _Hash_node<_Value, true> : _Hash_node_value_base<_Value> { std::size_t _M_hash_code; _Hash_node* _M_next() const noexcept { return static_cast<_Hash_node*>(this->_M_nxt); } }; template struct _Hash_node<_Value, false> : _Hash_node_value_base<_Value> { _Hash_node* _M_next() const noexcept { return static_cast<_Hash_node*>(this->_M_nxt); } }; template struct _Node_iterator_base { using __node_type = _Hash_node<_Value, _Cache_hash_code>; __node_type* _M_cur; _Node_iterator_base(__node_type* __p) noexcept : _M_cur(__p) { } void _M_incr() noexcept { _M_cur = _M_cur->_M_next(); } }; template inline bool operator==(const _Node_iterator_base<_Value, _Cache_hash_code>& __x, const _Node_iterator_base<_Value, _Cache_hash_code >& __y) noexcept { return __x._M_cur == __y._M_cur; } template inline bool operator!=(const _Node_iterator_base<_Value, _Cache_hash_code>& __x, const _Node_iterator_base<_Value, _Cache_hash_code>& __y) noexcept { return __x._M_cur != __y._M_cur; } template struct _Node_iterator : public _Node_iterator_base<_Value, __cache> { private: using __base_type = _Node_iterator_base<_Value, __cache>; using __node_type = typename __base_type::__node_type; public: typedef _Value value_type; typedef std::ptrdiff_t difference_type; typedef std::forward_iterator_tag iterator_category; using pointer = typename std::conditional<__constant_iterators, const _Value*, _Value*>::type; using reference = typename std::conditional<__constant_iterators, const _Value&, _Value&>::type; _Node_iterator() noexcept : __base_type(0) { } explicit _Node_iterator(__node_type* __p) noexcept : __base_type(__p) { } reference operator*() const noexcept { return this->_M_cur->_M_v(); } pointer operator->() const noexcept { return this->_M_cur->_M_valptr(); } _Node_iterator& operator++() noexcept { this->_M_incr(); return *this; } _Node_iterator operator++(int) noexcept { _Node_iterator __tmp(*this); this->_M_incr(); return __tmp; } }; template struct _Node_const_iterator : public _Node_iterator_base<_Value, __cache> { private: using __base_type = _Node_iterator_base<_Value, __cache>; using __node_type = typename __base_type::__node_type; public: typedef _Value value_type; typedef std::ptrdiff_t difference_type; typedef std::forward_iterator_tag iterator_category; typedef const _Value* pointer; typedef const _Value& reference; _Node_const_iterator() noexcept : __base_type(0) { } explicit _Node_const_iterator(__node_type* __p) noexcept : __base_type(__p) { } _Node_const_iterator(const _Node_iterator<_Value, __constant_iterators, __cache>& __x) noexcept : __base_type(__x._M_cur) { } reference operator*() const noexcept { return this->_M_cur->_M_v(); } pointer operator->() const noexcept { return this->_M_cur->_M_valptr(); } _Node_const_iterator& operator++() noexcept { this->_M_incr(); return *this; } _Node_const_iterator operator++(int) noexcept { _Node_const_iterator __tmp(*this); this->_M_incr(); return __tmp; } }; struct _Mod_range_hashing { typedef std::size_t first_argument_type; typedef std::size_t second_argument_type; typedef std::size_t result_type; result_type operator()(first_argument_type __num, second_argument_type __den) const noexcept { return __num % __den; } }; struct _Default_ranged_hash { }; struct _Prime_rehash_policy { using __has_load_factor = true_type; _Prime_rehash_policy(float __z = 1.0) noexcept : _M_max_load_factor(__z), _M_next_resize(0) { } float max_load_factor() const noexcept { return _M_max_load_factor; } std::size_t _M_next_bkt(std::size_t __n) const; std::size_t _M_bkt_for_elements(std::size_t __n) const { return __builtin_ceill(__n / (long double)_M_max_load_factor); } std::pair _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt, std::size_t __n_ins) const; typedef std::size_t _State; _State _M_state() const { return _M_next_resize; } void _M_reset() noexcept { _M_next_resize = 0; } void _M_reset(_State __state) { _M_next_resize = __state; } static const std::size_t _S_growth_factor = 2; float _M_max_load_factor; mutable std::size_t _M_next_resize; }; struct _Mask_range_hashing { typedef std::size_t first_argument_type; typedef std::size_t second_argument_type; typedef std::size_t result_type; result_type operator()(first_argument_type __num, second_argument_type __den) const noexcept { return __num & (__den - 1); } }; inline std::size_t __clp2(std::size_t __n) noexcept { if (__n < 2) return __n; const unsigned __lz = sizeof(size_t) > sizeof(long) ? __builtin_clzll(__n - 1ull) : __builtin_clzl(__n - 1ul); return (size_t(1) << (numeric_limits::digits - __lz - 1)) << 1; } struct _Power2_rehash_policy { using __has_load_factor = true_type; _Power2_rehash_policy(float __z = 1.0) noexcept : _M_max_load_factor(__z), _M_next_resize(0) { } float max_load_factor() const noexcept { return _M_max_load_factor; } std::size_t _M_next_bkt(std::size_t __n) noexcept { if (__n == 0) return 1; const auto __max_width = std::min(sizeof(size_t), 8); const auto __max_bkt = size_t(1) << (__max_width * 8 - 1); std::size_t __res = __clp2(__n); if (__res == 0) __res = __max_bkt; else if (__res == 1) __res = 2; if (__res == __max_bkt) _M_next_resize = numeric_limits::max(); else _M_next_resize = __builtin_floorl(__res * (long double)_M_max_load_factor); return __res; } std::size_t _M_bkt_for_elements(std::size_t __n) const noexcept { return __builtin_ceill(__n / (long double)_M_max_load_factor); } std::pair _M_need_rehash(std::size_t __n_bkt, std::size_t __n_elt, std::size_t __n_ins) noexcept { if (__n_elt + __n_ins > _M_next_resize) { long double __min_bkts = std::max(__n_elt + __n_ins, _M_next_resize ? 0 : 11) / (long double)_M_max_load_factor; if (__min_bkts >= __n_bkt) return { true, _M_next_bkt(std::max(__builtin_floorl(__min_bkts) + 1, __n_bkt * _S_growth_factor)) }; _M_next_resize = __builtin_floorl(__n_bkt * (long double)_M_max_load_factor); return { false, 0 }; } else return { false, 0 }; } typedef std::size_t _State; _State _M_state() const noexcept { return _M_next_resize; } void _M_reset() noexcept { _M_next_resize = 0; } void _M_reset(_State __state) noexcept { _M_next_resize = __state; } static const std::size_t _S_growth_factor = 2; float _M_max_load_factor; std::size_t _M_next_resize; }; # 641 "/usr/include/c++/10/bits/hashtable_policy.h" 3 template struct _Map_base { }; template struct _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false> { using mapped_type = typename std::tuple_element<1, _Pair>::type; }; template struct _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true> { private: using __hashtable_base = __detail::_Hashtable_base<_Key, _Pair, _Select1st, _Equal, _H1, _H2, _Hash, _Traits>; using __hashtable = _Hashtable<_Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>; using __hash_code = typename __hashtable_base::__hash_code; using __node_type = typename __hashtable_base::__node_type; public: using key_type = typename __hashtable_base::key_type; using iterator = typename __hashtable_base::iterator; using mapped_type = typename std::tuple_element<1, _Pair>::type; mapped_type& operator[](const key_type& __k); mapped_type& operator[](key_type&& __k); mapped_type& at(const key_type& __k); const mapped_type& at(const key_type& __k) const; }; template auto _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: operator[](const key_type& __k) -> mapped_type& { __hashtable* __h = static_cast<__hashtable*>(this); __hash_code __code = __h->_M_hash_code(__k); std::size_t __bkt = __h->_M_bucket_index(__k, __code); if (__node_type* __node = __h->_M_find_node(__bkt, __k, __code)) return __node->_M_v().second; typename __hashtable::_Scoped_node __node { __h, std::piecewise_construct, std::tuple(__k), std::tuple<>() }; auto __pos = __h->_M_insert_unique_node(__k, __bkt, __code, __node._M_node); __node._M_node = nullptr; return __pos->second; } template auto _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: operator[](key_type&& __k) -> mapped_type& { __hashtable* __h = static_cast<__hashtable*>(this); __hash_code __code = __h->_M_hash_code(__k); std::size_t __bkt = __h->_M_bucket_index(__k, __code); if (__node_type* __node = __h->_M_find_node(__bkt, __k, __code)) return __node->_M_v().second; typename __hashtable::_Scoped_node __node { __h, std::piecewise_construct, std::forward_as_tuple(std::move(__k)), std::tuple<>() }; auto __pos = __h->_M_insert_unique_node(__k, __bkt, __code, __node._M_node); __node._M_node = nullptr; return __pos->second; } template auto _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: at(const key_type& __k) -> mapped_type& { __hashtable* __h = static_cast<__hashtable*>(this); __hash_code __code = __h->_M_hash_code(__k); std::size_t __bkt = __h->_M_bucket_index(__k, __code); __node_type* __p = __h->_M_find_node(__bkt, __k, __code); if (!__p) __throw_out_of_range(("_Map_base::at")); return __p->_M_v().second; } template auto _Map_base<_Key, _Pair, _Alloc, _Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: at(const key_type& __k) const -> const mapped_type& { const __hashtable* __h = static_cast(this); __hash_code __code = __h->_M_hash_code(__k); std::size_t __bkt = __h->_M_bucket_index(__k, __code); __node_type* __p = __h->_M_find_node(__bkt, __k, __code); if (!__p) __throw_out_of_range(("_Map_base::at")); return __p->_M_v().second; } template struct _Insert_base { protected: using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>; using __hashtable_base = _Hashtable_base<_Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits>; using value_type = typename __hashtable_base::value_type; using iterator = typename __hashtable_base::iterator; using const_iterator = typename __hashtable_base::const_iterator; using size_type = typename __hashtable_base::size_type; using __unique_keys = typename __hashtable_base::__unique_keys; using __ireturn_type = typename __hashtable_base::__ireturn_type; using __node_type = _Hash_node<_Value, _Traits::__hash_cached::value>; using __node_alloc_type = __alloc_rebind<_Alloc, __node_type>; using __node_gen_type = _AllocNode<__node_alloc_type>; __hashtable& _M_conjure_hashtable() { return *(static_cast<__hashtable*>(this)); } template void _M_insert_range(_InputIterator __first, _InputIterator __last, const _NodeGetter&, true_type); template void _M_insert_range(_InputIterator __first, _InputIterator __last, const _NodeGetter&, false_type); public: __ireturn_type insert(const value_type& __v) { __hashtable& __h = _M_conjure_hashtable(); __node_gen_type __node_gen(__h); return __h._M_insert(__v, __node_gen, __unique_keys()); } iterator insert(const_iterator __hint, const value_type& __v) { __hashtable& __h = _M_conjure_hashtable(); __node_gen_type __node_gen(__h); return __h._M_insert(__hint, __v, __node_gen, __unique_keys()); } void insert(initializer_list __l) { this->insert(__l.begin(), __l.end()); } template void insert(_InputIterator __first, _InputIterator __last) { __hashtable& __h = _M_conjure_hashtable(); __node_gen_type __node_gen(__h); return _M_insert_range(__first, __last, __node_gen, __unique_keys()); } }; template template void _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_insert_range(_InputIterator __first, _InputIterator __last, const _NodeGetter& __node_gen, true_type) { size_type __n_elt = __detail::__distance_fw(__first, __last); if (__n_elt == 0) return; __hashtable& __h = _M_conjure_hashtable(); for (; __first != __last; ++__first) { if (__h._M_insert(*__first, __node_gen, __unique_keys(), __n_elt).second) __n_elt = 1; else if (__n_elt != 1) --__n_elt; } } template template void _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_insert_range(_InputIterator __first, _InputIterator __last, const _NodeGetter& __node_gen, false_type) { using __rehash_type = typename __hashtable::__rehash_type; using __rehash_state = typename __hashtable::__rehash_state; using pair_type = std::pair; size_type __n_elt = __detail::__distance_fw(__first, __last); if (__n_elt == 0) return; __hashtable& __h = _M_conjure_hashtable(); __rehash_type& __rehash = __h._M_rehash_policy; const __rehash_state& __saved_state = __rehash._M_state(); pair_type __do_rehash = __rehash._M_need_rehash(__h._M_bucket_count, __h._M_element_count, __n_elt); if (__do_rehash.first) __h._M_rehash(__do_rehash.second, __saved_state); for (; __first != __last; ++__first) __h._M_insert(*__first, __node_gen, __unique_keys()); } template struct _Insert; template struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true> : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits> { using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>; using __hashtable_base = _Hashtable_base<_Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits>; using value_type = typename __base_type::value_type; using iterator = typename __base_type::iterator; using const_iterator = typename __base_type::const_iterator; using __unique_keys = typename __base_type::__unique_keys; using __ireturn_type = typename __hashtable_base::__ireturn_type; using __hashtable = typename __base_type::__hashtable; using __node_gen_type = typename __base_type::__node_gen_type; using __base_type::insert; __ireturn_type insert(value_type&& __v) { __hashtable& __h = this->_M_conjure_hashtable(); __node_gen_type __node_gen(__h); return __h._M_insert(std::move(__v), __node_gen, __unique_keys()); } iterator insert(const_iterator __hint, value_type&& __v) { __hashtable& __h = this->_M_conjure_hashtable(); __node_gen_type __node_gen(__h); return __h._M_insert(__hint, std::move(__v), __node_gen, __unique_keys()); } }; template struct _Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false> : public _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits> { using __base_type = _Insert_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>; using value_type = typename __base_type::value_type; using iterator = typename __base_type::iterator; using const_iterator = typename __base_type::const_iterator; using __unique_keys = typename __base_type::__unique_keys; using __hashtable = typename __base_type::__hashtable; using __ireturn_type = typename __base_type::__ireturn_type; using __base_type::insert; template using __is_cons = std::is_constructible; template using _IFcons = std::enable_if<__is_cons<_Pair>::value>; template using _IFconsp = typename _IFcons<_Pair>::type; template> __ireturn_type insert(_Pair&& __v) { __hashtable& __h = this->_M_conjure_hashtable(); return __h._M_emplace(__unique_keys(), std::forward<_Pair>(__v)); } template> iterator insert(const_iterator __hint, _Pair&& __v) { __hashtable& __h = this->_M_conjure_hashtable(); return __h._M_emplace(__hint, __unique_keys(), std::forward<_Pair>(__v)); } }; template using __has_load_factor = typename _Policy::__has_load_factor; template> struct _Rehash_base; template struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false_type> { }; template struct _Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true_type> { using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>; float max_load_factor() const noexcept { const __hashtable* __this = static_cast(this); return __this->__rehash_policy().max_load_factor(); } void max_load_factor(float __z) { __hashtable* __this = static_cast<__hashtable*>(this); __this->__rehash_policy(_RehashPolicy(__z)); } void reserve(std::size_t __n) { __hashtable* __this = static_cast<__hashtable*>(this); __this->rehash(__this->__rehash_policy()._M_bkt_for_elements(__n)); } }; template struct _Hashtable_ebo_helper; template struct _Hashtable_ebo_helper<_Nm, _Tp, true> : private _Tp { _Hashtable_ebo_helper() = default; template _Hashtable_ebo_helper(_OtherTp&& __tp) : _Tp(std::forward<_OtherTp>(__tp)) { } const _Tp& _M_cget() const { return static_cast(*this); } _Tp& _M_get() { return static_cast<_Tp&>(*this); } }; template struct _Hashtable_ebo_helper<_Nm, _Tp, false> { _Hashtable_ebo_helper() = default; template _Hashtable_ebo_helper(_OtherTp&& __tp) : _M_tp(std::forward<_OtherTp>(__tp)) { } const _Tp& _M_cget() const { return _M_tp; } _Tp& _M_get() { return _M_tp; } private: _Tp _M_tp; }; template struct _Local_iterator_base; # 1173 "/usr/include/c++/10/bits/hashtable_policy.h" 3 template struct _Hash_code_base; template struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false> : private _Hashtable_ebo_helper<0, _ExtractKey>, private _Hashtable_ebo_helper<1, _Hash> { private: using __ebo_extract_key = _Hashtable_ebo_helper<0, _ExtractKey>; using __ebo_hash = _Hashtable_ebo_helper<1, _Hash>; protected: typedef void* __hash_code; typedef _Hash_node<_Value, false> __node_type; _Hash_code_base() = default; _Hash_code_base(const _ExtractKey& __ex, const _H1&, const _H2&, const _Hash& __h) : __ebo_extract_key(__ex), __ebo_hash(__h) { } __hash_code _M_hash_code(const _Key& __key) const { return 0; } std::size_t _M_bucket_index(const _Key& __k, __hash_code, std::size_t __bkt_count) const { return _M_ranged_hash()(__k, __bkt_count); } std::size_t _M_bucket_index(const __node_type* __p, std::size_t __bkt_count) const noexcept( noexcept(declval()(declval(), (std::size_t)0)) ) { return _M_ranged_hash()(_M_extract()(__p->_M_v()), __bkt_count); } void _M_store_code(__node_type*, __hash_code) const { } void _M_copy_code(__node_type*, const __node_type*) const { } void _M_swap(_Hash_code_base& __x) { std::swap(__ebo_extract_key::_M_get(), __x.__ebo_extract_key::_M_get()); std::swap(__ebo_hash::_M_get(), __x.__ebo_hash::_M_get()); } const _ExtractKey& _M_extract() const { return __ebo_extract_key::_M_cget(); } const _Hash& _M_ranged_hash() const { return __ebo_hash::_M_cget(); } }; template struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, true>; template struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false> : private _Hashtable_ebo_helper<0, _ExtractKey>, private _Hashtable_ebo_helper<1, _H1>, private _Hashtable_ebo_helper<2, _H2> { private: using __ebo_extract_key = _Hashtable_ebo_helper<0, _ExtractKey>; using __ebo_h1 = _Hashtable_ebo_helper<1, _H1>; using __ebo_h2 = _Hashtable_ebo_helper<2, _H2>; friend struct _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, false>; public: typedef _H1 hasher; hasher hash_function() const { return _M_h1(); } protected: typedef std::size_t __hash_code; typedef _Hash_node<_Value, false> __node_type; _Hash_code_base() = default; _Hash_code_base(const _ExtractKey& __ex, const _H1& __h1, const _H2& __h2, const _Default_ranged_hash&) : __ebo_extract_key(__ex), __ebo_h1(__h1), __ebo_h2(__h2) { } __hash_code _M_hash_code(const _Key& __k) const { static_assert(__is_invocable{}, "hash function must be invocable with an argument of key type"); return _M_h1()(__k); } std::size_t _M_bucket_index(const _Key&, __hash_code __c, std::size_t __bkt_count) const { return _M_h2()(__c, __bkt_count); } std::size_t _M_bucket_index(const __node_type* __p, std::size_t __bkt_count) const noexcept( noexcept(declval()(declval())) && noexcept(declval()((__hash_code)0, (std::size_t)0)) ) { return _M_h2()(_M_h1()(_M_extract()(__p->_M_v())), __bkt_count); } void _M_store_code(__node_type*, __hash_code) const { } void _M_copy_code(__node_type*, const __node_type*) const { } void _M_swap(_Hash_code_base& __x) { std::swap(__ebo_extract_key::_M_get(), __x.__ebo_extract_key::_M_get()); std::swap(__ebo_h1::_M_get(), __x.__ebo_h1::_M_get()); std::swap(__ebo_h2::_M_get(), __x.__ebo_h2::_M_get()); } const _ExtractKey& _M_extract() const { return __ebo_extract_key::_M_cget(); } const _H1& _M_h1() const { return __ebo_h1::_M_cget(); } const _H2& _M_h2() const { return __ebo_h2::_M_cget(); } }; template struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, true> : private _Hashtable_ebo_helper<0, _ExtractKey>, private _Hashtable_ebo_helper<1, _H1>, private _Hashtable_ebo_helper<2, _H2> { private: friend struct _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, _Default_ranged_hash, true>; using __ebo_extract_key = _Hashtable_ebo_helper<0, _ExtractKey>; using __ebo_h1 = _Hashtable_ebo_helper<1, _H1>; using __ebo_h2 = _Hashtable_ebo_helper<2, _H2>; public: typedef _H1 hasher; hasher hash_function() const { return _M_h1(); } protected: typedef std::size_t __hash_code; typedef _Hash_node<_Value, true> __node_type; _Hash_code_base() = default; _Hash_code_base(const _ExtractKey& __ex, const _H1& __h1, const _H2& __h2, const _Default_ranged_hash&) : __ebo_extract_key(__ex), __ebo_h1(__h1), __ebo_h2(__h2) { } __hash_code _M_hash_code(const _Key& __k) const { static_assert(__is_invocable{}, "hash function must be invocable with an argument of key type"); return _M_h1()(__k); } std::size_t _M_bucket_index(const _Key&, __hash_code __c, std::size_t __bkt_count) const { return _M_h2()(__c, __bkt_count); } std::size_t _M_bucket_index(const __node_type* __p, std::size_t __bkt_count) const noexcept( noexcept(declval()((__hash_code)0, (std::size_t)0)) ) { return _M_h2()(__p->_M_hash_code, __bkt_count); } void _M_store_code(__node_type* __n, __hash_code __c) const { __n->_M_hash_code = __c; } void _M_copy_code(__node_type* __to, const __node_type* __from) const { __to->_M_hash_code = __from->_M_hash_code; } void _M_swap(_Hash_code_base& __x) { std::swap(__ebo_extract_key::_M_get(), __x.__ebo_extract_key::_M_get()); std::swap(__ebo_h1::_M_get(), __x.__ebo_h1::_M_get()); std::swap(__ebo_h2::_M_get(), __x.__ebo_h2::_M_get()); } const _ExtractKey& _M_extract() const { return __ebo_extract_key::_M_cget(); } const _H1& _M_h1() const { return __ebo_h1::_M_cget(); } const _H2& _M_h2() const { return __ebo_h2::_M_cget(); } }; template struct _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, true> : private _Hashtable_ebo_helper<0, _H2> { protected: using __base_type = _Hashtable_ebo_helper<0, _H2>; using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, true>; _Local_iterator_base() = default; _Local_iterator_base(const __hash_code_base& __base, _Hash_node<_Value, true>* __p, std::size_t __bkt, std::size_t __bkt_count) : __base_type(__base._M_h2()), _M_cur(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count) { } void _M_incr() { _M_cur = _M_cur->_M_next(); if (_M_cur) { std::size_t __bkt = __base_type::_M_get()(_M_cur->_M_hash_code, _M_bucket_count); if (__bkt != _M_bucket) _M_cur = nullptr; } } _Hash_node<_Value, true>* _M_cur; std::size_t _M_bucket; std::size_t _M_bucket_count; public: const void* _M_curr() const { return _M_cur; } std::size_t _M_get_bucket() const { return _M_bucket; } }; template::value> struct _Hash_code_storage { __gnu_cxx::__aligned_buffer<_Tp> _M_storage; _Tp* _M_h() { return _M_storage._M_ptr(); } const _Tp* _M_h() const { return _M_storage._M_ptr(); } }; template struct _Hash_code_storage<_Tp, true> { static_assert( std::is_empty<_Tp>::value, "Type must be empty" ); _Tp* _M_h() { return reinterpret_cast<_Tp*>(this); } const _Tp* _M_h() const { return reinterpret_cast(this); } }; template using __hash_code_for_local_iter = _Hash_code_storage<_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false>>; template struct _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false> : __hash_code_for_local_iter<_Key, _Value, _ExtractKey, _H1, _H2, _Hash> { protected: using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false>; _Local_iterator_base() : _M_bucket_count(-1) { } _Local_iterator_base(const __hash_code_base& __base, _Hash_node<_Value, false>* __p, std::size_t __bkt, std::size_t __bkt_count) : _M_cur(__p), _M_bucket(__bkt), _M_bucket_count(__bkt_count) { _M_init(__base); } ~_Local_iterator_base() { if (_M_bucket_count != -1) _M_destroy(); } _Local_iterator_base(const _Local_iterator_base& __iter) : _M_cur(__iter._M_cur), _M_bucket(__iter._M_bucket), _M_bucket_count(__iter._M_bucket_count) { if (_M_bucket_count != -1) _M_init(*__iter._M_h()); } _Local_iterator_base& operator=(const _Local_iterator_base& __iter) { if (_M_bucket_count != -1) _M_destroy(); _M_cur = __iter._M_cur; _M_bucket = __iter._M_bucket; _M_bucket_count = __iter._M_bucket_count; if (_M_bucket_count != -1) _M_init(*__iter._M_h()); return *this; } void _M_incr() { _M_cur = _M_cur->_M_next(); if (_M_cur) { std::size_t __bkt = this->_M_h()->_M_bucket_index(_M_cur, _M_bucket_count); if (__bkt != _M_bucket) _M_cur = nullptr; } } _Hash_node<_Value, false>* _M_cur; std::size_t _M_bucket; std::size_t _M_bucket_count; void _M_init(const __hash_code_base& __base) { ::new(this->_M_h()) __hash_code_base(__base); } void _M_destroy() { this->_M_h()->~__hash_code_base(); } public: const void* _M_curr() const { return _M_cur; } std::size_t _M_get_bucket() const { return _M_bucket; } }; template inline bool operator==(const _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache>& __x, const _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache>& __y) { return __x._M_curr() == __y._M_curr(); } template inline bool operator!=(const _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache>& __x, const _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache>& __y) { return __x._M_curr() != __y._M_curr(); } template struct _Local_iterator : public _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache> { private: using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache>; using __hash_code_base = typename __base_type::__hash_code_base; public: typedef _Value value_type; typedef typename std::conditional<__constant_iterators, const _Value*, _Value*>::type pointer; typedef typename std::conditional<__constant_iterators, const _Value&, _Value&>::type reference; typedef std::ptrdiff_t difference_type; typedef std::forward_iterator_tag iterator_category; _Local_iterator() = default; _Local_iterator(const __hash_code_base& __base, _Hash_node<_Value, __cache>* __n, std::size_t __bkt, std::size_t __bkt_count) : __base_type(__base, __n, __bkt, __bkt_count) { } reference operator*() const { return this->_M_cur->_M_v(); } pointer operator->() const { return this->_M_cur->_M_valptr(); } _Local_iterator& operator++() { this->_M_incr(); return *this; } _Local_iterator operator++(int) { _Local_iterator __tmp(*this); this->_M_incr(); return __tmp; } }; template struct _Local_const_iterator : public _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache> { private: using __base_type = _Local_iterator_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, __cache>; using __hash_code_base = typename __base_type::__hash_code_base; public: typedef _Value value_type; typedef const _Value* pointer; typedef const _Value& reference; typedef std::ptrdiff_t difference_type; typedef std::forward_iterator_tag iterator_category; _Local_const_iterator() = default; _Local_const_iterator(const __hash_code_base& __base, _Hash_node<_Value, __cache>* __n, std::size_t __bkt, std::size_t __bkt_count) : __base_type(__base, __n, __bkt, __bkt_count) { } _Local_const_iterator(const _Local_iterator<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, __constant_iterators, __cache>& __x) : __base_type(__x) { } reference operator*() const { return this->_M_cur->_M_v(); } pointer operator->() const { return this->_M_cur->_M_valptr(); } _Local_const_iterator& operator++() { this->_M_incr(); return *this; } _Local_const_iterator operator++(int) { _Local_const_iterator __tmp(*this); this->_M_incr(); return __tmp; } }; # 1723 "/usr/include/c++/10/bits/hashtable_policy.h" 3 template struct _Hashtable_base : public _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, _Traits::__hash_cached::value>, private _Hashtable_ebo_helper<0, _Equal> { public: typedef _Key key_type; typedef _Value value_type; typedef _Equal key_equal; typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; using __traits_type = _Traits; using __hash_cached = typename __traits_type::__hash_cached; using __constant_iterators = typename __traits_type::__constant_iterators; using __unique_keys = typename __traits_type::__unique_keys; using __hash_code_base = _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, __hash_cached::value>; using __hash_code = typename __hash_code_base::__hash_code; using __node_type = typename __hash_code_base::__node_type; using iterator = __detail::_Node_iterator; using const_iterator = __detail::_Node_const_iterator; using local_iterator = __detail::_Local_iterator; using const_local_iterator = __detail::_Local_const_iterator; using __ireturn_type = typename std::conditional<__unique_keys::value, std::pair, iterator>::type; private: using _EqualEBO = _Hashtable_ebo_helper<0, _Equal>; template struct _Equal_hash_code { static bool _S_equals(__hash_code, const _NodeT&) { return true; } }; template struct _Equal_hash_code<_Hash_node<_Ptr2, true>> { static bool _S_equals(__hash_code __c, const _Hash_node<_Ptr2, true>& __n) { return __c == __n._M_hash_code; } }; protected: _Hashtable_base() = default; _Hashtable_base(const _ExtractKey& __ex, const _H1& __h1, const _H2& __h2, const _Hash& __hash, const _Equal& __eq) : __hash_code_base(__ex, __h1, __h2, __hash), _EqualEBO(__eq) { } bool _M_equals(const _Key& __k, __hash_code __c, __node_type* __n) const { static_assert(__is_invocable{}, "key equality predicate must be invocable with two arguments of " "key type"); return _Equal_hash_code<__node_type>::_S_equals(__c, *__n) && _M_eq()(__k, this->_M_extract()(__n->_M_v())); } void _M_swap(_Hashtable_base& __x) { __hash_code_base::_M_swap(__x); std::swap(_EqualEBO::_M_get(), __x._EqualEBO::_M_get()); } const _Equal& _M_eq() const { return _EqualEBO::_M_cget(); } }; # 1827 "/usr/include/c++/10/bits/hashtable_policy.h" 3 template struct _Equality; template struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true> { using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>; bool _M_equal(const __hashtable&) const; }; template bool _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>:: _M_equal(const __hashtable& __other) const { using __node_base = typename __hashtable::__node_base; using __node_type = typename __hashtable::__node_type; const __hashtable* __this = static_cast(this); if (__this->size() != __other.size()) return false; for (auto __itx = __this->begin(); __itx != __this->end(); ++__itx) { std::size_t __ybkt = __other._M_bucket_index(__itx._M_cur); __node_base* __prev_n = __other._M_buckets[__ybkt]; if (!__prev_n) return false; for (__node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt);; __n = __n->_M_next()) { if (__n->_M_v() == *__itx) break; if (!__n->_M_nxt || __other._M_bucket_index(__n->_M_next()) != __ybkt) return false; } } return true; } template struct _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false> { using __hashtable = _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>; bool _M_equal(const __hashtable&) const; }; template bool _Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, false>:: _M_equal(const __hashtable& __other) const { using __node_base = typename __hashtable::__node_base; using __node_type = typename __hashtable::__node_type; const __hashtable* __this = static_cast(this); if (__this->size() != __other.size()) return false; for (auto __itx = __this->begin(); __itx != __this->end();) { std::size_t __x_count = 1; auto __itx_end = __itx; for (++__itx_end; __itx_end != __this->end() && __this->key_eq()(_ExtractKey()(*__itx), _ExtractKey()(*__itx_end)); ++__itx_end) ++__x_count; std::size_t __ybkt = __other._M_bucket_index(__itx._M_cur); __node_base* __y_prev_n = __other._M_buckets[__ybkt]; if (!__y_prev_n) return false; __node_type* __y_n = static_cast<__node_type*>(__y_prev_n->_M_nxt); for (;; __y_n = __y_n->_M_next()) { if (__this->key_eq()(_ExtractKey()(__y_n->_M_v()), _ExtractKey()(*__itx))) break; if (!__y_n->_M_nxt || __other._M_bucket_index(__y_n->_M_next()) != __ybkt) return false; } typename __hashtable::const_iterator __ity(__y_n); for (auto __ity_end = __ity; __ity_end != __other.end(); ++__ity_end) if (--__x_count == 0) break; if (__x_count != 0) return false; if (!std::is_permutation(__itx, __itx_end, __ity)) return false; __itx = __itx_end; } return true; } template struct _Hashtable_alloc : private _Hashtable_ebo_helper<0, _NodeAlloc> { private: using __ebo_node_alloc = _Hashtable_ebo_helper<0, _NodeAlloc>; public: using __node_type = typename _NodeAlloc::value_type; using __node_alloc_type = _NodeAlloc; using __node_alloc_traits = __gnu_cxx::__alloc_traits<__node_alloc_type>; using __value_alloc_traits = typename __node_alloc_traits::template rebind_traits; using __node_base = __detail::_Hash_node_base; using __bucket_type = __node_base*; using __bucket_alloc_type = __alloc_rebind<__node_alloc_type, __bucket_type>; using __bucket_alloc_traits = std::allocator_traits<__bucket_alloc_type>; _Hashtable_alloc() = default; _Hashtable_alloc(const _Hashtable_alloc&) = default; _Hashtable_alloc(_Hashtable_alloc&&) = default; template _Hashtable_alloc(_Alloc&& __a) : __ebo_node_alloc(std::forward<_Alloc>(__a)) { } __node_alloc_type& _M_node_allocator() { return __ebo_node_alloc::_M_get(); } const __node_alloc_type& _M_node_allocator() const { return __ebo_node_alloc::_M_cget(); } template __node_type* _M_allocate_node(_Args&&... __args); void _M_deallocate_node(__node_type* __n); void _M_deallocate_node_ptr(__node_type* __n); void _M_deallocate_nodes(__node_type* __n); __bucket_type* _M_allocate_buckets(std::size_t __bkt_count); void _M_deallocate_buckets(__bucket_type*, std::size_t __bkt_count); }; template template auto _Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&... __args) -> __node_type* { auto __nptr = __node_alloc_traits::allocate(_M_node_allocator(), 1); __node_type* __n = std::__to_address(__nptr); if (true) { ::new ((void*)__n) __node_type; __node_alloc_traits::construct(_M_node_allocator(), __n->_M_valptr(), std::forward<_Args>(__args)...); return __n; } if (false) { __node_alloc_traits::deallocate(_M_node_allocator(), __nptr, 1); ; } } template void _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_type* __n) { __node_alloc_traits::destroy(_M_node_allocator(), __n->_M_valptr()); _M_deallocate_node_ptr(__n); } template void _Hashtable_alloc<_NodeAlloc>::_M_deallocate_node_ptr(__node_type* __n) { typedef typename __node_alloc_traits::pointer _Ptr; auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__n); __n->~__node_type(); __node_alloc_traits::deallocate(_M_node_allocator(), __ptr, 1); } template void _Hashtable_alloc<_NodeAlloc>::_M_deallocate_nodes(__node_type* __n) { while (__n) { __node_type* __tmp = __n; __n = __n->_M_next(); _M_deallocate_node(__tmp); } } template typename _Hashtable_alloc<_NodeAlloc>::__bucket_type* _Hashtable_alloc<_NodeAlloc>::_M_allocate_buckets(std::size_t __bkt_count) { __bucket_alloc_type __alloc(_M_node_allocator()); auto __ptr = __bucket_alloc_traits::allocate(__alloc, __bkt_count); __bucket_type* __p = std::__to_address(__ptr); __builtin_memset(__p, 0, __bkt_count * sizeof(__bucket_type)); return __p; } template void _Hashtable_alloc<_NodeAlloc>::_M_deallocate_buckets(__bucket_type* __bkts, std::size_t __bkt_count) { typedef typename __bucket_alloc_traits::pointer _Ptr; auto __ptr = std::pointer_traits<_Ptr>::pointer_to(*__bkts); __bucket_alloc_type __alloc(_M_node_allocator()); __bucket_alloc_traits::deallocate(__alloc, __ptr, __bkt_count); } } } # 36 "/usr/include/c++/10/bits/hashtable.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template using __cache_default = __not_<__and_< __is_fast_hash<_Hash>, __is_nothrow_invocable>>; # 169 "/usr/include/c++/10/bits/hashtable.h" 3 template class _Hashtable : public __detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits>, public __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>, public __detail::_Insert<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>, public __detail::_Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>, public __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>, private __detail::_Hashtable_alloc< __alloc_rebind<_Alloc, __detail::_Hash_node<_Value, _Traits::__hash_cached::value>>> { static_assert(is_same::type, _Value>::value, "unordered container must have a non-const, non-volatile value_type"); using __traits_type = _Traits; using __hash_cached = typename __traits_type::__hash_cached; using __node_type = __detail::_Hash_node<_Value, __hash_cached::value>; using __node_alloc_type = __alloc_rebind<_Alloc, __node_type>; using __hashtable_alloc = __detail::_Hashtable_alloc<__node_alloc_type>; using __value_alloc_traits = typename __hashtable_alloc::__value_alloc_traits; using __node_alloc_traits = typename __hashtable_alloc::__node_alloc_traits; using __node_base = typename __hashtable_alloc::__node_base; using __bucket_type = typename __hashtable_alloc::__bucket_type; public: typedef _Key key_type; typedef _Value value_type; typedef _Alloc allocator_type; typedef _Equal key_equal; typedef typename __value_alloc_traits::pointer pointer; typedef typename __value_alloc_traits::const_pointer const_pointer; typedef value_type& reference; typedef const value_type& const_reference; private: using __rehash_type = _RehashPolicy; using __rehash_state = typename __rehash_type::_State; using __constant_iterators = typename __traits_type::__constant_iterators; using __unique_keys = typename __traits_type::__unique_keys; using __key_extract = typename std::conditional< __constant_iterators::value, __detail::_Identity, __detail::_Select1st>::type; using __hashtable_base = __detail:: _Hashtable_base<_Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits>; using __hash_code_base = typename __hashtable_base::__hash_code_base; using __hash_code = typename __hashtable_base::__hash_code; using __ireturn_type = typename __hashtable_base::__ireturn_type; using __map_base = __detail::_Map_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>; using __rehash_base = __detail::_Rehash_base<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>; using __eq_base = __detail::_Equality<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>; using __reuse_or_alloc_node_gen_t = __detail::_ReuseOrAllocNode<__node_alloc_type>; using __alloc_node_gen_t = __detail::_AllocNode<__node_alloc_type>; struct _Scoped_node { _Scoped_node(__node_type* __n, __hashtable_alloc* __h) : _M_h(__h), _M_node(__n) { } template _Scoped_node(__hashtable_alloc* __h, _Args&&... __args) : _M_h(__h), _M_node(__h->_M_allocate_node(std::forward<_Args>(__args)...)) { } ~_Scoped_node() { if (_M_node) _M_h->_M_deallocate_node(_M_node); }; _Scoped_node(const _Scoped_node&) = delete; _Scoped_node& operator=(const _Scoped_node&) = delete; __hashtable_alloc* _M_h; __node_type* _M_node; }; template static constexpr typename conditional::value, const value_type&, value_type&&>::type __fwd_value_for(value_type& __val) noexcept { return std::move(__val); } template using __if_hash_cached = __or_<__not_<__hash_cached>, _Cond>; template using __if_hash_not_cached = __or_<__hash_cached, _Cond>; struct __hash_code_base_access : __hash_code_base { using __hash_code_base::_M_bucket_index; }; static_assert(noexcept(declval() ._M_bucket_index((const __node_type*)nullptr, (std::size_t)0)), "Cache the hash code or qualify your functors involved" " in hash code and bucket index computation with noexcept"); static_assert(__if_hash_cached>::value, "Functor used to map hash code to bucket index" " must be default constructible"); template friend struct __detail::_Map_base; template friend struct __detail::_Insert_base; template friend struct __detail::_Insert; template friend struct __detail::_Equality; public: using size_type = typename __hashtable_base::size_type; using difference_type = typename __hashtable_base::difference_type; using iterator = typename __hashtable_base::iterator; using const_iterator = typename __hashtable_base::const_iterator; using local_iterator = typename __hashtable_base::local_iterator; using const_local_iterator = typename __hashtable_base:: const_local_iterator; private: __bucket_type* _M_buckets = &_M_single_bucket; size_type _M_bucket_count = 1; __node_base _M_before_begin; size_type _M_element_count = 0; _RehashPolicy _M_rehash_policy; __bucket_type _M_single_bucket = nullptr; bool _M_uses_single_bucket(__bucket_type* __bkts) const { return __builtin_expect(__bkts == &_M_single_bucket, false); } bool _M_uses_single_bucket() const { return _M_uses_single_bucket(_M_buckets); } __hashtable_alloc& _M_base_alloc() { return *this; } __bucket_type* _M_allocate_buckets(size_type __bkt_count) { if (__builtin_expect(__bkt_count == 1, false)) { _M_single_bucket = nullptr; return &_M_single_bucket; } return __hashtable_alloc::_M_allocate_buckets(__bkt_count); } void _M_deallocate_buckets(__bucket_type* __bkts, size_type __bkt_count) { if (_M_uses_single_bucket(__bkts)) return; __hashtable_alloc::_M_deallocate_buckets(__bkts, __bkt_count); } void _M_deallocate_buckets() { _M_deallocate_buckets(_M_buckets, _M_bucket_count); } __node_type* _M_bucket_begin(size_type __bkt) const; __node_type* _M_begin() const { return static_cast<__node_type*>(_M_before_begin._M_nxt); } template void _M_assign_elements(_Ht&&); template void _M_assign(_Ht&&, const _NodeGenerator&); void _M_move_assign(_Hashtable&&, true_type); void _M_move_assign(_Hashtable&&, false_type); void _M_reset() noexcept; _Hashtable(const _H1& __h1, const _H2& __h2, const _Hash& __h, const _Equal& __eq, const _ExtractKey& __exk, const allocator_type& __a) : __hashtable_base(__exk, __h1, __h2, __h, __eq), __hashtable_alloc(__node_alloc_type(__a)) { } public: _Hashtable() = default; _Hashtable(size_type __bkt_count_hint, const _H1&, const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, const allocator_type&); template _Hashtable(_InputIterator __first, _InputIterator __last, size_type __bkt_count_hint, const _H1&, const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, const allocator_type&); _Hashtable(const _Hashtable&); _Hashtable(_Hashtable&&) noexcept; _Hashtable(const _Hashtable&, const allocator_type&); _Hashtable(_Hashtable&&, const allocator_type&); explicit _Hashtable(const allocator_type& __a) : __hashtable_alloc(__node_alloc_type(__a)) { } explicit _Hashtable(size_type __bkt_count_hint, const _H1& __hf = _H1(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _Hashtable(__bkt_count_hint, __hf, _H2(), _Hash(), __eql, __key_extract(), __a) { } template _Hashtable(_InputIterator __f, _InputIterator __l, size_type __bkt_count_hint = 0, const _H1& __hf = _H1(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _Hashtable(__f, __l, __bkt_count_hint, __hf, _H2(), _Hash(), __eql, __key_extract(), __a) { } _Hashtable(initializer_list __l, size_type __bkt_count_hint = 0, const _H1& __hf = _H1(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _Hashtable(__l.begin(), __l.end(), __bkt_count_hint, __hf, _H2(), _Hash(), __eql, __key_extract(), __a) { } _Hashtable& operator=(const _Hashtable& __ht); _Hashtable& operator=(_Hashtable&& __ht) noexcept(__node_alloc_traits::_S_nothrow_move() && is_nothrow_move_assignable<_H1>::value && is_nothrow_move_assignable<_Equal>::value) { constexpr bool __move_storage = __node_alloc_traits::_S_propagate_on_move_assign() || __node_alloc_traits::_S_always_equal(); _M_move_assign(std::move(__ht), __bool_constant<__move_storage>()); return *this; } _Hashtable& operator=(initializer_list __l) { __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this); _M_before_begin._M_nxt = nullptr; clear(); this->_M_insert_range(__l.begin(), __l.end(), __roan, __unique_keys()); return *this; } ~_Hashtable() noexcept; void swap(_Hashtable&) noexcept(__and_<__is_nothrow_swappable<_H1>, __is_nothrow_swappable<_Equal>>::value); iterator begin() noexcept { return iterator(_M_begin()); } const_iterator begin() const noexcept { return const_iterator(_M_begin()); } iterator end() noexcept { return iterator(nullptr); } const_iterator end() const noexcept { return const_iterator(nullptr); } const_iterator cbegin() const noexcept { return const_iterator(_M_begin()); } const_iterator cend() const noexcept { return const_iterator(nullptr); } size_type size() const noexcept { return _M_element_count; } bool empty() const noexcept { return size() == 0; } allocator_type get_allocator() const noexcept { return allocator_type(this->_M_node_allocator()); } size_type max_size() const noexcept { return __node_alloc_traits::max_size(this->_M_node_allocator()); } key_equal key_eq() const { return this->_M_eq(); } size_type bucket_count() const noexcept { return _M_bucket_count; } size_type max_bucket_count() const noexcept { return max_size(); } size_type bucket_size(size_type __bkt) const { return std::distance(begin(__bkt), end(__bkt)); } size_type bucket(const key_type& __k) const { return _M_bucket_index(__k, this->_M_hash_code(__k)); } local_iterator begin(size_type __bkt) { return local_iterator(*this, _M_bucket_begin(__bkt), __bkt, _M_bucket_count); } local_iterator end(size_type __bkt) { return local_iterator(*this, nullptr, __bkt, _M_bucket_count); } const_local_iterator begin(size_type __bkt) const { return const_local_iterator(*this, _M_bucket_begin(__bkt), __bkt, _M_bucket_count); } const_local_iterator end(size_type __bkt) const { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); } const_local_iterator cbegin(size_type __bkt) const { return const_local_iterator(*this, _M_bucket_begin(__bkt), __bkt, _M_bucket_count); } const_local_iterator cend(size_type __bkt) const { return const_local_iterator(*this, nullptr, __bkt, _M_bucket_count); } float load_factor() const noexcept { return static_cast(size()) / static_cast(bucket_count()); } const _RehashPolicy& __rehash_policy() const { return _M_rehash_policy; } void __rehash_policy(const _RehashPolicy& __pol) { _M_rehash_policy = __pol; } iterator find(const key_type& __k); const_iterator find(const key_type& __k) const; size_type count(const key_type& __k) const; std::pair equal_range(const key_type& __k); std::pair equal_range(const key_type& __k) const; protected: size_type _M_bucket_index(__node_type* __n) const noexcept { return __hash_code_base::_M_bucket_index(__n, _M_bucket_count); } size_type _M_bucket_index(const key_type& __k, __hash_code __c) const { return __hash_code_base::_M_bucket_index(__k, __c, _M_bucket_count); } __node_base* _M_find_before_node(size_type, const key_type&, __hash_code) const; __node_type* _M_find_node(size_type __bkt, const key_type& __key, __hash_code __c) const { __node_base* __before_n = _M_find_before_node(__bkt, __key, __c); if (__before_n) return static_cast<__node_type*>(__before_n->_M_nxt); return nullptr; } void _M_insert_bucket_begin(size_type, __node_type*); void _M_remove_bucket_begin(size_type __bkt, __node_type* __next_n, size_type __next_bkt); __node_base* _M_get_previous_node(size_type __bkt, __node_base* __n); iterator _M_insert_unique_node(const key_type& __k, size_type __bkt, __hash_code __code, __node_type* __n, size_type __n_elt = 1); iterator _M_insert_multi_node(__node_type* __hint, const key_type& __k, __hash_code __code, __node_type* __n); template std::pair _M_emplace(true_type, _Args&&... __args); template iterator _M_emplace(false_type __uk, _Args&&... __args) { return _M_emplace(cend(), __uk, std::forward<_Args>(__args)...); } template iterator _M_emplace(const_iterator, true_type __uk, _Args&&... __args) { return _M_emplace(__uk, std::forward<_Args>(__args)...).first; } template iterator _M_emplace(const_iterator, false_type, _Args&&... __args); template std::pair _M_insert(_Arg&&, const _NodeGenerator&, true_type, size_type = 1); template iterator _M_insert(_Arg&& __arg, const _NodeGenerator& __node_gen, false_type __uk) { return _M_insert(cend(), std::forward<_Arg>(__arg), __node_gen, __uk); } template iterator _M_insert(const_iterator, _Arg&& __arg, const _NodeGenerator& __node_gen, true_type __uk) { return _M_insert(std::forward<_Arg>(__arg), __node_gen, __uk).first; } template iterator _M_insert(const_iterator, _Arg&&, const _NodeGenerator&, false_type); size_type _M_erase(true_type, const key_type&); size_type _M_erase(false_type, const key_type&); iterator _M_erase(size_type __bkt, __node_base* __prev_n, __node_type* __n); public: template __ireturn_type emplace(_Args&&... __args) { return _M_emplace(__unique_keys(), std::forward<_Args>(__args)...); } template iterator emplace_hint(const_iterator __hint, _Args&&... __args) { return _M_emplace(__hint, __unique_keys(), std::forward<_Args>(__args)...); } iterator erase(const_iterator); iterator erase(iterator __it) { return erase(const_iterator(__it)); } size_type erase(const key_type& __k) { return _M_erase(__unique_keys(), __k); } iterator erase(const_iterator, const_iterator); void clear() noexcept; void rehash(size_type __bkt_count); # 962 "/usr/include/c++/10/bits/hashtable.h" 3 private: void _M_rehash_aux(size_type __bkt_count, true_type); void _M_rehash_aux(size_type __bkt_count, false_type); void _M_rehash(size_type __bkt_count, const __rehash_state& __state); }; template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_bucket_begin(size_type __bkt) const -> __node_type* { __node_base* __n = _M_buckets[__bkt]; return __n ? static_cast<__node_type*>(__n->_M_nxt) : nullptr; } template _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _Hashtable(size_type __bkt_count_hint, const _H1& __h1, const _H2& __h2, const _Hash& __h, const _Equal& __eq, const _ExtractKey& __exk, const allocator_type& __a) : _Hashtable(__h1, __h2, __h, __eq, __exk, __a) { auto __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count_hint); if (__bkt_count > _M_bucket_count) { _M_buckets = _M_allocate_buckets(__bkt_count); _M_bucket_count = __bkt_count; } } template template _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _Hashtable(_InputIterator __f, _InputIterator __l, size_type __bkt_count_hint, const _H1& __h1, const _H2& __h2, const _Hash& __h, const _Equal& __eq, const _ExtractKey& __exk, const allocator_type& __a) : _Hashtable(__h1, __h2, __h, __eq, __exk, __a) { auto __nb_elems = __detail::__distance_fw(__f, __l); auto __bkt_count = _M_rehash_policy._M_next_bkt( std::max(_M_rehash_policy._M_bkt_for_elements(__nb_elems), __bkt_count_hint)); if (__bkt_count > _M_bucket_count) { _M_buckets = _M_allocate_buckets(__bkt_count); _M_bucket_count = __bkt_count; } for (; __f != __l; ++__f) this->insert(*__f); } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: operator=(const _Hashtable& __ht) -> _Hashtable& { if (&__ht == this) return *this; if (__node_alloc_traits::_S_propagate_on_copy_assign()) { auto& __this_alloc = this->_M_node_allocator(); auto& __that_alloc = __ht._M_node_allocator(); if (!__node_alloc_traits::_S_always_equal() && __this_alloc != __that_alloc) { this->_M_deallocate_nodes(_M_begin()); _M_before_begin._M_nxt = nullptr; _M_deallocate_buckets(); _M_buckets = nullptr; std::__alloc_on_copy(__this_alloc, __that_alloc); __hashtable_base::operator=(__ht); _M_bucket_count = __ht._M_bucket_count; _M_element_count = __ht._M_element_count; _M_rehash_policy = __ht._M_rehash_policy; __alloc_node_gen_t __alloc_node_gen(*this); if (true) { _M_assign(__ht, __alloc_node_gen); } if (false) { _M_reset(); ; } return *this; } std::__alloc_on_copy(__this_alloc, __that_alloc); } _M_assign_elements(__ht); return *this; } template template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_assign_elements(_Ht&& __ht) { __bucket_type* __former_buckets = nullptr; std::size_t __former_bucket_count = _M_bucket_count; const __rehash_state& __former_state = _M_rehash_policy._M_state(); if (_M_bucket_count != __ht._M_bucket_count) { __former_buckets = _M_buckets; _M_buckets = _M_allocate_buckets(__ht._M_bucket_count); _M_bucket_count = __ht._M_bucket_count; } else __builtin_memset(_M_buckets, 0, _M_bucket_count * sizeof(__bucket_type)); if (true) { __hashtable_base::operator=(std::forward<_Ht>(__ht)); _M_element_count = __ht._M_element_count; _M_rehash_policy = __ht._M_rehash_policy; __reuse_or_alloc_node_gen_t __roan(_M_begin(), *this); _M_before_begin._M_nxt = nullptr; _M_assign(std::forward<_Ht>(__ht), __roan); if (__former_buckets) _M_deallocate_buckets(__former_buckets, __former_bucket_count); } if (false) { if (__former_buckets) { _M_deallocate_buckets(); _M_rehash_policy._M_reset(__former_state); _M_buckets = __former_buckets; _M_bucket_count = __former_bucket_count; } __builtin_memset(_M_buckets, 0, _M_bucket_count * sizeof(__bucket_type)); ; } } template template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_assign(_Ht&& __ht, const _NodeGenerator& __node_gen) { __bucket_type* __buckets = nullptr; if (!_M_buckets) _M_buckets = __buckets = _M_allocate_buckets(_M_bucket_count); if (true) { if (!__ht._M_before_begin._M_nxt) return; __node_type* __ht_n = __ht._M_begin(); __node_type* __this_n = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v())); this->_M_copy_code(__this_n, __ht_n); _M_before_begin._M_nxt = __this_n; _M_buckets[_M_bucket_index(__this_n)] = &_M_before_begin; __node_base* __prev_n = __this_n; for (__ht_n = __ht_n->_M_next(); __ht_n; __ht_n = __ht_n->_M_next()) { __this_n = __node_gen(__fwd_value_for<_Ht>(__ht_n->_M_v())); __prev_n->_M_nxt = __this_n; this->_M_copy_code(__this_n, __ht_n); size_type __bkt = _M_bucket_index(__this_n); if (!_M_buckets[__bkt]) _M_buckets[__bkt] = __prev_n; __prev_n = __this_n; } } if (false) { clear(); if (__buckets) _M_deallocate_buckets(); ; } } template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_reset() noexcept { _M_rehash_policy._M_reset(); _M_bucket_count = 1; _M_single_bucket = nullptr; _M_buckets = &_M_single_bucket; _M_before_begin._M_nxt = nullptr; _M_element_count = 0; } template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_move_assign(_Hashtable&& __ht, true_type) { this->_M_deallocate_nodes(_M_begin()); _M_deallocate_buckets(); __hashtable_base::operator=(std::move(__ht)); _M_rehash_policy = __ht._M_rehash_policy; if (!__ht._M_uses_single_bucket()) _M_buckets = __ht._M_buckets; else { _M_buckets = &_M_single_bucket; _M_single_bucket = __ht._M_single_bucket; } _M_bucket_count = __ht._M_bucket_count; _M_before_begin._M_nxt = __ht._M_before_begin._M_nxt; _M_element_count = __ht._M_element_count; std::__alloc_on_move(this->_M_node_allocator(), __ht._M_node_allocator()); if (_M_begin()) _M_buckets[_M_bucket_index(_M_begin())] = &_M_before_begin; __ht._M_reset(); } template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_move_assign(_Hashtable&& __ht, false_type) { if (__ht._M_node_allocator() == this->_M_node_allocator()) _M_move_assign(std::move(__ht), true_type()); else { _M_assign_elements(std::move(__ht)); __ht.clear(); } } template _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _Hashtable(const _Hashtable& __ht) : __hashtable_base(__ht), __map_base(__ht), __rehash_base(__ht), __hashtable_alloc( __node_alloc_traits::_S_select_on_copy(__ht._M_node_allocator())), _M_buckets(nullptr), _M_bucket_count(__ht._M_bucket_count), _M_element_count(__ht._M_element_count), _M_rehash_policy(__ht._M_rehash_policy) { __alloc_node_gen_t __alloc_node_gen(*this); _M_assign(__ht, __alloc_node_gen); } template _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _Hashtable(_Hashtable&& __ht) noexcept : __hashtable_base(__ht), __map_base(__ht), __rehash_base(__ht), __hashtable_alloc(std::move(__ht._M_base_alloc())), _M_buckets(__ht._M_buckets), _M_bucket_count(__ht._M_bucket_count), _M_before_begin(__ht._M_before_begin._M_nxt), _M_element_count(__ht._M_element_count), _M_rehash_policy(__ht._M_rehash_policy) { if (__ht._M_uses_single_bucket()) { _M_buckets = &_M_single_bucket; _M_single_bucket = __ht._M_single_bucket; } if (_M_begin()) _M_buckets[_M_bucket_index(_M_begin())] = &_M_before_begin; __ht._M_reset(); } template _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _Hashtable(const _Hashtable& __ht, const allocator_type& __a) : __hashtable_base(__ht), __map_base(__ht), __rehash_base(__ht), __hashtable_alloc(__node_alloc_type(__a)), _M_buckets(), _M_bucket_count(__ht._M_bucket_count), _M_element_count(__ht._M_element_count), _M_rehash_policy(__ht._M_rehash_policy) { __alloc_node_gen_t __alloc_node_gen(*this); _M_assign(__ht, __alloc_node_gen); } template _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _Hashtable(_Hashtable&& __ht, const allocator_type& __a) : __hashtable_base(__ht), __map_base(__ht), __rehash_base(__ht), __hashtable_alloc(__node_alloc_type(__a)), _M_buckets(nullptr), _M_bucket_count(__ht._M_bucket_count), _M_element_count(__ht._M_element_count), _M_rehash_policy(__ht._M_rehash_policy) { if (__ht._M_node_allocator() == this->_M_node_allocator()) { if (__ht._M_uses_single_bucket()) { _M_buckets = &_M_single_bucket; _M_single_bucket = __ht._M_single_bucket; } else _M_buckets = __ht._M_buckets; _M_before_begin._M_nxt = __ht._M_before_begin._M_nxt; if (_M_begin()) _M_buckets[_M_bucket_index(_M_begin())] = &_M_before_begin; __ht._M_reset(); } else { __alloc_node_gen_t __alloc_gen(*this); using _Fwd_Ht = typename conditional<__move_if_noexcept_cond::value, const _Hashtable&, _Hashtable&&>::type; _M_assign(std::forward<_Fwd_Ht>(__ht), __alloc_gen); __ht.clear(); } } template _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: ~_Hashtable() noexcept { clear(); _M_deallocate_buckets(); } template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: swap(_Hashtable& __x) noexcept(__and_<__is_nothrow_swappable<_H1>, __is_nothrow_swappable<_Equal>>::value) { this->_M_swap(__x); std::__alloc_on_swap(this->_M_node_allocator(), __x._M_node_allocator()); std::swap(_M_rehash_policy, __x._M_rehash_policy); if (this->_M_uses_single_bucket()) { if (!__x._M_uses_single_bucket()) { _M_buckets = __x._M_buckets; __x._M_buckets = &__x._M_single_bucket; } } else if (__x._M_uses_single_bucket()) { __x._M_buckets = _M_buckets; _M_buckets = &_M_single_bucket; } else std::swap(_M_buckets, __x._M_buckets); std::swap(_M_bucket_count, __x._M_bucket_count); std::swap(_M_before_begin._M_nxt, __x._M_before_begin._M_nxt); std::swap(_M_element_count, __x._M_element_count); std::swap(_M_single_bucket, __x._M_single_bucket); if (_M_begin()) _M_buckets[_M_bucket_index(_M_begin())] = &_M_before_begin; if (__x._M_begin()) __x._M_buckets[__x._M_bucket_index(__x._M_begin())] = &__x._M_before_begin; } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: find(const key_type& __k) -> iterator { __hash_code __code = this->_M_hash_code(__k); std::size_t __bkt = _M_bucket_index(__k, __code); __node_type* __p = _M_find_node(__bkt, __k, __code); return __p ? iterator(__p) : end(); } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: find(const key_type& __k) const -> const_iterator { __hash_code __code = this->_M_hash_code(__k); std::size_t __bkt = _M_bucket_index(__k, __code); __node_type* __p = _M_find_node(__bkt, __k, __code); return __p ? const_iterator(__p) : end(); } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: count(const key_type& __k) const -> size_type { __hash_code __code = this->_M_hash_code(__k); std::size_t __bkt = _M_bucket_index(__k, __code); __node_type* __p = _M_bucket_begin(__bkt); if (!__p) return 0; std::size_t __result = 0; for (;; __p = __p->_M_next()) { if (this->_M_equals(__k, __code, __p)) ++__result; else if (__result) break; if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __bkt) break; } return __result; } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: equal_range(const key_type& __k) -> pair { __hash_code __code = this->_M_hash_code(__k); std::size_t __bkt = _M_bucket_index(__k, __code); __node_type* __p = _M_find_node(__bkt, __k, __code); if (__p) { __node_type* __p1 = __p->_M_next(); while (__p1 && _M_bucket_index(__p1) == __bkt && this->_M_equals(__k, __code, __p1)) __p1 = __p1->_M_next(); return std::make_pair(iterator(__p), iterator(__p1)); } else return std::make_pair(end(), end()); } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: equal_range(const key_type& __k) const -> pair { __hash_code __code = this->_M_hash_code(__k); std::size_t __bkt = _M_bucket_index(__k, __code); __node_type* __p = _M_find_node(__bkt, __k, __code); if (__p) { __node_type* __p1 = __p->_M_next(); while (__p1 && _M_bucket_index(__p1) == __bkt && this->_M_equals(__k, __code, __p1)) __p1 = __p1->_M_next(); return std::make_pair(const_iterator(__p), const_iterator(__p1)); } else return std::make_pair(end(), end()); } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_find_before_node(size_type __bkt, const key_type& __k, __hash_code __code) const -> __node_base* { __node_base* __prev_p = _M_buckets[__bkt]; if (!__prev_p) return nullptr; for (__node_type* __p = static_cast<__node_type*>(__prev_p->_M_nxt);; __p = __p->_M_next()) { if (this->_M_equals(__k, __code, __p)) return __prev_p; if (!__p->_M_nxt || _M_bucket_index(__p->_M_next()) != __bkt) break; __prev_p = __p; } return nullptr; } template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_insert_bucket_begin(size_type __bkt, __node_type* __node) { if (_M_buckets[__bkt]) { __node->_M_nxt = _M_buckets[__bkt]->_M_nxt; _M_buckets[__bkt]->_M_nxt = __node; } else { __node->_M_nxt = _M_before_begin._M_nxt; _M_before_begin._M_nxt = __node; if (__node->_M_nxt) _M_buckets[_M_bucket_index(__node->_M_next())] = __node; _M_buckets[__bkt] = &_M_before_begin; } } template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_remove_bucket_begin(size_type __bkt, __node_type* __next, size_type __next_bkt) { if (!__next || __next_bkt != __bkt) { if (__next) _M_buckets[__next_bkt] = _M_buckets[__bkt]; if (&_M_before_begin == _M_buckets[__bkt]) _M_before_begin._M_nxt = __next; _M_buckets[__bkt] = nullptr; } } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_get_previous_node(size_type __bkt, __node_base* __n) -> __node_base* { __node_base* __prev_n = _M_buckets[__bkt]; while (__prev_n->_M_nxt != __n) __prev_n = __prev_n->_M_nxt; return __prev_n; } template template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_emplace(true_type, _Args&&... __args) -> pair { _Scoped_node __node { this, std::forward<_Args>(__args)... }; const key_type& __k = this->_M_extract()(__node._M_node->_M_v()); __hash_code __code = this->_M_hash_code(__k); size_type __bkt = _M_bucket_index(__k, __code); if (__node_type* __p = _M_find_node(__bkt, __k, __code)) return std::make_pair(iterator(__p), false); auto __pos = _M_insert_unique_node(__k, __bkt, __code, __node._M_node); __node._M_node = nullptr; return { __pos, true }; } template template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_emplace(const_iterator __hint, false_type, _Args&&... __args) -> iterator { _Scoped_node __node { this, std::forward<_Args>(__args)... }; const key_type& __k = this->_M_extract()(__node._M_node->_M_v()); __hash_code __code = this->_M_hash_code(__k); auto __pos = _M_insert_multi_node(__hint._M_cur, __k, __code, __node._M_node); __node._M_node = nullptr; return __pos; } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_insert_unique_node(const key_type& __k, size_type __bkt, __hash_code __code, __node_type* __node, size_type __n_elt) -> iterator { const __rehash_state& __saved_state = _M_rehash_policy._M_state(); std::pair __do_rehash = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count, __n_elt); if (__do_rehash.first) { _M_rehash(__do_rehash.second, __saved_state); __bkt = _M_bucket_index(__k, __code); } this->_M_store_code(__node, __code); _M_insert_bucket_begin(__bkt, __node); ++_M_element_count; return iterator(__node); } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_insert_multi_node(__node_type* __hint, const key_type& __k, __hash_code __code, __node_type* __node) -> iterator { const __rehash_state& __saved_state = _M_rehash_policy._M_state(); std::pair __do_rehash = _M_rehash_policy._M_need_rehash(_M_bucket_count, _M_element_count, 1); if (__do_rehash.first) _M_rehash(__do_rehash.second, __saved_state); this->_M_store_code(__node, __code); size_type __bkt = _M_bucket_index(__k, __code); __node_base* __prev = __builtin_expect(__hint != nullptr, false) && this->_M_equals(__k, __code, __hint) ? __hint : _M_find_before_node(__bkt, __k, __code); if (__prev) { __node->_M_nxt = __prev->_M_nxt; __prev->_M_nxt = __node; if (__builtin_expect(__prev == __hint, false)) if (__node->_M_nxt && !this->_M_equals(__k, __code, __node->_M_next())) { size_type __next_bkt = _M_bucket_index(__node->_M_next()); if (__next_bkt != __bkt) _M_buckets[__next_bkt] = __node; } } else _M_insert_bucket_begin(__bkt, __node); ++_M_element_count; return iterator(__node); } template template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_insert(_Arg&& __v, const _NodeGenerator& __node_gen, true_type, size_type __n_elt) -> pair { const key_type& __k = this->_M_extract()(__v); __hash_code __code = this->_M_hash_code(__k); size_type __bkt = _M_bucket_index(__k, __code); if (__node_type* __node = _M_find_node(__bkt, __k, __code)) return { iterator(__node), false }; _Scoped_node __node{ __node_gen(std::forward<_Arg>(__v)), this }; auto __pos = _M_insert_unique_node(__k, __bkt, __code, __node._M_node, __n_elt); __node._M_node = nullptr; return { __pos, true }; } template template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_insert(const_iterator __hint, _Arg&& __v, const _NodeGenerator& __node_gen, false_type) -> iterator { __hash_code __code = this->_M_hash_code(this->_M_extract()(__v)); _Scoped_node __node{ __node_gen(std::forward<_Arg>(__v)), this }; const key_type& __k = this->_M_extract()(__node._M_node->_M_v()); auto __pos = _M_insert_multi_node(__hint._M_cur, __k, __code, __node._M_node); __node._M_node = nullptr; return __pos; } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: erase(const_iterator __it) -> iterator { __node_type* __n = __it._M_cur; std::size_t __bkt = _M_bucket_index(__n); __node_base* __prev_n = _M_get_previous_node(__bkt, __n); return _M_erase(__bkt, __prev_n, __n); } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_erase(size_type __bkt, __node_base* __prev_n, __node_type* __n) -> iterator { if (__prev_n == _M_buckets[__bkt]) _M_remove_bucket_begin(__bkt, __n->_M_next(), __n->_M_nxt ? _M_bucket_index(__n->_M_next()) : 0); else if (__n->_M_nxt) { size_type __next_bkt = _M_bucket_index(__n->_M_next()); if (__next_bkt != __bkt) _M_buckets[__next_bkt] = __prev_n; } __prev_n->_M_nxt = __n->_M_nxt; iterator __result(__n->_M_next()); this->_M_deallocate_node(__n); --_M_element_count; return __result; } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_erase(true_type, const key_type& __k) -> size_type { __hash_code __code = this->_M_hash_code(__k); std::size_t __bkt = _M_bucket_index(__k, __code); __node_base* __prev_n = _M_find_before_node(__bkt, __k, __code); if (!__prev_n) return 0; __node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt); _M_erase(__bkt, __prev_n, __n); return 1; } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_erase(false_type, const key_type& __k) -> size_type { __hash_code __code = this->_M_hash_code(__k); std::size_t __bkt = _M_bucket_index(__k, __code); __node_base* __prev_n = _M_find_before_node(__bkt, __k, __code); if (!__prev_n) return 0; __node_type* __n = static_cast<__node_type*>(__prev_n->_M_nxt); __node_type* __n_last = __n; std::size_t __n_last_bkt = __bkt; do { __n_last = __n_last->_M_next(); if (!__n_last) break; __n_last_bkt = _M_bucket_index(__n_last); } while (__n_last_bkt == __bkt && this->_M_equals(__k, __code, __n_last)); size_type __result = 0; do { __node_type* __p = __n->_M_next(); this->_M_deallocate_node(__n); __n = __p; ++__result; --_M_element_count; } while (__n != __n_last); if (__prev_n == _M_buckets[__bkt]) _M_remove_bucket_begin(__bkt, __n_last, __n_last_bkt); else if (__n_last && __n_last_bkt != __bkt) _M_buckets[__n_last_bkt] = __prev_n; __prev_n->_M_nxt = __n_last; return __result; } template auto _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: erase(const_iterator __first, const_iterator __last) -> iterator { __node_type* __n = __first._M_cur; __node_type* __last_n = __last._M_cur; if (__n == __last_n) return iterator(__n); std::size_t __bkt = _M_bucket_index(__n); __node_base* __prev_n = _M_get_previous_node(__bkt, __n); bool __is_bucket_begin = __n == _M_bucket_begin(__bkt); std::size_t __n_bkt = __bkt; for (;;) { do { __node_type* __tmp = __n; __n = __n->_M_next(); this->_M_deallocate_node(__tmp); --_M_element_count; if (!__n) break; __n_bkt = _M_bucket_index(__n); } while (__n != __last_n && __n_bkt == __bkt); if (__is_bucket_begin) _M_remove_bucket_begin(__bkt, __n, __n_bkt); if (__n == __last_n) break; __is_bucket_begin = true; __bkt = __n_bkt; } if (__n && (__n_bkt != __bkt || __is_bucket_begin)) _M_buckets[__n_bkt] = __prev_n; __prev_n->_M_nxt = __n; return iterator(__n); } template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: clear() noexcept { this->_M_deallocate_nodes(_M_begin()); __builtin_memset(_M_buckets, 0, _M_bucket_count * sizeof(__bucket_type)); _M_element_count = 0; _M_before_begin._M_nxt = nullptr; } template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: rehash(size_type __bkt_count) { const __rehash_state& __saved_state = _M_rehash_policy._M_state(); __bkt_count = std::max(_M_rehash_policy._M_bkt_for_elements(_M_element_count + 1), __bkt_count); __bkt_count = _M_rehash_policy._M_next_bkt(__bkt_count); if (__bkt_count != _M_bucket_count) _M_rehash(__bkt_count, __saved_state); else _M_rehash_policy._M_reset(__saved_state); } template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_rehash(size_type __bkt_count, const __rehash_state& __state) { if (true) { _M_rehash_aux(__bkt_count, __unique_keys()); } if (false) { _M_rehash_policy._M_reset(__state); ; } } template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_rehash_aux(size_type __bkt_count, true_type) { __bucket_type* __new_buckets = _M_allocate_buckets(__bkt_count); __node_type* __p = _M_begin(); _M_before_begin._M_nxt = nullptr; std::size_t __bbegin_bkt = 0; while (__p) { __node_type* __next = __p->_M_next(); std::size_t __bkt = __hash_code_base::_M_bucket_index(__p, __bkt_count); if (!__new_buckets[__bkt]) { __p->_M_nxt = _M_before_begin._M_nxt; _M_before_begin._M_nxt = __p; __new_buckets[__bkt] = &_M_before_begin; if (__p->_M_nxt) __new_buckets[__bbegin_bkt] = __p; __bbegin_bkt = __bkt; } else { __p->_M_nxt = __new_buckets[__bkt]->_M_nxt; __new_buckets[__bkt]->_M_nxt = __p; } __p = __next; } _M_deallocate_buckets(); _M_bucket_count = __bkt_count; _M_buckets = __new_buckets; } template void _Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>:: _M_rehash_aux(size_type __bkt_count, false_type) { __bucket_type* __new_buckets = _M_allocate_buckets(__bkt_count); __node_type* __p = _M_begin(); _M_before_begin._M_nxt = nullptr; std::size_t __bbegin_bkt = 0; std::size_t __prev_bkt = 0; __node_type* __prev_p = nullptr; bool __check_bucket = false; while (__p) { __node_type* __next = __p->_M_next(); std::size_t __bkt = __hash_code_base::_M_bucket_index(__p, __bkt_count); if (__prev_p && __prev_bkt == __bkt) { __p->_M_nxt = __prev_p->_M_nxt; __prev_p->_M_nxt = __p; __check_bucket = true; } else { if (__check_bucket) { if (__prev_p->_M_nxt) { std::size_t __next_bkt = __hash_code_base::_M_bucket_index(__prev_p->_M_next(), __bkt_count); if (__next_bkt != __prev_bkt) __new_buckets[__next_bkt] = __prev_p; } __check_bucket = false; } if (!__new_buckets[__bkt]) { __p->_M_nxt = _M_before_begin._M_nxt; _M_before_begin._M_nxt = __p; __new_buckets[__bkt] = &_M_before_begin; if (__p->_M_nxt) __new_buckets[__bbegin_bkt] = __p; __bbegin_bkt = __bkt; } else { __p->_M_nxt = __new_buckets[__bkt]->_M_nxt; __new_buckets[__bkt]->_M_nxt = __p; } } __prev_p = __p; __prev_bkt = __bkt; __p = __next; } if (__check_bucket && __prev_p->_M_nxt) { std::size_t __next_bkt = __hash_code_base::_M_bucket_index(__prev_p->_M_next(), __bkt_count); if (__next_bkt != __prev_bkt) __new_buckets[__next_bkt] = __prev_p; } _M_deallocate_buckets(); _M_bucket_count = __bkt_count; _M_buckets = __new_buckets; } # 2225 "/usr/include/c++/10/bits/hashtable.h" 3 } # 47 "/usr/include/c++/10/unordered_map" 2 3 # 1 "/usr/include/c++/10/bits/unordered_map.h" 1 3 # 33 "/usr/include/c++/10/bits/unordered_map.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template using __umap_traits = __detail::_Hashtable_traits<_Cache, false, true>; template, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator >, typename _Tr = __umap_traits<__cache_default<_Key, _Hash>::value>> using __umap_hashtable = _Hashtable<_Key, std::pair, _Alloc, __detail::_Select1st, _Pred, _Hash, __detail::_Mod_range_hashing, __detail::_Default_ranged_hash, __detail::_Prime_rehash_policy, _Tr>; template using __ummap_traits = __detail::_Hashtable_traits<_Cache, false, false>; template, typename _Pred = std::equal_to<_Key>, typename _Alloc = std::allocator >, typename _Tr = __ummap_traits<__cache_default<_Key, _Hash>::value>> using __ummap_hashtable = _Hashtable<_Key, std::pair, _Alloc, __detail::_Select1st, _Pred, _Hash, __detail::_Mod_range_hashing, __detail::_Default_ranged_hash, __detail::_Prime_rehash_policy, _Tr>; template class unordered_multimap; # 98 "/usr/include/c++/10/bits/unordered_map.h" 3 template, typename _Pred = equal_to<_Key>, typename _Alloc = allocator>> class unordered_map { typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable; _Hashtable _M_h; public: typedef typename _Hashtable::key_type key_type; typedef typename _Hashtable::value_type value_type; typedef typename _Hashtable::mapped_type mapped_type; typedef typename _Hashtable::hasher hasher; typedef typename _Hashtable::key_equal key_equal; typedef typename _Hashtable::allocator_type allocator_type; typedef typename _Hashtable::pointer pointer; typedef typename _Hashtable::const_pointer const_pointer; typedef typename _Hashtable::reference reference; typedef typename _Hashtable::const_reference const_reference; typedef typename _Hashtable::iterator iterator; typedef typename _Hashtable::const_iterator const_iterator; typedef typename _Hashtable::local_iterator local_iterator; typedef typename _Hashtable::const_local_iterator const_local_iterator; typedef typename _Hashtable::size_type size_type; typedef typename _Hashtable::difference_type difference_type; # 141 "/usr/include/c++/10/bits/unordered_map.h" 3 unordered_map() = default; # 150 "/usr/include/c++/10/bits/unordered_map.h" 3 explicit unordered_map(size_type __n, const hasher& __hf = hasher(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _M_h(__n, __hf, __eql, __a) { } # 171 "/usr/include/c++/10/bits/unordered_map.h" 3 template unordered_map(_InputIterator __first, _InputIterator __last, size_type __n = 0, const hasher& __hf = hasher(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _M_h(__first, __last, __n, __hf, __eql, __a) { } unordered_map(const unordered_map&) = default; unordered_map(unordered_map&&) = default; explicit unordered_map(const allocator_type& __a) : _M_h(__a) { } unordered_map(const unordered_map& __umap, const allocator_type& __a) : _M_h(__umap._M_h, __a) { } unordered_map(unordered_map&& __umap, const allocator_type& __a) : _M_h(std::move(__umap._M_h), __a) { } # 226 "/usr/include/c++/10/bits/unordered_map.h" 3 unordered_map(initializer_list __l, size_type __n = 0, const hasher& __hf = hasher(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _M_h(__l, __n, __hf, __eql, __a) { } unordered_map(size_type __n, const allocator_type& __a) : unordered_map(__n, hasher(), key_equal(), __a) { } unordered_map(size_type __n, const hasher& __hf, const allocator_type& __a) : unordered_map(__n, __hf, key_equal(), __a) { } template unordered_map(_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type& __a) : unordered_map(__first, __last, __n, hasher(), key_equal(), __a) { } template unordered_map(_InputIterator __first, _InputIterator __last, size_type __n, const hasher& __hf, const allocator_type& __a) : unordered_map(__first, __last, __n, __hf, key_equal(), __a) { } unordered_map(initializer_list __l, size_type __n, const allocator_type& __a) : unordered_map(__l, __n, hasher(), key_equal(), __a) { } unordered_map(initializer_list __l, size_type __n, const hasher& __hf, const allocator_type& __a) : unordered_map(__l, __n, __hf, key_equal(), __a) { } unordered_map& operator=(const unordered_map&) = default; unordered_map& operator=(unordered_map&&) = default; # 288 "/usr/include/c++/10/bits/unordered_map.h" 3 unordered_map& operator=(initializer_list __l) { _M_h = __l; return *this; } allocator_type get_allocator() const noexcept { return _M_h.get_allocator(); } bool empty() const noexcept { return _M_h.empty(); } size_type size() const noexcept { return _M_h.size(); } size_type max_size() const noexcept { return _M_h.max_size(); } iterator begin() noexcept { return _M_h.begin(); } const_iterator begin() const noexcept { return _M_h.begin(); } const_iterator cbegin() const noexcept { return _M_h.begin(); } iterator end() noexcept { return _M_h.end(); } const_iterator end() const noexcept { return _M_h.end(); } const_iterator cend() const noexcept { return _M_h.end(); } # 385 "/usr/include/c++/10/bits/unordered_map.h" 3 template std::pair emplace(_Args&&... __args) { return _M_h.emplace(std::forward<_Args>(__args)...); } # 416 "/usr/include/c++/10/bits/unordered_map.h" 3 template iterator emplace_hint(const_iterator __pos, _Args&&... __args) { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); } # 578 "/usr/include/c++/10/bits/unordered_map.h" 3 std::pair insert(const value_type& __x) { return _M_h.insert(__x); } std::pair insert(value_type&& __x) { return _M_h.insert(std::move(__x)); } template __enable_if_t::value, pair> insert(_Pair&& __x) { return _M_h.emplace(std::forward<_Pair>(__x)); } # 617 "/usr/include/c++/10/bits/unordered_map.h" 3 iterator insert(const_iterator __hint, const value_type& __x) { return _M_h.insert(__hint, __x); } iterator insert(const_iterator __hint, value_type&& __x) { return _M_h.insert(__hint, std::move(__x)); } template __enable_if_t::value, iterator> insert(const_iterator __hint, _Pair&& __x) { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); } # 642 "/usr/include/c++/10/bits/unordered_map.h" 3 template void insert(_InputIterator __first, _InputIterator __last) { _M_h.insert(__first, __last); } # 654 "/usr/include/c++/10/bits/unordered_map.h" 3 void insert(initializer_list __l) { _M_h.insert(__l); } # 791 "/usr/include/c++/10/bits/unordered_map.h" 3 iterator erase(const_iterator __position) { return _M_h.erase(__position); } iterator erase(iterator __position) { return _M_h.erase(__position); } # 813 "/usr/include/c++/10/bits/unordered_map.h" 3 size_type erase(const key_type& __x) { return _M_h.erase(__x); } # 831 "/usr/include/c++/10/bits/unordered_map.h" 3 iterator erase(const_iterator __first, const_iterator __last) { return _M_h.erase(__first, __last); } void clear() noexcept { _M_h.clear(); } # 855 "/usr/include/c++/10/bits/unordered_map.h" 3 void swap(unordered_map& __x) noexcept( noexcept(_M_h.swap(__x._M_h)) ) { _M_h.swap(__x._M_h); } # 895 "/usr/include/c++/10/bits/unordered_map.h" 3 hasher hash_function() const { return _M_h.hash_function(); } key_equal key_eq() const { return _M_h.key_eq(); } # 919 "/usr/include/c++/10/bits/unordered_map.h" 3 iterator find(const key_type& __x) { return _M_h.find(__x); } const_iterator find(const key_type& __x) const { return _M_h.find(__x); } # 937 "/usr/include/c++/10/bits/unordered_map.h" 3 size_type count(const key_type& __x) const { return _M_h.count(__x); } # 961 "/usr/include/c++/10/bits/unordered_map.h" 3 std::pair equal_range(const key_type& __x) { return _M_h.equal_range(__x); } std::pair equal_range(const key_type& __x) const { return _M_h.equal_range(__x); } # 983 "/usr/include/c++/10/bits/unordered_map.h" 3 mapped_type& operator[](const key_type& __k) { return _M_h[__k]; } mapped_type& operator[](key_type&& __k) { return _M_h[std::move(__k)]; } # 1000 "/usr/include/c++/10/bits/unordered_map.h" 3 mapped_type& at(const key_type& __k) { return _M_h.at(__k); } const mapped_type& at(const key_type& __k) const { return _M_h.at(__k); } size_type bucket_count() const noexcept { return _M_h.bucket_count(); } size_type max_bucket_count() const noexcept { return _M_h.max_bucket_count(); } size_type bucket_size(size_type __n) const { return _M_h.bucket_size(__n); } size_type bucket(const key_type& __key) const { return _M_h.bucket(__key); } local_iterator begin(size_type __n) { return _M_h.begin(__n); } # 1056 "/usr/include/c++/10/bits/unordered_map.h" 3 const_local_iterator begin(size_type __n) const { return _M_h.begin(__n); } const_local_iterator cbegin(size_type __n) const { return _M_h.cbegin(__n); } # 1071 "/usr/include/c++/10/bits/unordered_map.h" 3 local_iterator end(size_type __n) { return _M_h.end(__n); } # 1082 "/usr/include/c++/10/bits/unordered_map.h" 3 const_local_iterator end(size_type __n) const { return _M_h.end(__n); } const_local_iterator cend(size_type __n) const { return _M_h.cend(__n); } float load_factor() const noexcept { return _M_h.load_factor(); } float max_load_factor() const noexcept { return _M_h.max_load_factor(); } void max_load_factor(float __z) { _M_h.max_load_factor(__z); } # 1119 "/usr/include/c++/10/bits/unordered_map.h" 3 void rehash(size_type __n) { _M_h.rehash(__n); } # 1130 "/usr/include/c++/10/bits/unordered_map.h" 3 void reserve(size_type __n) { _M_h.reserve(__n); } template friend bool operator==(const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&, const unordered_map<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&); }; # 1246 "/usr/include/c++/10/bits/unordered_map.h" 3 template, typename _Pred = equal_to<_Key>, typename _Alloc = allocator>> class unordered_multimap { typedef __ummap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable; _Hashtable _M_h; public: typedef typename _Hashtable::key_type key_type; typedef typename _Hashtable::value_type value_type; typedef typename _Hashtable::mapped_type mapped_type; typedef typename _Hashtable::hasher hasher; typedef typename _Hashtable::key_equal key_equal; typedef typename _Hashtable::allocator_type allocator_type; typedef typename _Hashtable::pointer pointer; typedef typename _Hashtable::const_pointer const_pointer; typedef typename _Hashtable::reference reference; typedef typename _Hashtable::const_reference const_reference; typedef typename _Hashtable::iterator iterator; typedef typename _Hashtable::const_iterator const_iterator; typedef typename _Hashtable::local_iterator local_iterator; typedef typename _Hashtable::const_local_iterator const_local_iterator; typedef typename _Hashtable::size_type size_type; typedef typename _Hashtable::difference_type difference_type; # 1288 "/usr/include/c++/10/bits/unordered_map.h" 3 unordered_multimap() = default; # 1297 "/usr/include/c++/10/bits/unordered_map.h" 3 explicit unordered_multimap(size_type __n, const hasher& __hf = hasher(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _M_h(__n, __hf, __eql, __a) { } # 1318 "/usr/include/c++/10/bits/unordered_map.h" 3 template unordered_multimap(_InputIterator __first, _InputIterator __last, size_type __n = 0, const hasher& __hf = hasher(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _M_h(__first, __last, __n, __hf, __eql, __a) { } unordered_multimap(const unordered_multimap&) = default; unordered_multimap(unordered_multimap&&) = default; explicit unordered_multimap(const allocator_type& __a) : _M_h(__a) { } unordered_multimap(const unordered_multimap& __ummap, const allocator_type& __a) : _M_h(__ummap._M_h, __a) { } unordered_multimap(unordered_multimap&& __ummap, const allocator_type& __a) : _M_h(std::move(__ummap._M_h), __a) { } # 1373 "/usr/include/c++/10/bits/unordered_map.h" 3 unordered_multimap(initializer_list __l, size_type __n = 0, const hasher& __hf = hasher(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _M_h(__l, __n, __hf, __eql, __a) { } unordered_multimap(size_type __n, const allocator_type& __a) : unordered_multimap(__n, hasher(), key_equal(), __a) { } unordered_multimap(size_type __n, const hasher& __hf, const allocator_type& __a) : unordered_multimap(__n, __hf, key_equal(), __a) { } template unordered_multimap(_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type& __a) : unordered_multimap(__first, __last, __n, hasher(), key_equal(), __a) { } template unordered_multimap(_InputIterator __first, _InputIterator __last, size_type __n, const hasher& __hf, const allocator_type& __a) : unordered_multimap(__first, __last, __n, __hf, key_equal(), __a) { } unordered_multimap(initializer_list __l, size_type __n, const allocator_type& __a) : unordered_multimap(__l, __n, hasher(), key_equal(), __a) { } unordered_multimap(initializer_list __l, size_type __n, const hasher& __hf, const allocator_type& __a) : unordered_multimap(__l, __n, __hf, key_equal(), __a) { } unordered_multimap& operator=(const unordered_multimap&) = default; unordered_multimap& operator=(unordered_multimap&&) = default; # 1435 "/usr/include/c++/10/bits/unordered_map.h" 3 unordered_multimap& operator=(initializer_list __l) { _M_h = __l; return *this; } allocator_type get_allocator() const noexcept { return _M_h.get_allocator(); } bool empty() const noexcept { return _M_h.empty(); } size_type size() const noexcept { return _M_h.size(); } size_type max_size() const noexcept { return _M_h.max_size(); } iterator begin() noexcept { return _M_h.begin(); } const_iterator begin() const noexcept { return _M_h.begin(); } const_iterator cbegin() const noexcept { return _M_h.begin(); } iterator end() noexcept { return _M_h.end(); } const_iterator end() const noexcept { return _M_h.end(); } const_iterator cend() const noexcept { return _M_h.end(); } # 1527 "/usr/include/c++/10/bits/unordered_map.h" 3 template iterator emplace(_Args&&... __args) { return _M_h.emplace(std::forward<_Args>(__args)...); } # 1554 "/usr/include/c++/10/bits/unordered_map.h" 3 template iterator emplace_hint(const_iterator __pos, _Args&&... __args) { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); } # 1569 "/usr/include/c++/10/bits/unordered_map.h" 3 iterator insert(const value_type& __x) { return _M_h.insert(__x); } iterator insert(value_type&& __x) { return _M_h.insert(std::move(__x)); } template __enable_if_t::value, iterator> insert(_Pair&& __x) { return _M_h.emplace(std::forward<_Pair>(__x)); } # 1603 "/usr/include/c++/10/bits/unordered_map.h" 3 iterator insert(const_iterator __hint, const value_type& __x) { return _M_h.insert(__hint, __x); } iterator insert(const_iterator __hint, value_type&& __x) { return _M_h.insert(__hint, std::move(__x)); } template __enable_if_t::value, iterator> insert(const_iterator __hint, _Pair&& __x) { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); } # 1628 "/usr/include/c++/10/bits/unordered_map.h" 3 template void insert(_InputIterator __first, _InputIterator __last) { _M_h.insert(__first, __last); } # 1641 "/usr/include/c++/10/bits/unordered_map.h" 3 void insert(initializer_list __l) { _M_h.insert(__l); } # 1684 "/usr/include/c++/10/bits/unordered_map.h" 3 iterator erase(const_iterator __position) { return _M_h.erase(__position); } iterator erase(iterator __position) { return _M_h.erase(__position); } # 1705 "/usr/include/c++/10/bits/unordered_map.h" 3 size_type erase(const key_type& __x) { return _M_h.erase(__x); } # 1724 "/usr/include/c++/10/bits/unordered_map.h" 3 iterator erase(const_iterator __first, const_iterator __last) { return _M_h.erase(__first, __last); } void clear() noexcept { _M_h.clear(); } # 1748 "/usr/include/c++/10/bits/unordered_map.h" 3 void swap(unordered_multimap& __x) noexcept( noexcept(_M_h.swap(__x._M_h)) ) { _M_h.swap(__x._M_h); } # 1790 "/usr/include/c++/10/bits/unordered_map.h" 3 hasher hash_function() const { return _M_h.hash_function(); } key_equal key_eq() const { return _M_h.key_eq(); } # 1814 "/usr/include/c++/10/bits/unordered_map.h" 3 iterator find(const key_type& __x) { return _M_h.find(__x); } const_iterator find(const key_type& __x) const { return _M_h.find(__x); } size_type count(const key_type& __x) const { return _M_h.count(__x); } # 1850 "/usr/include/c++/10/bits/unordered_map.h" 3 std::pair equal_range(const key_type& __x) { return _M_h.equal_range(__x); } std::pair equal_range(const key_type& __x) const { return _M_h.equal_range(__x); } size_type bucket_count() const noexcept { return _M_h.bucket_count(); } size_type max_bucket_count() const noexcept { return _M_h.max_bucket_count(); } size_type bucket_size(size_type __n) const { return _M_h.bucket_size(__n); } size_type bucket(const key_type& __key) const { return _M_h.bucket(__key); } local_iterator begin(size_type __n) { return _M_h.begin(__n); } # 1906 "/usr/include/c++/10/bits/unordered_map.h" 3 const_local_iterator begin(size_type __n) const { return _M_h.begin(__n); } const_local_iterator cbegin(size_type __n) const { return _M_h.cbegin(__n); } # 1921 "/usr/include/c++/10/bits/unordered_map.h" 3 local_iterator end(size_type __n) { return _M_h.end(__n); } # 1932 "/usr/include/c++/10/bits/unordered_map.h" 3 const_local_iterator end(size_type __n) const { return _M_h.end(__n); } const_local_iterator cend(size_type __n) const { return _M_h.cend(__n); } float load_factor() const noexcept { return _M_h.load_factor(); } float max_load_factor() const noexcept { return _M_h.max_load_factor(); } void max_load_factor(float __z) { _M_h.max_load_factor(__z); } # 1969 "/usr/include/c++/10/bits/unordered_map.h" 3 void rehash(size_type __n) { _M_h.rehash(__n); } # 1980 "/usr/include/c++/10/bits/unordered_map.h" 3 void reserve(size_type __n) { _M_h.reserve(__n); } template friend bool operator==(const unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&, const unordered_multimap<_Key1, _Tp1, _Hash1, _Pred1, _Alloc1>&); }; # 2075 "/usr/include/c++/10/bits/unordered_map.h" 3 template inline void swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } template inline void swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } template inline bool operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) { return __x._M_h._M_equal(__y._M_h); } template inline bool operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) { return !(__x == __y); } template inline bool operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) { return __x._M_h._M_equal(__y._M_h); } template inline bool operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __y) { return !(__x == __y); } # 2165 "/usr/include/c++/10/bits/unordered_map.h" 3 } # 48 "/usr/include/c++/10/unordered_map" 2 3 # 27 "../../third_party/angle/src/libANGLE/angletypes.h" 2 # 28 "../../third_party/angle/src/libANGLE/angletypes.h" namespace gl { class Buffer; class Texture; struct Rectangle { Rectangle() : x(0), y(0), width(0), height(0) {} constexpr Rectangle(int x_in, int y_in, int width_in, int height_in) : x(x_in), y(y_in), width(width_in), height(height_in) {} int x0() const { return x; } int y0() const { return y; } int x1() const { return x + width; } int y1() const { return y + height; } bool isReversedX() const { return width < 0; } bool isReversedY() const { return height < 0; } Rectangle flip(bool flipX, bool flipY) const; Rectangle removeReversal() const; bool encloses(const gl::Rectangle &inside) const; int x; int y; int width; int height; }; bool operator==(const Rectangle &a, const Rectangle &b); bool operator!=(const Rectangle &a, const Rectangle &b); bool ClipRectangle(const Rectangle &source, const Rectangle &clip, Rectangle *intersection); struct Offset { constexpr Offset() : x(0), y(0), z(0) {} constexpr Offset(int x_in, int y_in, int z_in) : x(x_in), y(y_in), z(z_in) {} int x; int y; int z; }; constexpr Offset kOffsetZero(0, 0, 0); bool operator==(const Offset &a, const Offset &b); bool operator!=(const Offset &a, const Offset &b); struct Extents { Extents() : width(0), height(0), depth(0) {} Extents(int width_, int height_, int depth_) : width(width_), height(height_), depth(depth_) {} Extents(const Extents &other) = default; Extents &operator=(const Extents &other) = default; bool empty() const { return (width * height * depth) == 0; } int width; int height; int depth; }; bool operator==(const Extents &lhs, const Extents &rhs); bool operator!=(const Extents &lhs, const Extents &rhs); struct Box { Box() : x(0), y(0), z(0), width(0), height(0), depth(0) {} Box(int x_in, int y_in, int z_in, int width_in, int height_in, int depth_in) : x(x_in), y(y_in), z(z_in), width(width_in), height(height_in), depth(depth_in) {} Box(const Offset &offset, const Extents &size) : x(offset.x), y(offset.y), z(offset.z), width(size.width), height(size.height), depth(size.depth) {} bool operator==(const Box &other) const; bool operator!=(const Box &other) const; Rectangle toRect() const; int x; int y; int z; int width; int height; int depth; }; struct RasterizerState final { RasterizerState(); bool cullFace; CullFaceMode cullMode; GLenum frontFace; bool polygonOffsetFill; GLfloat polygonOffsetFactor; GLfloat polygonOffsetUnits; bool pointDrawMode; bool multiSample; bool rasterizerDiscard; }; bool operator==(const RasterizerState &a, const RasterizerState &b); bool operator!=(const RasterizerState &a, const RasterizerState &b); struct BlendState final { BlendState(); BlendState(const BlendState &other); bool allChannelsMasked() const; bool blend; GLenum sourceBlendRGB; GLenum destBlendRGB; GLenum sourceBlendAlpha; GLenum destBlendAlpha; GLenum blendEquationRGB; GLenum blendEquationAlpha; bool colorMaskRed; bool colorMaskGreen; bool colorMaskBlue; bool colorMaskAlpha; bool sampleAlphaToCoverage; bool dither; }; bool operator==(const BlendState &a, const BlendState &b); bool operator!=(const BlendState &a, const BlendState &b); struct DepthStencilState final { DepthStencilState(); DepthStencilState(const DepthStencilState &other); bool depthTest; GLenum depthFunc; bool depthMask; bool stencilTest; GLenum stencilFunc; GLuint stencilMask; GLenum stencilFail; GLenum stencilPassDepthFail; GLenum stencilPassDepthPass; GLuint stencilWritemask; GLenum stencilBackFunc; GLuint stencilBackMask; GLenum stencilBackFail; GLenum stencilBackPassDepthFail; GLenum stencilBackPassDepthPass; GLuint stencilBackWritemask; }; bool operator==(const DepthStencilState &a, const DepthStencilState &b); bool operator!=(const DepthStencilState &a, const DepthStencilState &b); # 218 "../../third_party/angle/src/libANGLE/angletypes.h" struct PackedSamplerCompleteness { uint8_t minFilter; uint8_t magFilter; uint8_t wrapS; uint8_t wrapTCompareMode; }; static_assert(sizeof(PackedSamplerCompleteness) == sizeof(uint32_t), "Unexpected size"); class SamplerState final { public: SamplerState(); SamplerState(const SamplerState &other); static SamplerState CreateDefaultForTarget(TextureType type); GLenum getMinFilter() const { return mMinFilter; } void setMinFilter(GLenum minFilter); GLenum getMagFilter() const { return mMagFilter; } void setMagFilter(GLenum magFilter); GLenum getWrapS() const { return mWrapS; } void setWrapS(GLenum wrapS); GLenum getWrapT() const { return mWrapT; } void setWrapT(GLenum wrapT); GLenum getWrapR() const { return mWrapR; } void setWrapR(GLenum wrapR); float getMaxAnisotropy() const { return mMaxAnisotropy; } void setMaxAnisotropy(float maxAnisotropy); GLfloat getMinLod() const { return mMinLod; } void setMinLod(GLfloat minLod); GLfloat getMaxLod() const { return mMaxLod; } void setMaxLod(GLfloat maxLod); GLenum getCompareMode() const { return mCompareMode; } void setCompareMode(GLenum compareMode); GLenum getCompareFunc() const { return mCompareFunc; } void setCompareFunc(GLenum compareFunc); GLenum getSRGBDecode() const { return mSRGBDecode; } void setSRGBDecode(GLenum sRGBDecode); void setBorderColor(const ColorGeneric &color); const ColorGeneric &getBorderColor() const { return mBorderColor; } bool sameCompleteness(const SamplerState &samplerState) const { return mCompleteness.packed == samplerState.mCompleteness.packed; } private: void updateWrapTCompareMode(); GLenum mMinFilter; GLenum mMagFilter; GLenum mWrapS; GLenum mWrapT; GLenum mWrapR; float mMaxAnisotropy; GLfloat mMinLod; GLfloat mMaxLod; GLenum mCompareMode; GLenum mCompareFunc; GLenum mSRGBDecode; ColorGeneric mBorderColor; union Completeness { uint32_t packed; PackedSamplerCompleteness typed; }; Completeness mCompleteness; }; bool operator==(const SamplerState &a, const SamplerState &b); bool operator!=(const SamplerState &a, const SamplerState &b); struct DrawArraysIndirectCommand { GLuint count; GLuint instanceCount; GLuint first; GLuint baseInstance; }; static_assert(sizeof(DrawArraysIndirectCommand) == 16, "Unexpected size of DrawArraysIndirectCommand"); struct DrawElementsIndirectCommand { GLuint count; GLuint primCount; GLuint firstIndex; GLint baseVertex; GLuint baseInstance; }; static_assert(sizeof(DrawElementsIndirectCommand) == 20, "Unexpected size of DrawElementsIndirectCommand"); struct ImageUnit { ImageUnit(); ImageUnit(const ImageUnit &other); ~ImageUnit(); BindingPointer texture; GLint level; GLboolean layered; GLint layer; GLenum access; GLenum format; }; using ImageUnitTextureTypeMap = std::map; struct PixelStoreStateBase { GLint alignment = 4; GLint rowLength = 0; GLint skipRows = 0; GLint skipPixels = 0; GLint imageHeight = 0; GLint skipImages = 0; }; struct PixelUnpackState : PixelStoreStateBase {}; struct PixelPackState : PixelStoreStateBase { bool reverseRowOrder = false; }; using AttributesMask = angle::BitSet; using UniformBlockBindingMask = angle::BitSet; using DrawBufferMask = angle::BitSet; using StorageBuffersMask = angle::BitSet; template using TexLevelArray = std::array; enum class ComponentType { Float = 0, Int = 1, UnsignedInt = 2, NoType = 3, EnumCount = 4, InvalidEnum = 4, }; constexpr ComponentType GLenumToComponentType(GLenum componentType) { switch (componentType) { case 0x1406: return ComponentType::Float; case 0x1404: return ComponentType::Int; case 0x1405: return ComponentType::UnsignedInt; case 0: return ComponentType::NoType; default: return ComponentType::InvalidEnum; } } constexpr angle::PackedEnumMap kComponentMasks = {{ {ComponentType::Float, 0x10001}, {ComponentType::Int, 0x00001}, {ComponentType::UnsignedInt, 0x10000}, }}; constexpr size_t kMaxComponentTypeMaskIndex = 16; using ComponentTypeMask = angle::BitSet; inline __attribute__((always_inline)) void SetComponentTypeMask(ComponentType type, size_t index, ComponentTypeMask *mask) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(index <= kMaxComponentTypeMaskIndex); *mask &= ~(0x10001 << index); *mask |= kComponentMasks[type] << index; } inline __attribute__((always_inline)) ComponentType GetComponentTypeMask(const ComponentTypeMask &mask, size_t index) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(index <= kMaxComponentTypeMaskIndex); uint32_t mask_bits = static_cast((mask.to_ulong() >> index) & 0x10001); switch (mask_bits) { case 0x10001: return ComponentType::Float; case 0x00001: return ComponentType::Int; case 0x10000: return ComponentType::UnsignedInt; default: return ComponentType::InvalidEnum; } } bool ValidateComponentTypeMasks(unsigned long outputTypes, unsigned long inputTypes, unsigned long outputMask, unsigned long inputMask); using ContextID = uintptr_t; constexpr size_t kCubeFaceCount = 6; template using TextureTypeMap = angle::PackedEnumMap; using TextureMap = TextureTypeMap>; template using ShaderVector = angle::FixedVector(ShaderType::EnumCount)>; template using AttachmentArray = std::array; template using DrawBuffersArray = std::array; template using DrawBuffersVector = angle::FixedVector; template using AttribArray = std::array; using ActiveTextureMask = angle::BitSet; template using ActiveTextureArray = std::array; using ActiveTexturePointerArray = ActiveTextureArray; using ActiveTextureTypeArray = ActiveTextureArray; template using UniformBuffersArray = std::array; template using StorageBuffersArray = std::array; template using AtomicCounterBuffersArray = std::array; using AtomicCounterBufferMask = angle::BitSet; template using ImagesArray = std::array; using ImageUnitMask = angle::BitSet; using SupportedSampleSet = std::set; template using TransformFeedbackBuffersArray = std::array; constexpr size_t kBarrierVectorDefaultSize = 16; template using BarrierVector = angle::FastVector; using BufferBarrierVector = BarrierVector; struct TextureAndLayout { Texture *texture; GLenum layout; }; using TextureBarrierVector = BarrierVector; GLsizeiptr GetBoundBufferAvailableSize(const OffsetBindingPointer &binding); } namespace rx { # 554 "../../third_party/angle/src/libANGLE/angletypes.h" template inline DestT *GetAs(SrcT *src) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !((src != nullptr)); return static_cast(src); } template inline const DestT *GetAs(const SrcT *src) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !((src != nullptr)); return static_cast(src); } template inline DestT *GetImplAs(SrcT *src) { return GetAs(src->getImplementation()); } template inline DestT *SafeGetImplAs(SrcT *src) { return src != nullptr ? GetAs(src->getImplementation()) : nullptr; } } # 1 "../../third_party/angle/src/libANGLE/angletypes.inc" 1 # 9 "../../third_party/angle/src/libANGLE/angletypes.inc" namespace gl { inline bool operator==(const Rectangle &a, const Rectangle &b) { return a.x == b.x && a.y == b.y && a.width == b.width && a.height == b.height; } inline bool operator!=(const Rectangle &a, const Rectangle &b) { return !(a == b); } inline bool operator==(const SamplerState &a, const SamplerState &b) { return memcmp(&a, &b, sizeof(SamplerState)) == 0; } inline bool operator!=(const SamplerState &a, const SamplerState &b) { return !(a == b); } } # 586 "../../third_party/angle/src/libANGLE/angletypes.h" 2 namespace angle { enum FramebufferBinding { FramebufferBindingRead = 0, FramebufferBindingDraw, FramebufferBindingSingletonMax, FramebufferBindingBoth = FramebufferBindingSingletonMax, FramebufferBindingMax, FramebufferBindingUnknown = FramebufferBindingMax, }; inline FramebufferBinding EnumToFramebufferBinding(GLenum enumValue) { switch (enumValue) { case 0x8CA8: return FramebufferBindingRead; case 0x8CA9: return FramebufferBindingDraw; case 0x8D40: return FramebufferBindingBoth; default: do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); return FramebufferBindingUnknown; } } inline GLenum FramebufferBindingToEnum(FramebufferBinding binding) { switch (binding) { case FramebufferBindingRead: return 0x8CA8; case FramebufferBindingDraw: return 0x8CA9; case FramebufferBindingBoth: return 0x8D40; default: do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); return 0; } } template class DestroyThenDelete { public: DestroyThenDelete(const ContextT *context) : mContext(context) {} void operator()(ObjT *obj) { (void)(obj->onDestroy(mContext)); delete obj; } private: const ContextT *mContext; }; template class UniqueObjectPointerBase : angle::NonCopyable { public: template UniqueObjectPointerBase(const ContextT *context) : mObject(nullptr), mDeleter(context) {} template UniqueObjectPointerBase(ObjT *obj, const ContextT *context) : mObject(obj), mDeleter(context) {} ~UniqueObjectPointerBase() { if (mObject) { mDeleter(mObject); } } ObjT *operator->() const { return mObject; } ObjT *release() { auto obj = mObject; mObject = nullptr; return obj; } ObjT *get() const { return mObject; } void reset(ObjT *obj) { if (mObject) { mDeleter(mObject); } mObject = obj; } private: ObjT *mObject; DeleterT mDeleter; }; template using UniqueObjectPointer = UniqueObjectPointerBase>; } namespace gl { class State; } # 13 "../../third_party/angle/src/libANGLE/Caps.h" 2 # 1 "../../third_party/angle/src/libANGLE/renderer/Format.h" 1 # 15 "../../third_party/angle/src/libANGLE/renderer/Format.h" # 1 "../../third_party/angle/src/libANGLE/renderer/FormatID_autogen.h" 1 # 15 "../../third_party/angle/src/libANGLE/renderer/FormatID_autogen.h" namespace angle { enum class FormatID { NONE, A16_FLOAT, A1R5G5B5_UNORM, A2R10G10B10_SINT_VERTEX, A2R10G10B10_SNORM_VERTEX, A2R10G10B10_SSCALED_VERTEX, A2R10G10B10_UINT_VERTEX, A2R10G10B10_UNORM_VERTEX, A2R10G10B10_USCALED_VERTEX, A32_FLOAT, A8_UNORM, ASTC_10x10_SRGB_BLOCK, ASTC_10x10_UNORM_BLOCK, ASTC_10x5_SRGB_BLOCK, ASTC_10x5_UNORM_BLOCK, ASTC_10x6_SRGB_BLOCK, ASTC_10x6_UNORM_BLOCK, ASTC_10x8_SRGB_BLOCK, ASTC_10x8_UNORM_BLOCK, ASTC_12x10_SRGB_BLOCK, ASTC_12x10_UNORM_BLOCK, ASTC_12x12_SRGB_BLOCK, ASTC_12x12_UNORM_BLOCK, ASTC_3x3x3_UNORM_BLOCK, ASTC_3x3x3_UNORM_SRGB_BLOCK, ASTC_4x3x3_UNORM_BLOCK, ASTC_4x3x3_UNORM_SRGB_BLOCK, ASTC_4x4_SRGB_BLOCK, ASTC_4x4_UNORM_BLOCK, ASTC_4x4x3_UNORM_BLOCK, ASTC_4x4x3_UNORM_SRGB_BLOCK, ASTC_4x4x4_UNORM_BLOCK, ASTC_4x4x4_UNORM_SRGB_BLOCK, ASTC_5x4_SRGB_BLOCK, ASTC_5x4_UNORM_BLOCK, ASTC_5x4x4_UNORM_BLOCK, ASTC_5x4x4_UNORM_SRGB_BLOCK, ASTC_5x5_SRGB_BLOCK, ASTC_5x5_UNORM_BLOCK, ASTC_5x5x4_UNORM_BLOCK, ASTC_5x5x4_UNORM_SRGB_BLOCK, ASTC_5x5x5_UNORM_BLOCK, ASTC_5x5x5_UNORM_SRGB_BLOCK, ASTC_6x5_SRGB_BLOCK, ASTC_6x5_UNORM_BLOCK, ASTC_6x5x5_UNORM_BLOCK, ASTC_6x5x5_UNORM_SRGB_BLOCK, ASTC_6x6_SRGB_BLOCK, ASTC_6x6_UNORM_BLOCK, ASTC_6x6x5_UNORM_BLOCK, ASTC_6x6x5_UNORM_SRGB_BLOCK, ASTC_6x6x6_UNORM_BLOCK, ASTC_6x6x6_UNORM_SRGB_BLOCK, ASTC_8x5_SRGB_BLOCK, ASTC_8x5_UNORM_BLOCK, ASTC_8x6_SRGB_BLOCK, ASTC_8x6_UNORM_BLOCK, ASTC_8x8_SRGB_BLOCK, ASTC_8x8_UNORM_BLOCK, B4G4R4A4_UNORM, B5G5R5A1_UNORM, B5G6R5_UNORM, B8G8R8A8_TYPELESS, B8G8R8A8_TYPELESS_SRGB, B8G8R8A8_UNORM, B8G8R8A8_UNORM_SRGB, B8G8R8X8_UNORM, BC1_RGBA_UNORM_BLOCK, BC1_RGBA_UNORM_SRGB_BLOCK, BC1_RGB_UNORM_BLOCK, BC1_RGB_UNORM_SRGB_BLOCK, BC2_RGBA_UNORM_BLOCK, BC2_RGBA_UNORM_SRGB_BLOCK, BC3_RGBA_UNORM_BLOCK, BC3_RGBA_UNORM_SRGB_BLOCK, BPTC_RGBA_UNORM_BLOCK, BPTC_RGB_SIGNED_FLOAT_BLOCK, BPTC_RGB_UNSIGNED_FLOAT_BLOCK, BPTC_SRGB_ALPHA_UNORM_BLOCK, D16_UNORM, D24_UNORM_S8_UINT, D24_UNORM_X8_UINT, D32_FLOAT, D32_FLOAT_S8X24_UINT, D32_UNORM, EAC_R11G11_SNORM_BLOCK, EAC_R11G11_UNORM_BLOCK, EAC_R11_SNORM_BLOCK, EAC_R11_UNORM_BLOCK, ETC1_LOSSY_DECODE_R8G8B8_UNORM_BLOCK, ETC1_R8G8B8_UNORM_BLOCK, ETC2_R8G8B8A1_SRGB_BLOCK, ETC2_R8G8B8A1_UNORM_BLOCK, ETC2_R8G8B8A8_SRGB_BLOCK, ETC2_R8G8B8A8_UNORM_BLOCK, ETC2_R8G8B8_SRGB_BLOCK, ETC2_R8G8B8_UNORM_BLOCK, L16A16_FLOAT, L16_FLOAT, L32A32_FLOAT, L32_FLOAT, L8A8_UNORM, L8_UNORM, PVRTC1_RGBA_2BPP_UNORM_BLOCK, PVRTC1_RGBA_2BPP_UNORM_SRGB_BLOCK, PVRTC1_RGBA_4BPP_UNORM_BLOCK, PVRTC1_RGBA_4BPP_UNORM_SRGB_BLOCK, PVRTC1_RGB_2BPP_UNORM_BLOCK, PVRTC1_RGB_2BPP_UNORM_SRGB_BLOCK, PVRTC1_RGB_4BPP_UNORM_BLOCK, PVRTC1_RGB_4BPP_UNORM_SRGB_BLOCK, R10G10B10A2_SINT, R10G10B10A2_SNORM, R10G10B10A2_SSCALED, R10G10B10A2_UINT, R10G10B10A2_UNORM, R10G10B10A2_USCALED, R10G10B10X2_UNORM, R11G11B10_FLOAT, R16G16B16A16_FLOAT, R16G16B16A16_SINT, R16G16B16A16_SNORM, R16G16B16A16_SSCALED, R16G16B16A16_UINT, R16G16B16A16_UNORM, R16G16B16A16_USCALED, R16G16B16_FLOAT, R16G16B16_SINT, R16G16B16_SNORM, R16G16B16_SSCALED, R16G16B16_UINT, R16G16B16_UNORM, R16G16B16_USCALED, R16G16_FLOAT, R16G16_SINT, R16G16_SNORM, R16G16_SSCALED, R16G16_UINT, R16G16_UNORM, R16G16_USCALED, R16_FLOAT, R16_SINT, R16_SNORM, R16_SSCALED, R16_UINT, R16_UNORM, R16_USCALED, R32G32B32A32_FIXED, R32G32B32A32_FLOAT, R32G32B32A32_SINT, R32G32B32A32_SNORM, R32G32B32A32_SSCALED, R32G32B32A32_UINT, R32G32B32A32_UNORM, R32G32B32A32_USCALED, R32G32B32_FIXED, R32G32B32_FLOAT, R32G32B32_SINT, R32G32B32_SNORM, R32G32B32_SSCALED, R32G32B32_UINT, R32G32B32_UNORM, R32G32B32_USCALED, R32G32_FIXED, R32G32_FLOAT, R32G32_SINT, R32G32_SNORM, R32G32_SSCALED, R32G32_UINT, R32G32_UNORM, R32G32_USCALED, R32_FIXED, R32_FLOAT, R32_SINT, R32_SNORM, R32_SSCALED, R32_UINT, R32_UNORM, R32_USCALED, R4G4B4A4_UNORM, R5G5B5A1_UNORM, R5G6B5_UNORM, R8G8B8A8_SINT, R8G8B8A8_SNORM, R8G8B8A8_SSCALED, R8G8B8A8_TYPELESS, R8G8B8A8_TYPELESS_SRGB, R8G8B8A8_UINT, R8G8B8A8_UNORM, R8G8B8A8_UNORM_SRGB, R8G8B8A8_USCALED, R8G8B8_SINT, R8G8B8_SNORM, R8G8B8_SSCALED, R8G8B8_UINT, R8G8B8_UNORM, R8G8B8_UNORM_SRGB, R8G8B8_USCALED, R8G8_SINT, R8G8_SNORM, R8G8_SSCALED, R8G8_UINT, R8G8_UNORM, R8G8_USCALED, R8_SINT, R8_SNORM, R8_SSCALED, R8_UINT, R8_UNORM, R8_USCALED, R9G9B9E5_SHAREDEXP, S8_UINT, X2R10G10B10_SINT_VERTEX, X2R10G10B10_SNORM_VERTEX, X2R10G10B10_SSCALED_VERTEX, X2R10G10B10_UINT_VERTEX, X2R10G10B10_UNORM_VERTEX, X2R10G10B10_USCALED_VERTEX }; constexpr uint32_t kNumANGLEFormats = 218; } # 16 "../../third_party/angle/src/libANGLE/renderer/Format.h" 2 # 1 "../../third_party/angle/src/libANGLE/renderer/renderer_utils.h" 1 # 15 "../../third_party/angle/src/libANGLE/renderer/renderer_utils.h" # 1 "/usr/include/c++/10/atomic" 1 3 # 35 "/usr/include/c++/10/atomic" 3 # 36 "/usr/include/c++/10/atomic" 3 # 43 "/usr/include/c++/10/atomic" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 56 "/usr/include/c++/10/atomic" 3 template struct atomic; template<> struct atomic { using value_type = bool; 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); } }; # 179 "/usr/include/c++/10/atomic" 3 template struct atomic { using value_type = _Tp; private: static constexpr int _S_min_alignment = (sizeof(_Tp) & (sizeof(_Tp) - 1)) || sizeof(_Tp) > 16 ? 0 : sizeof(_Tp); static constexpr int _S_alignment = _S_min_alignment > alignof(_Tp) ? _S_min_alignment : alignof(_Tp); alignas(_S_alignment) _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() = 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), reinterpret_cast(-_S_alignment)); } bool is_lock_free() const volatile noexcept { return __atomic_is_lock_free(sizeof(_M_i), reinterpret_cast(-_S_alignment)); } void store(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept { __atomic_store(std::__addressof(_M_i), std::__addressof(__i), int(__m)); } void store(_Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept { __atomic_store(std::__addressof(_M_i), std::__addressof(__i), int(__m)); } _Tp load(memory_order __m = memory_order_seq_cst) const noexcept { alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); __atomic_load(std::__addressof(_M_i), __ptr, int(__m)); return *__ptr; } _Tp load(memory_order __m = memory_order_seq_cst) const volatile noexcept { alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); __atomic_load(std::__addressof(_M_i), __ptr, int(__m)); return *__ptr; } _Tp exchange(_Tp __i, memory_order __m = memory_order_seq_cst) noexcept { alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i), __ptr, int(__m)); return *__ptr; } _Tp exchange(_Tp __i, memory_order __m = memory_order_seq_cst) volatile noexcept { alignas(_Tp) unsigned char __buf[sizeof(_Tp)]; _Tp* __ptr = reinterpret_cast<_Tp*>(__buf); __atomic_exchange(std::__addressof(_M_i), std::__addressof(__i), __ptr, int(__m)); return *__ptr; } bool compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, memory_order __f) noexcept { return __atomic_compare_exchange(std::__addressof(_M_i), std::__addressof(__e), std::__addressof(__i), true, int(__s), int(__f)); } bool compare_exchange_weak(_Tp& __e, _Tp __i, memory_order __s, memory_order __f) volatile noexcept { return __atomic_compare_exchange(std::__addressof(_M_i), std::__addressof(__e), std::__addressof(__i), true, int(__s), int(__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(std::__addressof(_M_i), std::__addressof(__e), std::__addressof(__i), false, int(__s), int(__f)); } bool compare_exchange_strong(_Tp& __e, _Tp __i, memory_order __s, memory_order __f) volatile noexcept { return __atomic_compare_exchange(std::__addressof(_M_i), std::__addressof(__e), std::__addressof(__i), false, int(__s), int(__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*> { using value_type = _Tp*; using difference_type = ptrdiff_t; 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=; }; # 937 "/usr/include/c++/10/atomic" 3 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_int8_t; typedef atomic atomic_uint8_t; typedef atomic atomic_int16_t; typedef atomic atomic_uint16_t; typedef atomic atomic_int32_t; typedef atomic atomic_uint32_t; typedef atomic atomic_int64_t; typedef atomic atomic_uint64_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_ptrdiff_t; typedef atomic atomic_intmax_t; typedef atomic atomic_uintmax_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 using __atomic_val_t = typename atomic<_Tp>::value_type; template using __atomic_diff_t = typename atomic<_Tp>::difference_type; 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, __atomic_val_t<_ITp> __i) noexcept { __a->store(__i, memory_order_relaxed); } template inline void atomic_init(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept { __a->store(__i, memory_order_relaxed); } template inline void atomic_store_explicit(atomic<_ITp>* __a, __atomic_val_t<_ITp> __i, memory_order __m) noexcept { __a->store(__i, __m); } template inline void atomic_store_explicit(volatile atomic<_ITp>* __a, __atomic_val_t<_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, __atomic_val_t<_ITp> __i, memory_order __m) noexcept { return __a->exchange(__i, __m); } template inline _ITp atomic_exchange_explicit(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i, memory_order __m) noexcept { return __a->exchange(__i, __m); } template inline bool atomic_compare_exchange_weak_explicit(atomic<_ITp>* __a, __atomic_val_t<_ITp>* __i1, __atomic_val_t<_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, __atomic_val_t<_ITp>* __i1, __atomic_val_t<_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, __atomic_val_t<_ITp>* __i1, __atomic_val_t<_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, __atomic_val_t<_ITp>* __i1, __atomic_val_t<_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, __atomic_val_t<_ITp> __i) noexcept { atomic_store_explicit(__a, __i, memory_order_seq_cst); } template inline void atomic_store(volatile atomic<_ITp>* __a, __atomic_val_t<_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, __atomic_val_t<_ITp> __i) noexcept { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_exchange(volatile atomic<_ITp>* __a, __atomic_val_t<_ITp> __i) noexcept { return atomic_exchange_explicit(__a, __i, memory_order_seq_cst); } template inline bool atomic_compare_exchange_weak(atomic<_ITp>* __a, __atomic_val_t<_ITp>* __i1, __atomic_val_t<_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, __atomic_val_t<_ITp>* __i1, __atomic_val_t<_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, __atomic_val_t<_ITp>* __i1, __atomic_val_t<_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, __atomic_val_t<_ITp>* __i1, __atomic_val_t<_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<_ITp>* __a, __atomic_diff_t<_ITp> __i, memory_order __m) noexcept { return __a->fetch_add(__i, __m); } template inline _ITp atomic_fetch_add_explicit(volatile atomic<_ITp>* __a, __atomic_diff_t<_ITp> __i, memory_order __m) noexcept { return __a->fetch_add(__i, __m); } template inline _ITp atomic_fetch_sub_explicit(atomic<_ITp>* __a, __atomic_diff_t<_ITp> __i, memory_order __m) noexcept { return __a->fetch_sub(__i, __m); } template inline _ITp atomic_fetch_sub_explicit(volatile atomic<_ITp>* __a, __atomic_diff_t<_ITp> __i, memory_order __m) noexcept { return __a->fetch_sub(__i, __m); } template inline _ITp atomic_fetch_and_explicit(__atomic_base<_ITp>* __a, __atomic_val_t<_ITp> __i, memory_order __m) noexcept { return __a->fetch_and(__i, __m); } template inline _ITp atomic_fetch_and_explicit(volatile __atomic_base<_ITp>* __a, __atomic_val_t<_ITp> __i, memory_order __m) noexcept { return __a->fetch_and(__i, __m); } template inline _ITp atomic_fetch_or_explicit(__atomic_base<_ITp>* __a, __atomic_val_t<_ITp> __i, memory_order __m) noexcept { return __a->fetch_or(__i, __m); } template inline _ITp atomic_fetch_or_explicit(volatile __atomic_base<_ITp>* __a, __atomic_val_t<_ITp> __i, memory_order __m) noexcept { return __a->fetch_or(__i, __m); } template inline _ITp atomic_fetch_xor_explicit(__atomic_base<_ITp>* __a, __atomic_val_t<_ITp> __i, memory_order __m) noexcept { return __a->fetch_xor(__i, __m); } template inline _ITp atomic_fetch_xor_explicit(volatile __atomic_base<_ITp>* __a, __atomic_val_t<_ITp> __i, memory_order __m) noexcept { return __a->fetch_xor(__i, __m); } template inline _ITp atomic_fetch_add(atomic<_ITp>* __a, __atomic_diff_t<_ITp> __i) noexcept { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_add(volatile atomic<_ITp>* __a, __atomic_diff_t<_ITp> __i) noexcept { return atomic_fetch_add_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_sub(atomic<_ITp>* __a, __atomic_diff_t<_ITp> __i) noexcept { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_sub(volatile atomic<_ITp>* __a, __atomic_diff_t<_ITp> __i) noexcept { return atomic_fetch_sub_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_and(__atomic_base<_ITp>* __a, __atomic_val_t<_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, __atomic_val_t<_ITp> __i) noexcept { return atomic_fetch_and_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_or(__atomic_base<_ITp>* __a, __atomic_val_t<_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, __atomic_val_t<_ITp> __i) noexcept { return atomic_fetch_or_explicit(__a, __i, memory_order_seq_cst); } template inline _ITp atomic_fetch_xor(__atomic_base<_ITp>* __a, __atomic_val_t<_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, __atomic_val_t<_ITp> __i) noexcept { return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); } # 1546 "/usr/include/c++/10/atomic" 3 } # 16 "../../third_party/angle/src/libANGLE/renderer/renderer_utils.h" 2 # 1 "../../third_party/angle/src/common/utilities.h" 1 # 15 "../../third_party/angle/src/common/utilities.h" # 1 "/usr/include/c++/10/math.h" 1 3 # 16 "../../third_party/angle/src/common/utilities.h" 2 # 25 "../../third_party/angle/src/common/utilities.h" # 25 "../../third_party/angle/src/common/utilities.h" namespace sh { struct ShaderVariable; } namespace gl { int VariableComponentCount(GLenum type); GLenum VariableComponentType(GLenum type); size_t VariableComponentSize(GLenum type); size_t VariableInternalSize(GLenum type); size_t VariableExternalSize(GLenum type); int VariableRowCount(GLenum type); int VariableColumnCount(GLenum type); bool IsSamplerType(GLenum type); bool IsSamplerCubeType(GLenum type); bool IsImageType(GLenum type); bool IsImage2DType(GLenum type); bool IsAtomicCounterType(GLenum type); bool IsOpaqueType(GLenum type); bool IsMatrixType(GLenum type); GLenum TransposeMatrixType(GLenum type); int VariableRegisterCount(GLenum type); int MatrixRegisterCount(GLenum type, bool isRowMajorMatrix); int MatrixComponentCount(GLenum type, bool isRowMajorMatrix); int VariableSortOrder(GLenum type); GLenum VariableBoolVectorType(GLenum type); int AllocateFirstFreeBits(unsigned int *bits, unsigned int allocationSize, unsigned int bitsSize); std::string ParseResourceName(const std::string &name, std::vector *outSubscripts); std::string StripLastArrayIndex(const std::string &name); bool SamplerNameContainsNonZeroArrayElement(const std::string &name); const sh::ShaderVariable *FindShaderVarField(const sh::ShaderVariable &var, const std::string &fullName, GLuint *fieldIndexOut); IndexRange ComputeIndexRange(DrawElementsType indexType, const GLvoid *indices, size_t count, bool primitiveRestartEnabled); GLuint GetPrimitiveRestartIndex(DrawElementsType indexType); template constexpr T GetPrimitiveRestartIndexFromType() { return std::numeric_limits::max(); } static_assert(GetPrimitiveRestartIndexFromType() == 0xFF, "verify restart index for uint8_t values"); static_assert(GetPrimitiveRestartIndexFromType() == 0xFFFF, "verify restart index for uint8_t values"); static_assert(GetPrimitiveRestartIndexFromType() == 0xFFFFFFFF, "verify restart index for uint8_t values"); bool IsTriangleMode(PrimitiveMode drawMode); bool IsPolygonMode(PrimitiveMode mode); namespace priv { extern const angle::PackedEnumMap gLineModes; } inline __attribute__((always_inline)) bool IsLineMode(PrimitiveMode primitiveMode) { return priv::gLineModes[primitiveMode]; } bool IsIntegerFormat(GLenum unsizedFormat); unsigned int ArraySizeProduct(const std::vector &arraySizes); unsigned int ParseArrayIndex(const std::string &name, size_t *nameLengthWithoutArrayIndexOut); enum class SamplerFormat : uint8_t { Float = 0, Unsigned = 1, Signed = 2, Shadow = 3, InvalidEnum = 4, EnumCount = 4, }; struct UniformTypeInfo final : angle::NonCopyable { inline constexpr UniformTypeInfo(GLenum type, GLenum componentType, GLenum textureType, GLenum transposedMatrixType, GLenum boolVectorType, SamplerFormat samplerFormat, int rowCount, int columnCount, int componentCount, size_t componentSize, size_t internalSize, size_t externalSize, bool isSampler, bool isMatrixType, bool isImageType, const char *glslAsFloat); GLenum type; GLenum componentType; GLenum textureType; GLenum transposedMatrixType; GLenum boolVectorType; SamplerFormat samplerFormat; int rowCount; int columnCount; int componentCount; size_t componentSize; size_t internalSize; size_t externalSize; bool isSampler; bool isMatrixType; bool isImageType; const char *glslAsFloat; }; inline constexpr UniformTypeInfo::UniformTypeInfo(GLenum type, GLenum componentType, GLenum textureType, GLenum transposedMatrixType, GLenum boolVectorType, SamplerFormat samplerFormat, int rowCount, int columnCount, int componentCount, size_t componentSize, size_t internalSize, size_t externalSize, bool isSampler, bool isMatrixType, bool isImageType, const char *glslAsFloat) : type(type), componentType(componentType), textureType(textureType), transposedMatrixType(transposedMatrixType), boolVectorType(boolVectorType), samplerFormat(samplerFormat), rowCount(rowCount), columnCount(columnCount), componentCount(componentCount), componentSize(componentSize), internalSize(internalSize), externalSize(externalSize), isSampler(isSampler), isMatrixType(isMatrixType), isImageType(isImageType), glslAsFloat(glslAsFloat) {} const UniformTypeInfo &GetUniformTypeInfo(GLenum uniformType); const char *GetGenericErrorMessage(GLenum error); unsigned int ElementTypeSize(GLenum elementType); template T GetClampedVertexCount(size_t vertexCount) { static constexpr size_t kMax = static_cast(std::numeric_limits::max()); return static_cast(vertexCount > kMax ? kMax : vertexCount); } enum class PipelineType { GraphicsPipeline = 0, ComputePipeline = 1, }; PipelineType GetPipelineType(ShaderType shaderType); } namespace egl { static const EGLenum FirstCubeMapTextureTarget = 0x30B3; static const EGLenum LastCubeMapTextureTarget = 0x30B8; bool IsCubeMapTextureTarget(EGLenum target); size_t CubeMapTextureTargetToLayerIndex(EGLenum target); EGLenum LayerIndexToCubeMapTextureTarget(size_t index); bool IsTextureTarget(EGLenum target); bool IsRenderbufferTarget(EGLenum target); bool IsExternalImageTarget(EGLenum target); const char *GetGenericErrorMessage(EGLint error); } namespace egl_gl { GLuint EGLClientBufferToGLObjectHandle(EGLClientBuffer buffer); } namespace gl_egl { EGLenum GLComponentTypeToEGLColorComponentType(GLenum glComponentType); EGLClientBuffer GLObjectHandleToEGLClientBuffer(GLuint handle); } std::string getTempPath(); void writeFile(const char *path, const void *data, size_t size); # 21 "../../third_party/angle/src/libANGLE/renderer/renderer_utils.h" 2 namespace angle { struct FeatureSetBase; struct Format; enum class FormatID; } namespace gl { struct FormatType; struct InternalFormat; class State; } namespace egl { class AttributeMap; struct DisplayState; } namespace rx { class ContextImpl; class ResourceSerial { public: constexpr ResourceSerial() : mValue(kDirty) {} explicit constexpr ResourceSerial(uintptr_t value) : mValue(value) {} constexpr bool operator==(ResourceSerial other) const { return mValue == other.mValue; } constexpr bool operator!=(ResourceSerial other) const { return mValue != other.mValue; } void dirty() { mValue = kDirty; } void clear() { mValue = kEmpty; } constexpr bool valid() const { return mValue != kEmpty && mValue != kDirty; } constexpr bool empty() const { return mValue == kEmpty; } private: constexpr static uintptr_t kDirty = std::numeric_limits::max(); constexpr static uintptr_t kEmpty = 0; uintptr_t mValue; }; class Serial final { public: constexpr Serial() : mValue(kInvalid) {} constexpr Serial(const Serial &other) = default; Serial &operator=(const Serial &other) = default; constexpr bool operator==(const Serial &other) const { return mValue != kInvalid && mValue == other.mValue; } constexpr bool operator==(uint32_t value) const { return mValue != kInvalid && mValue == static_cast(value); } constexpr bool operator!=(const Serial &other) const { return mValue == kInvalid || mValue != other.mValue; } constexpr bool operator>(const Serial &other) const { return mValue > other.mValue; } constexpr bool operator>=(const Serial &other) const { return mValue >= other.mValue; } constexpr bool operator<(const Serial &other) const { return mValue < other.mValue; } constexpr bool operator<=(const Serial &other) const { return mValue <= other.mValue; } constexpr bool operator<(uint32_t value) const { return mValue < static_cast(value); } constexpr uint64_t getValue() const { return mValue; } private: template friend class SerialFactoryBase; constexpr explicit Serial(uint64_t value) : mValue(value) {} uint64_t mValue; static constexpr uint64_t kInvalid = 0; }; template class SerialFactoryBase final : angle::NonCopyable { public: SerialFactoryBase() : mSerial(1) {} Serial generate() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mSerial + 1 > mSerial); return Serial(mSerial++); } private: SerialBaseType mSerial; }; using SerialFactory = SerialFactoryBase; using AtomicSerialFactory = SerialFactoryBase>; using MipGenerationFunction = void (*)(size_t sourceWidth, size_t sourceHeight, size_t sourceDepth, const uint8_t *sourceData, size_t sourceRowPitch, size_t sourceDepthPitch, uint8_t *destData, size_t destRowPitch, size_t destDepthPitch); typedef void (*PixelReadFunction)(const uint8_t *source, uint8_t *dest); typedef void (*PixelWriteFunction)(const uint8_t *source, uint8_t *dest); typedef void (*PixelCopyFunction)(const uint8_t *source, uint8_t *dest); class FastCopyFunctionMap { public: struct Entry { angle::FormatID formatID; PixelCopyFunction func; }; constexpr FastCopyFunctionMap() : FastCopyFunctionMap(nullptr, 0) {} constexpr FastCopyFunctionMap(const Entry *data, size_t size) : mSize(size), mData(data) {} bool has(angle::FormatID formatID) const; PixelCopyFunction get(angle::FormatID formatID) const; private: size_t mSize; const Entry *mData; }; struct PackPixelsParams { PackPixelsParams(); PackPixelsParams(const gl::Rectangle &area, const angle::Format &destFormat, GLuint outputPitch, bool reverseRowOrderIn, gl::Buffer *packBufferIn, ptrdiff_t offset); gl::Rectangle area; const angle::Format *destFormat; GLuint outputPitch; gl::Buffer *packBuffer; bool reverseRowOrder; ptrdiff_t offset; }; void PackPixels(const PackPixelsParams ¶ms, const angle::Format &sourceFormat, int inputPitch, const uint8_t *source, uint8_t *destination); using InitializeTextureDataFunction = void (*)(size_t width, size_t height, size_t depth, uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); using LoadImageFunction = void (*)(size_t width, size_t height, size_t depth, const uint8_t *input, size_t inputRowPitch, size_t inputDepthPitch, uint8_t *output, size_t outputRowPitch, size_t outputDepthPitch); struct LoadImageFunctionInfo { LoadImageFunctionInfo() : loadFunction(nullptr), requiresConversion(false) {} LoadImageFunctionInfo(LoadImageFunction loadFunction, bool requiresConversion) : loadFunction(loadFunction), requiresConversion(requiresConversion) {} LoadImageFunction loadFunction; bool requiresConversion; }; using LoadFunctionMap = LoadImageFunctionInfo (*)(GLenum); bool ShouldUseDebugLayers(const egl::AttributeMap &attribs); bool ShouldUseVirtualizedContexts(const egl::AttributeMap &attribs, bool defaultValue); void CopyImageCHROMIUM(const uint8_t *sourceData, size_t sourceRowPitch, size_t sourcePixelBytes, size_t sourceDepthPitch, PixelReadFunction pixelReadFunction, uint8_t *destData, size_t destRowPitch, size_t destPixelBytes, size_t destDepthPitch, PixelWriteFunction pixelWriteFunction, GLenum destUnsizedFormat, GLenum destComponentType, size_t width, size_t height, size_t depth, bool unpackFlipY, bool unpackPremultiplyAlpha, bool unpackUnmultiplyAlpha); # 242 "../../third_party/angle/src/libANGLE/renderer/renderer_utils.h" class MultisampleTextureInitializer { public: virtual ~MultisampleTextureInitializer() {} virtual angle::Result initializeMultisampleTextureToBlack(const gl::Context *context, gl::Texture *glTexture) = 0; }; class IncompleteTextureSet final : angle::NonCopyable { public: IncompleteTextureSet(); ~IncompleteTextureSet(); void onDestroy(const gl::Context *context); angle::Result getIncompleteTexture(const gl::Context *context, gl::TextureType type, MultisampleTextureInitializer *multisampleInitializer, gl::Texture **textureOut); private: gl::TextureMap mIncompleteTextures; }; template struct SetFloatUniformMatrixGLSL { static void Run(unsigned int arrayElementOffset, unsigned int elementCount, GLsizei countIn, GLboolean transpose, const GLfloat *value, uint8_t *targetData); }; template struct SetFloatUniformMatrixHLSL { static void Run(unsigned int arrayElementOffset, unsigned int elementCount, GLsizei countIn, GLboolean transpose, const GLfloat *value, uint8_t *targetData); }; void GetMatrixUniform(GLenum type, GLfloat *dataOut, const GLfloat *source, bool transpose); template void GetMatrixUniform(GLenum type, NonFloatT *dataOut, const NonFloatT *source, bool transpose); const angle::Format &GetFormatFromFormatType(GLenum format, GLenum type); angle::Result ComputeStartVertex(ContextImpl *contextImpl, const gl::IndexRange &indexRange, GLint baseVertex, GLint *firstVertexOut); angle::Result GetVertexRangeInfo(const gl::Context *context, GLint firstVertex, GLsizei vertexOrIndexCount, gl::DrawElementsType indexTypeOrInvalid, const void *indices, GLint baseVertex, GLint *startVertexOut, size_t *vertexCountOut); gl::Rectangle ClipRectToScissor(const gl::State &glState, const gl::Rectangle &rect, bool invertY); void OverrideFeaturesWithDisplayState(angle::FeatureSetBase *features, const egl::DisplayState &state); template uint32_t LineLoopRestartIndexCountHelper(GLsizei indexCount, const uint8_t *srcPtr) { constexpr In restartIndex = gl::GetPrimitiveRestartIndexFromType(); const In *inIndices = reinterpret_cast(srcPtr); uint32_t numIndices = 0; GLsizei loopStartIndex = 0; for (GLsizei curIndex = 0; curIndex < indexCount; curIndex++) { In vertex = inIndices[curIndex]; if (vertex != restartIndex) { numIndices++; } else { if (curIndex > loopStartIndex) { numIndices += 2; } loopStartIndex = curIndex + 1; } } if (indexCount > loopStartIndex) { numIndices++; } return numIndices; } inline uint32_t GetLineLoopWithRestartIndexCount(gl::DrawElementsType glIndexType, GLsizei indexCount, const uint8_t *srcPtr) { switch (glIndexType) { case gl::DrawElementsType::UnsignedByte: return LineLoopRestartIndexCountHelper(indexCount, srcPtr); case gl::DrawElementsType::UnsignedShort: return LineLoopRestartIndexCountHelper(indexCount, srcPtr); case gl::DrawElementsType::UnsignedInt: return LineLoopRestartIndexCountHelper(indexCount, srcPtr); default: do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); return 0; } } template void CopyLineLoopIndicesWithRestart(GLsizei indexCount, const uint8_t *srcPtr, uint8_t *outPtr) { constexpr In restartIndex = gl::GetPrimitiveRestartIndexFromType(); constexpr Out outRestartIndex = gl::GetPrimitiveRestartIndexFromType(); const In *inIndices = reinterpret_cast(srcPtr); Out *outIndices = reinterpret_cast(outPtr); GLsizei loopStartIndex = 0; for (GLsizei curIndex = 0; curIndex < indexCount; curIndex++) { In vertex = inIndices[curIndex]; if (vertex != restartIndex) { *(outIndices++) = static_cast(vertex); } else { if (curIndex > loopStartIndex) { *(outIndices++) = inIndices[loopStartIndex]; *(outIndices++) = outRestartIndex; } loopStartIndex = curIndex + 1; } } if (indexCount > loopStartIndex) { *(outIndices++) = inIndices[loopStartIndex]; } } void GetSamplePosition(GLsizei sampleCount, size_t index, GLfloat *xy); } # 17 "../../third_party/angle/src/libANGLE/renderer/Format.h" 2 namespace angle { enum class FormatID; extern const Format gFormatInfoTable[]; struct Format final : private angle::NonCopyable { inline constexpr Format(FormatID id, GLenum glFormat, GLenum fboFormat, rx::MipGenerationFunction mipGen, const rx::FastCopyFunctionMap &fastCopyFunctions, rx::PixelReadFunction colorRead, rx::PixelWriteFunction colorWrite, GLenum componentType, GLuint redBits, GLuint greenBits, GLuint blueBits, GLuint alphaBits, GLuint luminanceBits, GLuint depthBits, GLuint stencilBits, GLuint pixelBytes, GLuint componentAlignmentMask, bool isBlock, bool isFixed, bool isScaled, gl::VertexAttribType vertexAttribType); static const Format &Get(FormatID id) { return gFormatInfoTable[static_cast(id)]; } static FormatID InternalFormatToID(GLenum internalFormat); constexpr bool hasDepthOrStencilBits() const; constexpr bool isLUMA() const; constexpr bool isSint() const; constexpr bool isUint() const; constexpr bool isSnorm() const; constexpr bool isUnorm() const; constexpr bool isFloat() const; constexpr bool isVertexTypeHalfFloat() const; constexpr bool isInt() const { return isSint() || isUint(); } constexpr bool isNorm() const { return isSnorm() || isUnorm(); } constexpr bool isPureInt() const { return isInt() && !isScaled; } bool operator==(const Format &other) const { return this->id == other.id; } FormatID id; GLenum glInternalFormat; GLenum fboImplementationInternalFormat; rx::MipGenerationFunction mipGenerationFunction; rx::PixelReadFunction pixelReadFunction; rx::PixelWriteFunction pixelWriteFunction; const rx::FastCopyFunctionMap &fastCopyFunctions; GLenum componentType; GLuint redBits; GLuint greenBits; GLuint blueBits; GLuint alphaBits; GLuint luminanceBits; GLuint depthBits; GLuint stencilBits; GLuint pixelBytes; GLuint componentAlignmentMask; GLuint channelCount; bool isBlock; bool isFixed; bool isScaled; gl::VertexAttribType vertexAttribType; }; constexpr GLuint GetChannelCount(GLuint redBits, GLuint greenBits, GLuint blueBits, GLuint alphaBits, GLuint luminanceBits, GLuint depthBits, GLuint stencilBits) { return (redBits > 0 ? 1 : 0) + (greenBits > 0 ? 1 : 0) + (blueBits > 0 ? 1 : 0) + (alphaBits > 0 ? 1 : 0) + (luminanceBits > 0 ? 1 : 0) + (depthBits > 0 ? 1 : 0) + (stencilBits > 0 ? 1 : 0); } constexpr Format::Format(FormatID id, GLenum glFormat, GLenum fboFormat, rx::MipGenerationFunction mipGen, const rx::FastCopyFunctionMap &fastCopyFunctions, rx::PixelReadFunction colorRead, rx::PixelWriteFunction colorWrite, GLenum componentType, GLuint redBits, GLuint greenBits, GLuint blueBits, GLuint alphaBits, GLuint luminanceBits, GLuint depthBits, GLuint stencilBits, GLuint pixelBytes, GLuint componentAlignmentMask, bool isBlock, bool isFixed, bool isScaled, gl::VertexAttribType vertexAttribType) : id(id), glInternalFormat(glFormat), fboImplementationInternalFormat(fboFormat), mipGenerationFunction(mipGen), pixelReadFunction(colorRead), pixelWriteFunction(colorWrite), fastCopyFunctions(fastCopyFunctions), componentType(componentType), redBits(redBits), greenBits(greenBits), blueBits(blueBits), alphaBits(alphaBits), luminanceBits(luminanceBits), depthBits(depthBits), stencilBits(stencilBits), pixelBytes(pixelBytes), componentAlignmentMask(componentAlignmentMask), channelCount(GetChannelCount(redBits, greenBits, blueBits, alphaBits, luminanceBits, depthBits, stencilBits)), isBlock(isBlock), isFixed(isFixed), isScaled(isScaled), vertexAttribType(vertexAttribType) {} constexpr bool Format::hasDepthOrStencilBits() const { return depthBits > 0 || stencilBits > 0; } constexpr bool Format::isLUMA() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(redBits > 0 || (greenBits == 0 && blueBits == 0)); return redBits == 0 && (luminanceBits > 0 || alphaBits > 0); } constexpr bool Format::isSint() const { return componentType == 0x1404; } constexpr bool Format::isUint() const { return componentType == 0x1405; } constexpr bool Format::isSnorm() const { return componentType == 0x8F9C; } constexpr bool Format::isUnorm() const { return componentType == 0x8C17; } constexpr bool Format::isFloat() const { return componentType == 0x1406; } constexpr bool Format::isVertexTypeHalfFloat() const { return vertexAttribType == gl::VertexAttribType::HalfFloat; } } # 14 "../../third_party/angle/src/libANGLE/Caps.h" 2 namespace gl { struct Extensions; struct TextureCaps { TextureCaps(); TextureCaps(const TextureCaps &other); ~TextureCaps(); bool texturable = false; bool filterable = false; bool textureAttachment = false; bool renderbuffer = false; SupportedSampleSet sampleCounts; GLuint getMaxSamples() const; GLuint getNearestSamples(GLuint requestedSamples) const; }; TextureCaps GenerateMinimumTextureCaps(GLenum internalFormat, const Version &clientVersion, const Extensions &extensions); class TextureCapsMap final : angle::NonCopyable { public: TextureCapsMap(); ~TextureCapsMap(); void insert(GLenum internalFormat, const TextureCaps &caps); const TextureCaps &get(GLenum internalFormat) const; void clear(); const TextureCaps &get(angle::FormatID formatID) const; void set(angle::FormatID formatID, const TextureCaps &caps); private: TextureCaps &get(angle::FormatID formatID); std::array mFormatData; }; void InitMinimumTextureCapsMap(const Version &clientVersion, const Extensions &extensions, TextureCapsMap *capsMap); bool DetermineCompressedTextureETCSupport(const TextureCapsMap &textureCaps); struct Extensions { Extensions(); Extensions(const Extensions &other); std::vector getStrings() const; # 118 "../../third_party/angle/src/libANGLE/Caps.h" void setTextureExtensionSupport(const TextureCapsMap &textureCaps); bool depthTextureAny() const { return (depthTextureANGLE || depthTextureOES); } bool elementIndexUint = false; bool packedDepthStencil = false; bool getProgramBinary = false; bool rgb8rgba8 = false; bool textureFormatBGRA8888 = false; bool readFormatBGRA = false; bool pixelBufferObject = false; bool glSync = false; bool mapBuffer = false; bool mapBufferRange = false; bool colorBufferHalfFloat = false; bool textureHalfFloat = false; bool textureHalfFloatLinear = false; bool textureFormat2101010REV = false; bool textureFloat = false; bool textureFloatLinear = false; bool textureRG = false; bool textureCompressionDXT1 = false; bool textureCompressionDXT3 = false; bool textureCompressionDXT5 = false; bool textureCompressionS3TCsRGB = false; bool textureCompressionASTCLDRKHR = false; bool textureCompressionASTCHDRKHR = false; bool textureCompressionASTCOES = false; bool textureCompressionBPTC = false; bool compressedETC1RGB8Texture = false; bool compressedETC2RGB8Texture = false; bool compressedETC2sRGB8Texture = false; bool compressedETC2PunchthroughARGB8Texture = false; bool compressedETC2PunchthroughAsRGB8AlphaTexture = false; bool compressedETC2RGBA8Texture = false; bool compressedETC2sRGB8Alpha8Texture = false; bool compressedEACR11UnsignedTexture = false; bool compressedEACR11SignedTexture = false; bool compressedEACRG11UnsignedTexture = false; bool compressedEACRG11SignedTexture = false; bool compressedTextureETC = false; bool compressedTexturePVRTC = false; bool compressedTexturePVRTCsRGB = false; bool sRGB = false; bool depthTextureANGLE = false; bool depthTextureOES = false; bool depth24OES = false; bool depth32 = false; bool texture3DOES = false; bool textureStorage = false; bool textureNPOT = false; bool drawBuffers = false; bool textureFilterAnisotropic = false; GLfloat maxTextureAnisotropy = 0.0f; bool occlusionQueryBoolean = false; bool fence = false; bool disjointTimerQuery = false; GLuint queryCounterBitsTimeElapsed = 0; GLuint queryCounterBitsTimestamp = 0; bool robustness = false; bool robustBufferAccessBehavior = false; bool blendMinMax = false; bool framebufferBlit = false; bool framebufferMultisample = false; bool multisampledRenderToTexture = false; bool instancedArraysANGLE = false; bool instancedArraysEXT = false; bool instancedArraysAny() const { return (instancedArraysANGLE || instancedArraysEXT); } bool packReverseRowOrder = false; bool standardDerivatives = false; bool shaderTextureLOD = false; bool fragDepth = false; bool multiview = false; GLuint maxViews = 1; bool multiview2 = false; bool textureUsage = false; bool translatedShaderSource = false; bool fboRenderMipmap = false; bool discardFramebuffer = false; bool debugMarker = false; bool eglImage = false; bool eglImageExternal = false; bool eglImageExternalEssl3 = false; bool eglSync = false; bool memoryObject = false; bool memoryObjectFd = false; bool semaphore = false; bool semaphoreFd = false; bool eglStreamConsumerExternal = false; bool unpackSubimage = false; bool packSubimage = false; bool vertexHalfFloat = false; bool vertexArrayObject = false; bool vertexAttribType1010102 = false; bool debug = false; GLuint maxDebugMessageLength = 0; GLuint maxDebugLoggedMessages = 0; GLuint maxDebugGroupStackDepth = 0; GLuint maxLabelLength = 0; bool noError = false; bool lossyETCDecode = false; bool bindUniformLocation = false; bool syncQuery = false; bool copyTexture = false; bool copyCompressedTexture = false; bool copyTexture3d = false; bool webglCompatibility = false; bool requestExtension = false; bool bindGeneratesResource = false; bool robustClientMemory = false; bool textureBorderClamp = false; bool textureSRGBDecode = false; bool sRGBWriteControl = false; bool colorBufferFloatRGB = false; bool colorBufferFloatRGBA = false; bool colorBufferFloat = false; bool multisampleCompatibility = false; bool framebufferMixedSamples = false; bool textureNorm16 = false; bool pathRendering = false; bool surfacelessContext = false; bool clientArrays = false; bool robustResourceInitialization = false; bool programCacheControl = false; bool textureRectangle = false; bool geometryShader = false; bool pointSizeArray = false; bool textureCubeMap = false; bool pointSprite = false; bool drawTexture = false; bool explicitContextGles1 = false; bool explicitContext = false; bool parallelShaderCompile = false; bool textureStorageMultisample2DArray = false; bool multiviewMultisample = false; bool blendFuncExtended = false; GLuint maxDualSourceDrawBuffers = 0; bool floatBlend = false; bool memorySize = false; bool textureMultisample = false; bool multiDraw = false; bool provokingVertex = false; bool loseContextCHROMIUM = false; bool textureExternalUpdateANGLE = false; bool baseVertexBaseInstance = false; bool getImageANGLE = false; bool drawElementsBaseVertexOES = false; bool drawElementsBaseVertexEXT = false; bool drawElementsBaseVertexAny() const { return (drawElementsBaseVertexOES || drawElementsBaseVertexEXT); } }; using ExtensionBool = bool Extensions::*; struct ExtensionInfo { bool Requestable = false; bool Disablable = false; ExtensionBool ExtensionsMember = nullptr; }; using ExtensionInfoMap = std::map; const ExtensionInfoMap &GetExtensionInfoMap(); struct Limitations { Limitations(); bool noFrontFacingSupport = false; bool noSampleAlphaToCoverageSupport = false; bool attributeZeroRequiresZeroDivisorInEXT = false; bool noSeparateStencilRefsAndMasks = false; bool shadersRequireIndexedLoopValidation = false; bool noSimultaneousConstantColorAndAlphaBlendFunc = false; bool noFlexibleVaryingPacking = false; bool noDoubleBoundTransformFeedbackBuffers = false; bool noVertexAttributeAliasing = false; }; struct TypePrecision { TypePrecision(); TypePrecision(const TypePrecision &other); void setIEEEFloat(); void setTwosComplementInt(unsigned int bits); void setSimulatedFloat(unsigned int range, unsigned int precision); void setSimulatedInt(unsigned int range); void get(GLint *returnRange, GLint *returnPrecision) const; std::array range = {0, 0}; GLint precision = 0; }; struct Caps { Caps(); Caps(const Caps &other); ~Caps(); GLint64 maxElementIndex = 0; GLint max3DTextureSize = 0; GLint max2DTextureSize = 0; GLint maxRectangleTextureSize = 0; GLint maxArrayTextureLayers = 0; GLfloat maxLODBias = 0.0f; GLint maxCubeMapTextureSize = 0; GLint maxRenderbufferSize = 0; GLfloat minAliasedPointSize = 1.0f; GLfloat maxAliasedPointSize = 1.0f; GLfloat minAliasedLineWidth = 0.0f; GLfloat maxAliasedLineWidth = 0.0f; GLint maxDrawBuffers = 0; GLint maxFramebufferWidth = 0; GLint maxFramebufferHeight = 0; GLint maxFramebufferSamples = 0; GLint maxColorAttachments = 0; GLint maxViewportWidth = 0; GLint maxViewportHeight = 0; GLint maxSampleMaskWords = 0; GLint maxColorTextureSamples = 0; GLint maxDepthTextureSamples = 0; GLint maxIntegerSamples = 0; GLint64 maxServerWaitTimeout = 0; GLint maxVertexAttribRelativeOffset = 0; GLint maxVertexAttribBindings = 0; GLint maxVertexAttribStride = 0; GLint maxElementsIndices = 0; GLint maxElementsVertices = 0; std::vector compressedTextureFormats; std::vector programBinaryFormats; std::vector shaderBinaryFormats; TypePrecision vertexHighpFloat; TypePrecision vertexMediumpFloat; TypePrecision vertexLowpFloat; TypePrecision vertexHighpInt; TypePrecision vertexMediumpInt; TypePrecision vertexLowpInt; TypePrecision fragmentHighpFloat; TypePrecision fragmentMediumpFloat; TypePrecision fragmentLowpFloat; TypePrecision fragmentHighpInt; TypePrecision fragmentMediumpInt; TypePrecision fragmentLowpInt; # 697 "../../third_party/angle/src/libANGLE/Caps.h" ShaderMap maxShaderUniformBlocks = {}; ShaderMap maxShaderTextureImageUnits = {}; ShaderMap maxShaderStorageBlocks = {}; ShaderMap maxShaderUniformComponents = {}; ShaderMap maxShaderAtomicCounterBuffers = {}; ShaderMap maxShaderAtomicCounters = {}; ShaderMap maxShaderImageUniforms = {}; ShaderMap maxCombinedShaderUniformComponents = {}; GLint maxVertexAttributes = 0; GLint maxVertexUniformVectors = 0; GLint maxVertexOutputComponents = 0; GLint maxFragmentUniformVectors = 0; GLint maxFragmentInputComponents = 0; GLint minProgramTextureGatherOffset = 0; GLint maxProgramTextureGatherOffset = 0; GLint minProgramTexelOffset = 0; GLint maxProgramTexelOffset = 0; std::array maxComputeWorkGroupCount = {0, 0, 0}; std::array maxComputeWorkGroupSize = {0, 0, 0}; GLint maxComputeWorkGroupInvocations = 0; GLint maxComputeSharedMemorySize = 0; GLint maxUniformBufferBindings = 0; GLint64 maxUniformBlockSize = 0; GLint uniformBufferOffsetAlignment = 0; GLint maxCombinedUniformBlocks = 0; GLint maxVaryingComponents = 0; GLint maxVaryingVectors = 0; GLint maxCombinedTextureImageUnits = 0; GLint maxCombinedShaderOutputResources = 0; GLint maxUniformLocations = 0; GLint maxAtomicCounterBufferBindings = 0; GLint maxAtomicCounterBufferSize = 0; GLint maxCombinedAtomicCounterBuffers = 0; GLint maxCombinedAtomicCounters = 0; GLint maxImageUnits = 0; GLint maxCombinedImageUniforms = 0; GLint maxShaderStorageBufferBindings = 0; GLint64 maxShaderStorageBlockSize = 0; GLint maxCombinedShaderStorageBlocks = 0; GLint shaderStorageBufferOffsetAlignment = 0; GLint maxTransformFeedbackInterleavedComponents = 0; GLint maxTransformFeedbackSeparateAttributes = 0; GLint maxTransformFeedbackSeparateComponents = 0; GLint maxSamples = 0; GLint maxFramebufferLayers = 0; GLint layerProvokingVertex = 0; GLint maxGeometryInputComponents = 0; GLint maxGeometryOutputComponents = 0; GLint maxGeometryOutputVertices = 0; GLint maxGeometryTotalOutputComponents = 0; GLint maxGeometryShaderInvocations = 0; GLuint subPixelBits = 4; GLuint maxMultitextureUnits = 0; GLuint maxClipPlanes = 0; GLuint maxLights = 0; static constexpr int GlobalMatrixStackDepth = 16; GLuint maxModelviewMatrixStackDepth = 0; GLuint maxProjectionMatrixStackDepth = 0; GLuint maxTextureMatrixStackDepth = 0; GLfloat minSmoothPointSize = 0.0f; GLfloat maxSmoothPointSize = 0.0f; GLfloat minSmoothLineWidth = 0.0f; GLfloat maxSmoothLineWidth = 0.0f; }; Caps GenerateMinimumCaps(const Version &clientVersion, const Extensions &extensions); } namespace egl { struct Caps { Caps(); bool textureNPOT; }; struct DisplayExtensions { DisplayExtensions(); std::vector getStrings() const; bool createContextRobustness = false; bool d3dShareHandleClientBuffer = false; bool d3dTextureClientBuffer = false; bool surfaceD3DTexture2DShareHandle = false; bool querySurfacePointer = false; bool windowFixedSize = false; bool keyedMutex = false; bool surfaceOrientation = false; bool postSubBuffer = false; bool createContext = false; bool deviceQuery = false; bool image = false; bool imageBase = false; bool imagePixmap = false; bool glTexture2DImage = false; bool glTextureCubemapImage = false; bool glTexture3DImage = false; bool glRenderbufferImage = false; bool getAllProcAddresses = false; bool flexibleSurfaceCompatibility = false; bool directComposition = false; bool windowsUIComposition = false; bool createContextNoError = false; bool stream = false; bool streamConsumerGLTexture = false; bool streamConsumerGLTextureYUV = false; bool streamProducerD3DTexture = false; bool fenceSync = false; bool waitSync = false; bool createContextWebGLCompatibility = false; bool createContextBindGeneratesResource = false; bool syncControlCHROMIUM = false; bool swapBuffersWithDamage = false; bool pixelFormatFloat = false; bool surfacelessContext = false; bool displayTextureShareGroup = false; bool createContextClientArrays = false; bool programCacheControl = false; bool robustResourceInitialization = false; bool iosurfaceClientBuffer = false; bool createContextExtensionsEnabled = false; bool presentationTime = false; bool blobCache = false; bool imageNativeBuffer = false; bool getFrameTimestamps = false; bool recordable = false; bool powerPreference = false; bool imageD3D11Texture = false; bool getNativeClientBufferANDROID = false; bool nativeFenceSyncANDROID = false; bool createContextBackwardsCompatible = false; bool noConfigContext = false; bool ggpStreamDescriptor = false; bool swapWithFrameToken = false; }; struct DeviceExtensions { DeviceExtensions(); std::vector getStrings() const; bool deviceD3D = false; bool deviceCGL = false; }; struct ClientExtensions { ClientExtensions(); ClientExtensions(const ClientExtensions &other); std::vector getStrings() const; bool clientExtensions = false; bool platformBase = false; bool platformDevice = false; bool platformANGLE = false; bool platformANGLED3D = false; bool platformANGLED3D11ON12 = false; bool platformANGLEOpenGL = false; bool platformANGLENULL = false; bool platformANGLEVulkan = false; bool platformANGLEMetal = false; bool platformANGLEContextVirtualization = false; bool deviceCreation = false; bool deviceCreationD3D11 = false; bool x11Visual = false; bool experimentalPresentPath = false; bool clientGetAllProcAddresses = false; bool debug = false; bool explicitContext = false; bool featureControlANGLE = false; bool platformANGLEDeviceTypeSwiftShader = false; }; } # 21 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_1_0_autogen.h" 1 # 23 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_1_1_autogen.h" 1 # 24 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_1_2_autogen.h" 1 # 25 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_1_3_autogen.h" 1 # 26 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_1_4_autogen.h" 1 # 27 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_1_5_autogen.h" 1 # 28 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_2_0_autogen.h" 1 # 29 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_2_1_autogen.h" 1 # 30 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_3_0_autogen.h" 1 # 31 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_3_1_autogen.h" 1 # 32 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_3_2_autogen.h" 1 # 33 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_3_3_autogen.h" 1 # 34 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_4_0_autogen.h" 1 # 35 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_4_1_autogen.h" 1 # 36 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_4_2_autogen.h" 1 # 37 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_4_3_autogen.h" 1 # 38 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_4_4_autogen.h" 1 # 39 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_4_5_autogen.h" 1 # 40 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gl_4_6_autogen.h" 1 # 41 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gles_1_0_autogen.h" 1 # 42 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gles_2_0_autogen.h" 1 # 43 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gles_3_0_autogen.h" 1 # 44 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gles_3_1_autogen.h" 1 # 45 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gles_3_2_autogen.h" 1 # 46 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/Context_gles_ext_autogen.h" 1 # 47 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/HandleAllocator.h" 1 # 17 "../../third_party/angle/src/libANGLE/HandleAllocator.h" namespace gl { class HandleAllocator final : angle::NonCopyable { public: HandleAllocator(); HandleAllocator(GLuint maximumHandleValue); ~HandleAllocator(); void setBaseHandle(GLuint value); GLuint allocate(); void release(GLuint handle); void reserve(GLuint handle); void reset(); void enableLogging(bool enabled); private: GLuint mBaseValue; GLuint mNextValue; typedef std::vector HandleList; HandleList mFreeValues; struct HandleRange { HandleRange(GLuint beginIn, GLuint endIn) : begin(beginIn), end(endIn) {} GLuint begin; GLuint end; }; struct HandleRangeComparator; std::vector mUnallocatedList; std::vector mReleasedList; bool mLoggingEnabled; }; } # 49 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/ResourceManager.h" 1 # 17 "../../third_party/angle/src/libANGLE/ResourceManager.h" # 1 "../../third_party/angle/src/libANGLE/HandleRangeAllocator.h" 1 # 18 "../../third_party/angle/src/libANGLE/HandleRangeAllocator.h" namespace gl { class HandleRangeAllocator final : angle::NonCopyable { public: static const GLuint kInvalidHandle; HandleRangeAllocator(); ~HandleRangeAllocator(); GLuint allocate(); GLuint allocateAtOrAbove(GLuint wanted); GLuint allocateRange(GLuint range); bool markAsUsed(GLuint handle); void release(GLuint handle); void releaseRange(GLuint first, GLuint range); bool isUsed(GLuint handle) const; private: std::map mUsed; }; } # 18 "../../third_party/angle/src/libANGLE/ResourceManager.h" 2 # 1 "../../third_party/angle/src/libANGLE/ResourceMap.h" 1 # 16 "../../third_party/angle/src/libANGLE/ResourceMap.h" namespace gl { template class ResourceMap final : angle::NonCopyable { public: ResourceMap(); ~ResourceMap(); inline __attribute__((always_inline)) ResourceType *query(IDType id) const { GLuint handle = GetIDValue(id); if (handle < mFlatResourcesSize) { ResourceType *value = mFlatResources[handle]; return (value == InvalidPointer() ? nullptr : value); } auto it = mHashedResources.find(handle); return (it == mHashedResources.end() ? nullptr : it->second); } bool contains(IDType id) const; bool erase(IDType id, ResourceType **resourceOut); void assign(IDType id, ResourceType *resource); void clear(); using IndexAndResource = std::pair; using HashMap = std::unordered_map; class Iterator final { public: bool operator==(const Iterator &other) const; bool operator!=(const Iterator &other) const; Iterator &operator++(); const IndexAndResource *operator->() const; const IndexAndResource &operator*() const; private: friend class ResourceMap; Iterator(const ResourceMap &origin, GLuint flatIndex, typename HashMap::const_iterator hashIndex); void updateValue(); const ResourceMap &mOrigin; GLuint mFlatIndex; typename HashMap::const_iterator mHashIndex; IndexAndResource mValue; }; Iterator begin() const; Iterator end() const; Iterator find(IDType handle) const; bool empty() const; private: friend class Iterator; GLuint nextNonNullResource(size_t flatIndex) const; static ResourceType *InvalidPointer(); static constexpr intptr_t kInvalidPointer = static_cast(-1); static constexpr size_t kInitialFlatResourcesSize = 0x20; static constexpr size_t kFlatResourcesLimit = 0x4000; static constexpr size_t kElementSize = sizeof(ResourceType *); size_t mFlatResourcesSize; ResourceType **mFlatResources; HashMap mHashedResources; }; template ResourceMap::ResourceMap() : mFlatResourcesSize(kInitialFlatResourcesSize), mFlatResources(new ResourceType *[kInitialFlatResourcesSize]) { memset(mFlatResources, kInvalidPointer, mFlatResourcesSize * kElementSize); } template ResourceMap::~ResourceMap() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(empty()); delete[] mFlatResources; } template inline __attribute__((always_inline)) bool ResourceMap::contains(IDType id) const { GLuint handle = GetIDValue(id); if (handle < mFlatResourcesSize) { return (mFlatResources[handle] != InvalidPointer()); } return (mHashedResources.find(handle) != mHashedResources.end()); } template bool ResourceMap::erase(IDType id, ResourceType **resourceOut) { GLuint handle = GetIDValue(id); if (handle < mFlatResourcesSize) { auto &value = mFlatResources[handle]; if (value == InvalidPointer()) { return false; } *resourceOut = value; value = InvalidPointer(); } else { auto it = mHashedResources.find(handle); if (it == mHashedResources.end()) { return false; } *resourceOut = it->second; mHashedResources.erase(it); } return true; } template void ResourceMap::assign(IDType id, ResourceType *resource) { GLuint handle = GetIDValue(id); if (handle < kFlatResourcesLimit) { if (handle >= mFlatResourcesSize) { size_t newSize = mFlatResourcesSize; while (newSize <= handle) { newSize *= 2; } ResourceType **oldResources = mFlatResources; mFlatResources = new ResourceType *[newSize]; memset(&mFlatResources[mFlatResourcesSize], kInvalidPointer, (newSize - mFlatResourcesSize) * kElementSize); memcpy(mFlatResources, oldResources, mFlatResourcesSize * kElementSize); mFlatResourcesSize = newSize; delete[] oldResources; } true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mFlatResourcesSize > handle); mFlatResources[handle] = resource; } else { mHashedResources[handle] = resource; } } template typename ResourceMap::Iterator ResourceMap::begin() const { return Iterator(*this, nextNonNullResource(0), mHashedResources.begin()); } template typename ResourceMap::Iterator ResourceMap::end() const { return Iterator(*this, static_cast(mFlatResourcesSize), mHashedResources.end()); } template typename ResourceMap::Iterator ResourceMap::find( IDType handle) const { if (handle < mFlatResourcesSize) { return (mFlatResources[handle] != InvalidPointer() ? Iterator(handle, mHashedResources.begin()) : end()); } else { return mHashedResources.find(handle); } } template bool ResourceMap::empty() const { return (begin() == end()); } template void ResourceMap::clear() { memset(mFlatResources, kInvalidPointer, kInitialFlatResourcesSize * kElementSize); mFlatResourcesSize = kInitialFlatResourcesSize; mHashedResources.clear(); } template GLuint ResourceMap::nextNonNullResource(size_t flatIndex) const { for (size_t index = flatIndex; index < mFlatResourcesSize; index++) { if (mFlatResources[index] != nullptr && mFlatResources[index] != InvalidPointer()) { return static_cast(index); } } return static_cast(mFlatResourcesSize); } template ResourceType *ResourceMap::InvalidPointer() { return reinterpret_cast(kInvalidPointer); } template ResourceMap::Iterator::Iterator( const ResourceMap &origin, GLuint flatIndex, typename ResourceMap::HashMap::const_iterator hashIndex) : mOrigin(origin), mFlatIndex(flatIndex), mHashIndex(hashIndex) { updateValue(); } template bool ResourceMap::Iterator::operator==(const Iterator &other) const { return (mFlatIndex == other.mFlatIndex && mHashIndex == other.mHashIndex); } template bool ResourceMap::Iterator::operator!=(const Iterator &other) const { return !(*this == other); } template typename ResourceMap::Iterator &ResourceMap::Iterator:: operator++() { if (mFlatIndex < static_cast(mOrigin.mFlatResourcesSize)) { mFlatIndex = mOrigin.nextNonNullResource(mFlatIndex + 1); } else { mHashIndex++; } updateValue(); return *this; } template const typename ResourceMap::IndexAndResource *ResourceMap::Iterator::operator->() const { return &mValue; } template const typename ResourceMap::IndexAndResource &ResourceMap::Iterator::operator*() const { return mValue; } template void ResourceMap::Iterator::updateValue() { if (mFlatIndex < static_cast(mOrigin.mFlatResourcesSize)) { mValue.first = mFlatIndex; mValue.second = mOrigin.mFlatResources[mFlatIndex]; } else if (mHashIndex != mOrigin.mHashedResources.end()) { mValue.first = mHashIndex->first; mValue.second = mHashIndex->second; } } } # 19 "../../third_party/angle/src/libANGLE/ResourceManager.h" 2 namespace rx { class GLImplFactory; } namespace gl { class Buffer; struct Caps; class Context; class Sync; class Framebuffer; struct Limitations; class MemoryObject; class Path; class Program; class ProgramPipeline; class Renderbuffer; class Sampler; class Shader; class Semaphore; class Texture; template class ResourceManagerBase : angle::NonCopyable { public: ResourceManagerBase(); void addRef(); void release(const Context *context); protected: virtual void reset(const Context *context) = 0; virtual ~ResourceManagerBase() {} HandleAllocatorType mHandleAllocator; private: size_t mRefCount; }; template class TypedResourceManager : public ResourceManagerBase { public: TypedResourceManager() {} void deleteObject(const Context *context, IDType handle); inline __attribute__((always_inline)) bool isHandleGenerated(IDType handle) const { return GetIDValue(handle) == 0 || mObjectMap.contains(handle); } typename ResourceMap::Iterator begin() const { return mObjectMap.begin(); } typename ResourceMap::Iterator end() const { return mObjectMap.end(); } protected: ~TypedResourceManager() override; template inline __attribute__((always_inline)) ResourceType *checkObjectAllocation(rx::GLImplFactory *factory, IDType handle, ArgTypes... args) { ResourceType *value = mObjectMap.query(handle); if (value) { return value; } if (GetIDValue(handle) == 0) { return nullptr; } return checkObjectAllocationImpl(factory, handle, args...); } void reset(const Context *context) override; ResourceMap mObjectMap; private: template ResourceType *checkObjectAllocationImpl(rx::GLImplFactory *factory, IDType handle, ArgTypes... args) { ResourceType *object = ImplT::AllocateNewObject(factory, handle, args...); if (!mObjectMap.contains(handle)) { this->mHandleAllocator.reserve(GetIDValue(handle)); } mObjectMap.assign(handle, object); return object; } }; class BufferManager : public TypedResourceManager { public: BufferID createBuffer(); Buffer *getBuffer(BufferID handle) const; inline __attribute__((always_inline)) Buffer *checkBufferAllocation(rx::GLImplFactory *factory, BufferID handle) { return checkObjectAllocation(factory, handle); } static Buffer *AllocateNewObject(rx::GLImplFactory *factory, BufferID handle); static void DeleteObject(const Context *context, Buffer *buffer); protected: ~BufferManager() override {} }; class ShaderProgramManager : public ResourceManagerBase { public: ShaderProgramManager(); ShaderProgramID createShader(rx::GLImplFactory *factory, const Limitations &rendererLimitations, ShaderType type); void deleteShader(const Context *context, ShaderProgramID shader); Shader *getShader(ShaderProgramID handle) const; ShaderProgramID createProgram(rx::GLImplFactory *factory); void deleteProgram(const Context *context, ShaderProgramID program); inline __attribute__((always_inline)) Program *getProgram(ShaderProgramID handle) const { return mPrograms.query(handle); } const ResourceMap &getShadersForCapture() const { return mShaders; } const ResourceMap &getProgramsForCapture() const { return mPrograms; } protected: ~ShaderProgramManager() override; private: template void deleteObject(const Context *context, ResourceMap *objectMap, IDType id); void reset(const Context *context) override; ResourceMap mShaders; ResourceMap mPrograms; }; class TextureManager : public TypedResourceManager { public: TextureID createTexture(); inline __attribute__((always_inline)) Texture *getTexture(TextureID handle) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mObjectMap.query({0}) == nullptr); return mObjectMap.query(handle); } void signalAllTexturesDirty() const; inline __attribute__((always_inline)) Texture *checkTextureAllocation(rx::GLImplFactory *factory, TextureID handle, TextureType type) { return checkObjectAllocation(factory, handle, type); } static Texture *AllocateNewObject(rx::GLImplFactory *factory, TextureID handle, TextureType type); static void DeleteObject(const Context *context, Texture *texture); void enableHandleAllocatorLogging(); protected: ~TextureManager() override {} }; class RenderbufferManager : public TypedResourceManager { public: RenderbufferID createRenderbuffer(); Renderbuffer *getRenderbuffer(RenderbufferID handle) const; Renderbuffer *checkRenderbufferAllocation(rx::GLImplFactory *factory, RenderbufferID handle) { return checkObjectAllocation(factory, handle); } static Renderbuffer *AllocateNewObject(rx::GLImplFactory *factory, RenderbufferID handle); static void DeleteObject(const Context *context, Renderbuffer *renderbuffer); protected: ~RenderbufferManager() override {} }; class SamplerManager : public TypedResourceManager { public: SamplerID createSampler(); Sampler *getSampler(SamplerID handle) const; bool isSampler(SamplerID sampler) const; Sampler *checkSamplerAllocation(rx::GLImplFactory *factory, SamplerID handle) { return checkObjectAllocation(factory, handle); } static Sampler *AllocateNewObject(rx::GLImplFactory *factory, SamplerID handle); static void DeleteObject(const Context *context, Sampler *sampler); protected: ~SamplerManager() override {} }; class SyncManager : public TypedResourceManager { public: GLuint createSync(rx::GLImplFactory *factory); Sync *getSync(GLuint handle) const; static void DeleteObject(const Context *context, Sync *sync); protected: ~SyncManager() override {} }; class PathManager : public ResourceManagerBase { public: PathManager(); angle::Result createPaths(Context *context, GLsizei range, PathID *numCreated); void deletePaths(PathID first, GLsizei range); Path *getPath(PathID handle) const; bool hasPath(PathID handle) const; protected: ~PathManager() override; void reset(const Context *context) override; private: ResourceMap mPaths; }; class FramebufferManager : public TypedResourceManager { public: FramebufferID createFramebuffer(); Framebuffer *getFramebuffer(FramebufferID handle) const; void setDefaultFramebuffer(Framebuffer *framebuffer); void invalidateFramebufferCompletenessCache() const; Framebuffer *checkFramebufferAllocation(rx::GLImplFactory *factory, const Caps &caps, FramebufferID handle) { return checkObjectAllocation(factory, handle, caps); } static Framebuffer *AllocateNewObject(rx::GLImplFactory *factory, FramebufferID handle, const Caps &caps); static void DeleteObject(const Context *context, Framebuffer *framebuffer); protected: ~FramebufferManager() override {} }; class ProgramPipelineManager : public TypedResourceManager { public: ProgramPipelineID createProgramPipeline(); ProgramPipeline *getProgramPipeline(ProgramPipelineID handle) const; ProgramPipeline *checkProgramPipelineAllocation(rx::GLImplFactory *factory, ProgramPipelineID handle) { return checkObjectAllocation(factory, handle); } static ProgramPipeline *AllocateNewObject(rx::GLImplFactory *factory, ProgramPipelineID handle); static void DeleteObject(const Context *context, ProgramPipeline *pipeline); protected: ~ProgramPipelineManager() override {} }; class MemoryObjectManager : public ResourceManagerBase { public: MemoryObjectManager(); MemoryObjectID createMemoryObject(rx::GLImplFactory *factory); void deleteMemoryObject(const Context *context, MemoryObjectID handle); MemoryObject *getMemoryObject(MemoryObjectID handle) const; protected: ~MemoryObjectManager() override; private: void reset(const Context *context) override; ResourceMap mMemoryObjects; }; class SemaphoreManager : public ResourceManagerBase { public: SemaphoreManager(); SemaphoreID createSemaphore(rx::GLImplFactory *factory); void deleteSemaphore(const Context *context, SemaphoreID handle); Semaphore *getSemaphore(SemaphoreID handle) const; protected: ~SemaphoreManager() override; private: void reset(const Context *context) override; ResourceMap mSemaphores; }; } # 51 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/State.h" 1 # 18 "../../third_party/angle/src/libANGLE/State.h" # 1 "../../third_party/angle/src/libANGLE/Debug.h" 1 # 15 "../../third_party/angle/src/libANGLE/Debug.h" # 1 "../../third_party/angle/src/libANGLE/AttributeMap.h" 1 # 17 "../../third_party/angle/src/libANGLE/AttributeMap.h" namespace egl { class AttributeMap final { public: AttributeMap(); AttributeMap(const AttributeMap &other); ~AttributeMap(); void insert(EGLAttrib key, EGLAttrib value); bool contains(EGLAttrib key) const; EGLAttrib get(EGLAttrib key) const; EGLAttrib get(EGLAttrib key, EGLAttrib defaultValue) const; EGLint getAsInt(EGLAttrib key) const; EGLint getAsInt(EGLAttrib key, EGLint defaultValue) const; template PackedEnumT getAsPackedEnum(EGLAttrib key) const { return FromEGLenum(static_cast(get(key))); } template PackedEnumT getAsPackedEnum(EGLAttrib key, PackedEnumT defaultValue) const { auto iter = mAttributes.find(key); return (mAttributes.find(key) != mAttributes.end()) ? FromEGLenum(static_cast(iter->second)) : defaultValue; } bool isEmpty() const; std::vector toIntVector() const; typedef std::map::const_iterator const_iterator; const_iterator begin() const; const_iterator end() const; static AttributeMap CreateFromIntArray(const EGLint *attributes); static AttributeMap CreateFromAttribArray(const EGLAttrib *attributes); private: std::map mAttributes; }; } # 16 "../../third_party/angle/src/libANGLE/Debug.h" 2 # 1 "/usr/include/c++/10/deque" 1 3 # 58 "/usr/include/c++/10/deque" 3 # 59 "/usr/include/c++/10/deque" 3 # 67 "/usr/include/c++/10/deque" 3 # 1 "/usr/include/c++/10/bits/stl_deque.h" 1 3 # 69 "/usr/include/c++/10/bits/stl_deque.h" 3 # 69 "/usr/include/c++/10/bits/stl_deque.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 92 "/usr/include/c++/10/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)); } # 109 "/usr/include/c++/10/bits/stl_deque.h" 3 template struct _Deque_iterator { private: template using __iter = _Deque_iterator<_Tp, _CvTp&, __ptr_rebind<_Ptr, _CvTp>>; public: typedef __iter<_Tp> iterator; typedef __iter const_iterator; typedef __ptr_rebind<_Ptr, _Tp> _Elt_pointer; typedef __ptr_rebind<_Ptr, _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() { } # 158 "/usr/include/c++/10/bits/stl_deque.h" 3 template, is_same<_Iter, iterator>>> _Deque_iterator(const _Iter& __x) noexcept : _M_cur(__x._M_cur), _M_first(__x._M_first), _M_last(__x._M_last), _M_node(__x._M_node) { } _Deque_iterator(const _Deque_iterator& __x) noexcept : _M_cur(__x._M_cur), _M_first(__x._M_first), _M_last(__x._M_last), _M_node(__x._M_node) { } _Deque_iterator& operator=(const _Deque_iterator&) = default; 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) noexcept { return *this += -__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()); } friend bool operator==(const _Self& __x, const _Self& __y) noexcept { return __x._M_cur == __y._M_cur; } template friend bool operator==(const _Self& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return __x._M_cur == __y._M_cur; } friend bool operator!=(const _Self& __x, const _Self& __y) noexcept { return !(__x == __y); } template friend bool operator!=(const _Self& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return !(__x == __y); } friend bool operator<(const _Self& __x, const _Self& __y) noexcept { return (__x._M_node == __y._M_node) ? (__x._M_cur < __y._M_cur) : (__x._M_node < __y._M_node); } template friend bool operator<(const _Self& __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); } friend bool operator>(const _Self& __x, const _Self& __y) noexcept { return __y < __x; } template friend bool operator>(const _Self& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return __y < __x; } friend bool operator<=(const _Self& __x, const _Self& __y) noexcept { return !(__y < __x); } template friend bool operator<=(const _Self& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return !(__y < __x); } friend bool operator>=(const _Self& __x, const _Self& __y) noexcept { return !(__x < __y); } template friend bool operator>=(const _Self& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return !(__x < __y); } friend difference_type operator-(const _Self& __x, const _Self& __y) noexcept { return difference_type(_S_buffer_size()) * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first) + (__y._M_last - __y._M_cur); } template friend difference_type operator-(const _Self& __x, const _Deque_iterator<_Tp, _RefR, _PtrR>& __y) noexcept { return difference_type(_S_buffer_size()) * (__x._M_node - __y._M_node - 1) + (__x._M_cur - __x._M_first) + (__y._M_last - __y._M_cur); } friend _Self operator+(const _Self& __x, difference_type __n) noexcept { _Self __tmp = __x; __tmp += __n; return __tmp; } friend _Self operator-(const _Self& __x, difference_type __n) noexcept { _Self __tmp = __x; __tmp -= __n; return __tmp; } friend _Self operator+(difference_type __n, const _Self& __x) noexcept { return __x + __n; } }; # 386 "/usr/include/c++/10/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; typedef _Alloc allocator_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) : _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, const allocator_type& __a) : _M_impl(std::move(__x._M_impl), _Tp_alloc_type(__a)) { __x._M_initialize_map(0); } _Deque_base(_Deque_base&& __x, const allocator_type& __a, size_t __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; typedef typename iterator::_Map_pointer _Map_pointer; struct _Deque_impl_data { _Map_pointer _M_map; size_t _M_map_size; iterator _M_start; iterator _M_finish; _Deque_impl_data() noexcept : _M_map(), _M_map_size(), _M_start(), _M_finish() { } _Deque_impl_data(const _Deque_impl_data&) = default; _Deque_impl_data& operator=(const _Deque_impl_data&) = default; _Deque_impl_data(_Deque_impl_data&& __x) noexcept : _Deque_impl_data(__x) { __x = _Deque_impl_data(); } void _M_swap_data(_Deque_impl_data& __x) noexcept { std::swap(*this, __x); } }; struct _Deque_impl : public _Tp_alloc_type, public _Deque_impl_data { _Deque_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value) : _Tp_alloc_type() { } _Deque_impl(const _Tp_alloc_type& __a) noexcept : _Tp_alloc_type(__a) { } _Deque_impl(_Deque_impl&&) = default; _Deque_impl(_Tp_alloc_type&& __a) noexcept : _Tp_alloc_type(std::move(__a)) { } _Deque_impl(_Deque_impl&& __d, _Tp_alloc_type&& __a) : _Tp_alloc_type(std::move(__a)), _Deque_impl_data(std::move(__d)) { } }; _Tp_alloc_type& _M_get_Tp_allocator() noexcept { return this->_M_impl; } const _Tp_alloc_type& _M_get_Tp_allocator() const noexcept { return 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); } 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; }; 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); } } # 593 "/usr/include/c++/10/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); } # 744 "/usr/include/c++/10/bits/stl_deque.h" 3 template > class deque : protected _Deque_base<_Tp, _Alloc> { # 757 "/usr/include/c++/10/bits/stl_deque.h" 3 static_assert(is_same::type, _Tp>::value, "std::deque must have a non-const, non-volatile 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; private: 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() = default; # 821 "/usr/include/c++/10/bits/stl_deque.h" 3 explicit deque(const allocator_type& __a) : _Base(__a, 0) { } # 834 "/usr/include/c++/10/bits/stl_deque.h" 3 explicit deque(size_type __n, const allocator_type& __a = allocator_type()) : _Base(__a, _S_check_init_len(__n, __a)) { _M_default_initialize(); } # 847 "/usr/include/c++/10/bits/stl_deque.h" 3 deque(size_type __n, const value_type& __value, const allocator_type& __a = allocator_type()) : _Base(__a, _S_check_init_len(__n, __a)) { _M_fill_initialize(__value); } # 874 "/usr/include/c++/10/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()); } # 890 "/usr/include/c++/10/bits/stl_deque.h" 3 deque(deque&&) = default; 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) : deque(std::move(__x), __a, typename _Alloc_traits::is_always_equal{}) { } private: deque(deque&& __x, const allocator_type& __a, true_type) : _Base(std::move(__x), __a) { } deque(deque&& __x, const allocator_type& __a, false_type) : _Base(std::move(__x), __a, __x.size()) { if (__x.get_allocator() != __a && !__x.empty()) { std::__uninitialized_move_a(__x.begin(), __x.end(), this->_M_impl._M_start, _M_get_Tp_allocator()); __x.clear(); } } public: # 933 "/usr/include/c++/10/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()); } # 958 "/usr/include/c++/10/bits/stl_deque.h" 3 template> deque(_InputIterator __first, _InputIterator __last, const allocator_type& __a = allocator_type()) : _Base(__a) { _M_range_initialize(__first, __last, std::__iterator_category(__first)); } # 984 "/usr/include/c++/10/bits/stl_deque.h" 3 ~deque() { _M_destroy_data(begin(), end(), _M_get_Tp_allocator()); } # 996 "/usr/include/c++/10/bits/stl_deque.h" 3 deque& operator=(const deque& __x); # 1008 "/usr/include/c++/10/bits/stl_deque.h" 3 deque& operator=(deque&& __x) noexcept(_Alloc_traits::_S_always_equal()) { using __always_equal = typename _Alloc_traits::is_always_equal; _M_move_assign1(std::move(__x), __always_equal{}); return *this; } # 1027 "/usr/include/c++/10/bits/stl_deque.h" 3 deque& operator=(initializer_list __l) { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); return *this; } # 1046 "/usr/include/c++/10/bits/stl_deque.h" 3 void assign(size_type __n, const value_type& __val) { _M_fill_assign(__n, __val); } # 1063 "/usr/include/c++/10/bits/stl_deque.h" 3 template> void assign(_InputIterator __first, _InputIterator __last) { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } # 1090 "/usr/include/c++/10/bits/stl_deque.h" 3 void assign(initializer_list __l) { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); } 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 _S_max_size(_M_get_Tp_allocator()); } # 1229 "/usr/include/c++/10/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)); } # 1251 "/usr/include/c++/10/bits/stl_deque.h" 3 void resize(size_type __new_size, const value_type& __x) # 1268 "/usr/include/c++/10/bits/stl_deque.h" 3 { const size_type __len = size(); if (__new_size > __len) _M_fill_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)); } void shrink_to_fit() noexcept { _M_shrink_to_fit(); } bool empty() const noexcept { return this->_M_impl._M_finish == this->_M_impl._M_start; } # 1304 "/usr/include/c++/10/bits/stl_deque.h" 3 reference operator[](size_type __n) noexcept { ; return this->_M_impl._M_start[difference_type(__n)]; } # 1322 "/usr/include/c++/10/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: # 1353 "/usr/include/c++/10/bits/stl_deque.h" 3 reference at(size_type __n) { _M_range_check(__n); return (*this)[__n]; } # 1371 "/usr/include/c++/10/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; } # 1436 "/usr/include/c++/10/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); # 1473 "/usr/include/c++/10/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); # 1509 "/usr/include/c++/10/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(_M_get_Tp_allocator(), this->_M_impl._M_start._M_cur); ++this->_M_impl._M_start._M_cur; } else _M_pop_front_aux(); } # 1532 "/usr/include/c++/10/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(_M_get_Tp_allocator(), this->_M_impl._M_finish._M_cur); } else _M_pop_back_aux(); } # 1557 "/usr/include/c++/10/bits/stl_deque.h" 3 template iterator emplace(const_iterator __position, _Args&&... __args); # 1570 "/usr/include/c++/10/bits/stl_deque.h" 3 iterator insert(const_iterator __position, const value_type& __x); # 1596 "/usr/include/c++/10/bits/stl_deque.h" 3 iterator insert(const_iterator __position, value_type&& __x) { return emplace(__position, std::move(__x)); } # 1610 "/usr/include/c++/10/bits/stl_deque.h" 3 iterator insert(const_iterator __p, initializer_list __l) { auto __offset = __p - cbegin(); _M_range_insert_aux(__p._M_const_cast(), __l.begin(), __l.end(), std::random_access_iterator_tag()); return begin() + __offset; } # 1629 "/usr/include/c++/10/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; } # 1663 "/usr/include/c++/10/bits/stl_deque.h" 3 template> iterator insert(const_iterator __position, _InputIterator __first, _InputIterator __last) { difference_type __offset = __position - cbegin(); _M_range_insert_aux(__position._M_const_cast(), __first, __last, std::__iterator_category(__first)); return begin() + __offset; } # 1709 "/usr/include/c++/10/bits/stl_deque.h" 3 iterator erase(const_iterator __position) { return _M_erase(__position._M_const_cast()); } # 1733 "/usr/include/c++/10/bits/stl_deque.h" 3 iterator erase(const_iterator __first, const_iterator __last) { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); } # 1752 "/usr/include/c++/10/bits/stl_deque.h" 3 void swap(deque& __x) noexcept { ; _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: # 1802 "/usr/include/c++/10/bits/stl_deque.h" 3 static size_t _S_check_init_len(size_t __n, const allocator_type& __a) { if (__n > _S_max_size(__a)) __throw_length_error( ("cannot create std::deque larger than max_size()")); return __n; } static size_type _S_max_size(const _Tp_alloc_type& __a) noexcept { const size_t __diffmax = __gnu_cxx::__numeric_traits::__max; const size_t __allocmax = _Alloc_traits::max_size(__a); return (std::min)(__diffmax, __allocmax); } # 1831 "/usr/include/c++/10/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); # 1853 "/usr/include/c++/10/bits/stl_deque.h" 3 void _M_fill_initialize(const value_type& __value); void _M_default_initialize(); # 1884 "/usr/include/c++/10/bits/stl_deque.h" 3 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()); _M_range_insert_aux(end(), __mid, __last, std::__iterator_category(__first)); } 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); _M_fill_insert(end(), __n - size(), __val); } else { _M_erase_at_end(begin() + difference_type(__n)); std::fill(begin(), end(), __val); } } # 1932 "/usr/include/c++/10/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(); # 1971 "/usr/include/c++/10/bits/stl_deque.h" 3 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); # 2103 "/usr/include/c++/10/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), __bool_constant<__move_storage>()); } 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 { _M_assign_aux(std::make_move_iterator(__x.begin()), std::make_move_iterator(__x.end()), std::random_access_iterator_tag()); __x.clear(); } } }; # 2220 "/usr/include/c++/10/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()); } # 2237 "/usr/include/c++/10/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) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } template struct __is_bitwise_relocatable> : true_type { }; } # 68 "/usr/include/c++/10/deque" 2 3 # 1 "/usr/include/c++/10/bits/deque.tcc" 1 3 # 61 "/usr/include/c++/10/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); _M_range_insert_aux(this->_M_impl._M_finish, __mid, __x.end(), std::random_access_iterator_tag()); } } 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, (void)++__first) *__cur = *__first; if (__first == __last) _M_erase_at_end(__cur); else _M_range_insert_aux(end(), __first, __last, std::__iterator_category(__first)); } 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(_S_check_init_len(__n, _M_get_Tp_allocator())); _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) { if (size() == max_size()) __throw_length_error( ("cannot create std::deque larger than max_size()")); _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) { if (size() == max_size()) __throw_length_error( ("cannot create std::deque larger than max_size()")); _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_a1(const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __first, const std::_Deque_iterator<_Tp, _Tp&, _Tp*>& __last, const _VTp& __value) { typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter; if (__first._M_node != __last._M_node) { std::__fill_a1(__first._M_cur, __first._M_last, __value); for (typename _Iter::_Map_pointer __node = __first._M_node + 1; __node < __last._M_node; ++__node) std::__fill_a1(*__node, *__node + _Iter::_S_buffer_size(), __value); std::__fill_a1(__last._M_first, __last._M_cur, __value); } else std::__fill_a1(__first._M_cur, __last._M_cur, __value); } template _OI __copy_move_dit(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first, std::_Deque_iterator<_Tp, _Ref, _Ptr> __last, _OI __result) { typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter; if (__first._M_node != __last._M_node) { __result = std::__copy_move_a1<_IsMove>(__first._M_cur, __first._M_last, __result); for (typename _Iter::_Map_pointer __node = __first._M_node + 1; __node != __last._M_node; ++__node) __result = std::__copy_move_a1<_IsMove>(*__node, *__node + _Iter::_S_buffer_size(), __result); return std::__copy_move_a1<_IsMove>(__last._M_first, __last._M_cur, __result); } return std::__copy_move_a1<_IsMove>(__first._M_cur, __last._M_cur, __result); } template _OI __copy_move_a1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first, std::_Deque_iterator<_Tp, _Ref, _Ptr> __last, _OI __result) { return __copy_move_dit<_IsMove>(__first, __last, __result); } template std::_Deque_iterator<_OTp, _OTp&, _OTp*> __copy_move_a1(std::_Deque_iterator<_ITp, _IRef, _IPtr> __first, std::_Deque_iterator<_ITp, _IRef, _IPtr> __last, std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result) { return __copy_move_dit<_IsMove>(__first, __last, __result); } template typename __gnu_cxx::__enable_if< __is_random_access_iter<_II>::__value, std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type __copy_move_a1(_II __first, _II __last, std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result) { typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter; typedef typename _Iter::difference_type difference_type; difference_type __len = __last - __first; while (__len > 0) { const difference_type __clen = std::min(__len, __result._M_last - __result._M_cur); std::__copy_move_a1<_IsMove>(__first, __first + __clen, __result._M_cur); __first += __clen; __result += __clen; __len -= __clen; } return __result; } template _OI __copy_move_backward_dit( std::_Deque_iterator<_Tp, _Ref, _Ptr> __first, std::_Deque_iterator<_Tp, _Ref, _Ptr> __last, _OI __result) { typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter; if (__first._M_node != __last._M_node) { __result = std::__copy_move_backward_a1<_IsMove>( __last._M_first, __last._M_cur, __result); for (typename _Iter::_Map_pointer __node = __last._M_node - 1; __node != __first._M_node; --__node) __result = std::__copy_move_backward_a1<_IsMove>( *__node, *__node + _Iter::_S_buffer_size(), __result); return std::__copy_move_backward_a1<_IsMove>( __first._M_cur, __first._M_last, __result); } return std::__copy_move_backward_a1<_IsMove>( __first._M_cur, __last._M_cur, __result); } template _OI __copy_move_backward_a1( std::_Deque_iterator<_Tp, _Ref, _Ptr> __first, std::_Deque_iterator<_Tp, _Ref, _Ptr> __last, _OI __result) { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); } template std::_Deque_iterator<_OTp, _OTp&, _OTp*> __copy_move_backward_a1( std::_Deque_iterator<_ITp, _IRef, _IPtr> __first, std::_Deque_iterator<_ITp, _IRef, _IPtr> __last, std::_Deque_iterator<_OTp, _OTp&, _OTp*> __result) { return __copy_move_backward_dit<_IsMove>(__first, __last, __result); } template typename __gnu_cxx::__enable_if< __is_random_access_iter<_II>::__value, std::_Deque_iterator<_Tp, _Tp&, _Tp*> >::__type __copy_move_backward_a1(_II __first, _II __last, std::_Deque_iterator<_Tp, _Tp&, _Tp*> __result) { typedef std::_Deque_iterator<_Tp, _Tp&, _Tp*> _Iter; typedef typename _Iter::difference_type difference_type; difference_type __len = __last - __first; while (__len > 0) { difference_type __rlen = __result._M_cur - __result._M_first; _Tp* __rend = __result._M_cur; if (!__rlen) { __rlen = _Iter::_S_buffer_size(); __rend = *(__result._M_node - 1) + __rlen; } const difference_type __clen = std::min(__len, __rlen); std::__copy_move_backward_a1<_IsMove>(__last - __clen, __last, __rend); __last -= __clen; __result -= __clen; __len -= __clen; } return __result; } template bool __equal_dit( const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __first1, const std::_Deque_iterator<_Tp, _Ref, _Ptr>& __last1, _II __first2) { typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter; if (__first1._M_node != __last1._M_node) { if (!std::__equal_aux1(__first1._M_cur, __first1._M_last, __first2)) return false; __first2 += __first1._M_last - __first1._M_cur; for (typename _Iter::_Map_pointer __node = __first1._M_node + 1; __node != __last1._M_node; __first2 += _Iter::_S_buffer_size(), ++__node) if (!std::__equal_aux1(*__node, *__node + _Iter::_S_buffer_size(), __first2)) return false; return std::__equal_aux1(__last1._M_first, __last1._M_cur, __first2); } return std::__equal_aux1(__first1._M_cur, __last1._M_cur, __first2); } template typename __gnu_cxx::__enable_if< __is_random_access_iter<_II>::__value, bool>::__type __equal_aux1(std::_Deque_iterator<_Tp, _Ref, _Ptr> __first1, std::_Deque_iterator<_Tp, _Ref, _Ptr> __last1, _II __first2) { return std::__equal_dit(__first1, __last1, __first2); } template bool __equal_aux1(std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __first1, std::_Deque_iterator<_Tp1, _Ref1, _Ptr1> __last1, std::_Deque_iterator<_Tp2, _Ref2, _Ptr2> __first2) { return std::__equal_dit(__first1, __last1, __first2); } template typename __gnu_cxx::__enable_if< __is_random_access_iter<_II>::__value, bool>::__type __equal_aux1(_II __first1, _II __last1, std::_Deque_iterator<_Tp, _Ref, _Ptr> __first2) { typedef std::_Deque_iterator<_Tp, _Ref, _Ptr> _Iter; typedef typename _Iter::difference_type difference_type; difference_type __len = __last1 - __first1; while (__len > 0) { const difference_type __clen = std::min(__len, __first2._M_last - __first2._M_cur); if (!std::__equal_aux1(__first1, __first1 + __clen, __first2._M_cur)) return false; __first1 += __clen; __len -= __clen; __first2 += __clen; } return true; } } # 70 "/usr/include/c++/10/deque" 2 3 # 18 "../../third_party/angle/src/libANGLE/Debug.h" 2 # 21 "../../third_party/angle/src/libANGLE/Debug.h" namespace gl { class Context; class LabeledObject { public: virtual ~LabeledObject() {} virtual void setLabel(const Context *context, const std::string &label) = 0; virtual const std::string &getLabel() const = 0; }; class Debug : angle::NonCopyable { public: Debug(bool initialDebugState); ~Debug(); void setMaxLoggedMessages(GLuint maxLoggedMessages); void setOutputEnabled(bool enabled); bool isOutputEnabled() const; void setOutputSynchronous(bool synchronous); bool isOutputSynchronous() const; void setCallback(GLDEBUGPROCKHR callback, const void *userParam); GLDEBUGPROCKHR getCallback() const; const void *getUserParam() const; void insertMessage(GLenum source, GLenum type, GLuint id, GLenum severity, const std::string &message, gl::LogSeverity logSeverity) const; void insertMessage(GLenum source, GLenum type, GLuint id, GLenum severity, std::string &&message, gl::LogSeverity logSeverity) const; void setMessageControl(GLenum source, GLenum type, GLenum severity, std::vector &&ids, bool enabled); size_t getMessages(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); size_t getNextMessageLength() const; size_t getMessageCount() const; void pushGroup(GLenum source, GLuint id, std::string &&message); void popGroup(); size_t getGroupStackDepth() const; private: bool isMessageEnabled(GLenum source, GLenum type, GLuint id, GLenum severity) const; void pushDefaultGroup(); struct Message { GLenum source; GLenum type; GLuint id; GLenum severity; std::string message; }; struct Control { Control(); ~Control(); Control(const Control &other); GLenum source; GLenum type; GLenum severity; std::vector ids; bool enabled; }; struct Group { Group(); ~Group(); Group(const Group &other); GLenum source; GLuint id; std::string message; std::vector controls; }; bool mOutputEnabled; GLDEBUGPROCKHR mCallbackFunction; const void *mCallbackUserParam; mutable std::deque mMessages; GLuint mMaxLoggedMessages; bool mOutputSynchronous; std::vector mGroups; }; } namespace egl { class LabeledObject { public: virtual ~LabeledObject() {} virtual void setLabel(EGLLabelKHR label) = 0; virtual EGLLabelKHR getLabel() const = 0; }; class Debug : angle::NonCopyable { public: Debug(); void setCallback(EGLDEBUGPROCKHR callback, const AttributeMap &attribs); EGLDEBUGPROCKHR getCallback() const; bool isMessageTypeEnabled(MessageType type) const; void insertMessage(EGLenum error, const char *command, MessageType messageType, EGLLabelKHR threadLabel, EGLLabelKHR objectLabel, const std::string &message) const; private: EGLDEBUGPROCKHR mCallback; angle::PackedEnumBitSet mEnabledMessageTypes; }; } # 19 "../../third_party/angle/src/libANGLE/State.h" 2 # 1 "../../third_party/angle/src/libANGLE/GLES1State.h" 1 # 13 "../../third_party/angle/src/libANGLE/GLES1State.h" # 1 "/usr/include/c++/10/unordered_set" 1 3 # 32 "/usr/include/c++/10/unordered_set" 3 # 33 "/usr/include/c++/10/unordered_set" 3 # 47 "/usr/include/c++/10/unordered_set" 3 # 1 "/usr/include/c++/10/bits/unordered_set.h" 1 3 # 33 "/usr/include/c++/10/bits/unordered_set.h" 3 # 33 "/usr/include/c++/10/bits/unordered_set.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template using __uset_traits = __detail::_Hashtable_traits<_Cache, true, true>; template, typename _Pred = std::equal_to<_Value>, typename _Alloc = std::allocator<_Value>, typename _Tr = __uset_traits<__cache_default<_Value, _Hash>::value>> using __uset_hashtable = _Hashtable<_Value, _Value, _Alloc, __detail::_Identity, _Pred, _Hash, __detail::_Mod_range_hashing, __detail::_Default_ranged_hash, __detail::_Prime_rehash_policy, _Tr>; template using __umset_traits = __detail::_Hashtable_traits<_Cache, true, false>; template, typename _Pred = std::equal_to<_Value>, typename _Alloc = std::allocator<_Value>, typename _Tr = __umset_traits<__cache_default<_Value, _Hash>::value>> using __umset_hashtable = _Hashtable<_Value, _Value, _Alloc, __detail::_Identity, _Pred, _Hash, __detail::_Mod_range_hashing, __detail::_Default_ranged_hash, __detail::_Prime_rehash_policy, _Tr>; template class unordered_multiset; # 93 "/usr/include/c++/10/bits/unordered_set.h" 3 template, typename _Pred = equal_to<_Value>, typename _Alloc = allocator<_Value>> class unordered_set { typedef __uset_hashtable<_Value, _Hash, _Pred, _Alloc> _Hashtable; _Hashtable _M_h; public: typedef typename _Hashtable::key_type key_type; typedef typename _Hashtable::value_type value_type; typedef typename _Hashtable::hasher hasher; typedef typename _Hashtable::key_equal key_equal; typedef typename _Hashtable::allocator_type allocator_type; typedef typename _Hashtable::pointer pointer; typedef typename _Hashtable::const_pointer const_pointer; typedef typename _Hashtable::reference reference; typedef typename _Hashtable::const_reference const_reference; typedef typename _Hashtable::iterator iterator; typedef typename _Hashtable::const_iterator const_iterator; typedef typename _Hashtable::local_iterator local_iterator; typedef typename _Hashtable::const_local_iterator const_local_iterator; typedef typename _Hashtable::size_type size_type; typedef typename _Hashtable::difference_type difference_type; # 135 "/usr/include/c++/10/bits/unordered_set.h" 3 unordered_set() = default; # 144 "/usr/include/c++/10/bits/unordered_set.h" 3 explicit unordered_set(size_type __n, const hasher& __hf = hasher(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _M_h(__n, __hf, __eql, __a) { } # 165 "/usr/include/c++/10/bits/unordered_set.h" 3 template unordered_set(_InputIterator __first, _InputIterator __last, size_type __n = 0, const hasher& __hf = hasher(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _M_h(__first, __last, __n, __hf, __eql, __a) { } unordered_set(const unordered_set&) = default; unordered_set(unordered_set&&) = default; explicit unordered_set(const allocator_type& __a) : _M_h(__a) { } unordered_set(const unordered_set& __uset, const allocator_type& __a) : _M_h(__uset._M_h, __a) { } unordered_set(unordered_set&& __uset, const allocator_type& __a) : _M_h(std::move(__uset._M_h), __a) { } # 220 "/usr/include/c++/10/bits/unordered_set.h" 3 unordered_set(initializer_list __l, size_type __n = 0, const hasher& __hf = hasher(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _M_h(__l, __n, __hf, __eql, __a) { } unordered_set(size_type __n, const allocator_type& __a) : unordered_set(__n, hasher(), key_equal(), __a) { } unordered_set(size_type __n, const hasher& __hf, const allocator_type& __a) : unordered_set(__n, __hf, key_equal(), __a) { } template unordered_set(_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type& __a) : unordered_set(__first, __last, __n, hasher(), key_equal(), __a) { } template unordered_set(_InputIterator __first, _InputIterator __last, size_type __n, const hasher& __hf, const allocator_type& __a) : unordered_set(__first, __last, __n, __hf, key_equal(), __a) { } unordered_set(initializer_list __l, size_type __n, const allocator_type& __a) : unordered_set(__l, __n, hasher(), key_equal(), __a) { } unordered_set(initializer_list __l, size_type __n, const hasher& __hf, const allocator_type& __a) : unordered_set(__l, __n, __hf, key_equal(), __a) { } unordered_set& operator=(const unordered_set&) = default; unordered_set& operator=(unordered_set&&) = default; # 282 "/usr/include/c++/10/bits/unordered_set.h" 3 unordered_set& operator=(initializer_list __l) { _M_h = __l; return *this; } allocator_type get_allocator() const noexcept { return _M_h.get_allocator(); } bool empty() const noexcept { return _M_h.empty(); } size_type size() const noexcept { return _M_h.size(); } size_type max_size() const noexcept { return _M_h.max_size(); } # 318 "/usr/include/c++/10/bits/unordered_set.h" 3 iterator begin() noexcept { return _M_h.begin(); } const_iterator begin() const noexcept { return _M_h.begin(); } iterator end() noexcept { return _M_h.end(); } const_iterator end() const noexcept { return _M_h.end(); } const_iterator cbegin() const noexcept { return _M_h.begin(); } const_iterator cend() const noexcept { return _M_h.end(); } # 374 "/usr/include/c++/10/bits/unordered_set.h" 3 template std::pair emplace(_Args&&... __args) { return _M_h.emplace(std::forward<_Args>(__args)...); } # 400 "/usr/include/c++/10/bits/unordered_set.h" 3 template iterator emplace_hint(const_iterator __pos, _Args&&... __args) { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); } # 419 "/usr/include/c++/10/bits/unordered_set.h" 3 std::pair insert(const value_type& __x) { return _M_h.insert(__x); } std::pair insert(value_type&& __x) { return _M_h.insert(std::move(__x)); } # 448 "/usr/include/c++/10/bits/unordered_set.h" 3 iterator insert(const_iterator __hint, const value_type& __x) { return _M_h.insert(__hint, __x); } iterator insert(const_iterator __hint, value_type&& __x) { return _M_h.insert(__hint, std::move(__x)); } # 466 "/usr/include/c++/10/bits/unordered_set.h" 3 template void insert(_InputIterator __first, _InputIterator __last) { _M_h.insert(__first, __last); } # 478 "/usr/include/c++/10/bits/unordered_set.h" 3 void insert(initializer_list __l) { _M_h.insert(__l); } # 521 "/usr/include/c++/10/bits/unordered_set.h" 3 iterator erase(const_iterator __position) { return _M_h.erase(__position); } iterator erase(iterator __position) { return _M_h.erase(__position); } # 543 "/usr/include/c++/10/bits/unordered_set.h" 3 size_type erase(const key_type& __x) { return _M_h.erase(__x); } # 561 "/usr/include/c++/10/bits/unordered_set.h" 3 iterator erase(const_iterator __first, const_iterator __last) { return _M_h.erase(__first, __last); } void clear() noexcept { _M_h.clear(); } # 584 "/usr/include/c++/10/bits/unordered_set.h" 3 void swap(unordered_set& __x) noexcept( noexcept(_M_h.swap(__x._M_h)) ) { _M_h.swap(__x._M_h); } # 624 "/usr/include/c++/10/bits/unordered_set.h" 3 hasher hash_function() const { return _M_h.hash_function(); } key_equal key_eq() const { return _M_h.key_eq(); } # 648 "/usr/include/c++/10/bits/unordered_set.h" 3 iterator find(const key_type& __x) { return _M_h.find(__x); } const_iterator find(const key_type& __x) const { return _M_h.find(__x); } # 666 "/usr/include/c++/10/bits/unordered_set.h" 3 size_type count(const key_type& __x) const { return _M_h.count(__x); } # 690 "/usr/include/c++/10/bits/unordered_set.h" 3 std::pair equal_range(const key_type& __x) { return _M_h.equal_range(__x); } std::pair equal_range(const key_type& __x) const { return _M_h.equal_range(__x); } size_type bucket_count() const noexcept { return _M_h.bucket_count(); } size_type max_bucket_count() const noexcept { return _M_h.max_bucket_count(); } size_type bucket_size(size_type __n) const { return _M_h.bucket_size(__n); } size_type bucket(const key_type& __key) const { return _M_h.bucket(__key); } # 736 "/usr/include/c++/10/bits/unordered_set.h" 3 local_iterator begin(size_type __n) { return _M_h.begin(__n); } const_local_iterator begin(size_type __n) const { return _M_h.begin(__n); } const_local_iterator cbegin(size_type __n) const { return _M_h.cbegin(__n); } # 756 "/usr/include/c++/10/bits/unordered_set.h" 3 local_iterator end(size_type __n) { return _M_h.end(__n); } const_local_iterator end(size_type __n) const { return _M_h.end(__n); } const_local_iterator cend(size_type __n) const { return _M_h.cend(__n); } float load_factor() const noexcept { return _M_h.load_factor(); } float max_load_factor() const noexcept { return _M_h.max_load_factor(); } void max_load_factor(float __z) { _M_h.max_load_factor(__z); } # 797 "/usr/include/c++/10/bits/unordered_set.h" 3 void rehash(size_type __n) { _M_h.rehash(__n); } # 808 "/usr/include/c++/10/bits/unordered_set.h" 3 void reserve(size_type __n) { _M_h.reserve(__n); } template friend bool operator==(const unordered_set<_Value1, _Hash1, _Pred1, _Alloc1>&, const unordered_set<_Value1, _Hash1, _Pred1, _Alloc1>&); }; # 908 "/usr/include/c++/10/bits/unordered_set.h" 3 template, typename _Pred = equal_to<_Value>, typename _Alloc = allocator<_Value>> class unordered_multiset { typedef __umset_hashtable<_Value, _Hash, _Pred, _Alloc> _Hashtable; _Hashtable _M_h; public: typedef typename _Hashtable::key_type key_type; typedef typename _Hashtable::value_type value_type; typedef typename _Hashtable::hasher hasher; typedef typename _Hashtable::key_equal key_equal; typedef typename _Hashtable::allocator_type allocator_type; typedef typename _Hashtable::pointer pointer; typedef typename _Hashtable::const_pointer const_pointer; typedef typename _Hashtable::reference reference; typedef typename _Hashtable::const_reference const_reference; typedef typename _Hashtable::iterator iterator; typedef typename _Hashtable::const_iterator const_iterator; typedef typename _Hashtable::local_iterator local_iterator; typedef typename _Hashtable::const_local_iterator const_local_iterator; typedef typename _Hashtable::size_type size_type; typedef typename _Hashtable::difference_type difference_type; # 949 "/usr/include/c++/10/bits/unordered_set.h" 3 unordered_multiset() = default; # 958 "/usr/include/c++/10/bits/unordered_set.h" 3 explicit unordered_multiset(size_type __n, const hasher& __hf = hasher(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _M_h(__n, __hf, __eql, __a) { } # 979 "/usr/include/c++/10/bits/unordered_set.h" 3 template unordered_multiset(_InputIterator __first, _InputIterator __last, size_type __n = 0, const hasher& __hf = hasher(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _M_h(__first, __last, __n, __hf, __eql, __a) { } unordered_multiset(const unordered_multiset&) = default; unordered_multiset(unordered_multiset&&) = default; # 1005 "/usr/include/c++/10/bits/unordered_set.h" 3 unordered_multiset(initializer_list __l, size_type __n = 0, const hasher& __hf = hasher(), const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _M_h(__l, __n, __hf, __eql, __a) { } unordered_multiset& operator=(const unordered_multiset&) = default; unordered_multiset& operator=(unordered_multiset&&) = default; explicit unordered_multiset(const allocator_type& __a) : _M_h(__a) { } unordered_multiset(const unordered_multiset& __umset, const allocator_type& __a) : _M_h(__umset._M_h, __a) { } unordered_multiset(unordered_multiset&& __umset, const allocator_type& __a) : _M_h(std::move(__umset._M_h), __a) { } unordered_multiset(size_type __n, const allocator_type& __a) : unordered_multiset(__n, hasher(), key_equal(), __a) { } unordered_multiset(size_type __n, const hasher& __hf, const allocator_type& __a) : unordered_multiset(__n, __hf, key_equal(), __a) { } template unordered_multiset(_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type& __a) : unordered_multiset(__first, __last, __n, hasher(), key_equal(), __a) { } template unordered_multiset(_InputIterator __first, _InputIterator __last, size_type __n, const hasher& __hf, const allocator_type& __a) : unordered_multiset(__first, __last, __n, __hf, key_equal(), __a) { } unordered_multiset(initializer_list __l, size_type __n, const allocator_type& __a) : unordered_multiset(__l, __n, hasher(), key_equal(), __a) { } unordered_multiset(initializer_list __l, size_type __n, const hasher& __hf, const allocator_type& __a) : unordered_multiset(__l, __n, __hf, key_equal(), __a) { } # 1096 "/usr/include/c++/10/bits/unordered_set.h" 3 unordered_multiset& operator=(initializer_list __l) { _M_h = __l; return *this; } allocator_type get_allocator() const noexcept { return _M_h.get_allocator(); } bool empty() const noexcept { return _M_h.empty(); } size_type size() const noexcept { return _M_h.size(); } size_type max_size() const noexcept { return _M_h.max_size(); } # 1132 "/usr/include/c++/10/bits/unordered_set.h" 3 iterator begin() noexcept { return _M_h.begin(); } const_iterator begin() const noexcept { return _M_h.begin(); } iterator end() noexcept { return _M_h.end(); } const_iterator end() const noexcept { return _M_h.end(); } const_iterator cbegin() const noexcept { return _M_h.begin(); } const_iterator cend() const noexcept { return _M_h.end(); } # 1180 "/usr/include/c++/10/bits/unordered_set.h" 3 template iterator emplace(_Args&&... __args) { return _M_h.emplace(std::forward<_Args>(__args)...); } # 1202 "/usr/include/c++/10/bits/unordered_set.h" 3 template iterator emplace_hint(const_iterator __pos, _Args&&... __args) { return _M_h.emplace_hint(__pos, std::forward<_Args>(__args)...); } # 1215 "/usr/include/c++/10/bits/unordered_set.h" 3 iterator insert(const value_type& __x) { return _M_h.insert(__x); } iterator insert(value_type&& __x) { return _M_h.insert(std::move(__x)); } # 1241 "/usr/include/c++/10/bits/unordered_set.h" 3 iterator insert(const_iterator __hint, const value_type& __x) { return _M_h.insert(__hint, __x); } iterator insert(const_iterator __hint, value_type&& __x) { return _M_h.insert(__hint, std::move(__x)); } # 1258 "/usr/include/c++/10/bits/unordered_set.h" 3 template void insert(_InputIterator __first, _InputIterator __last) { _M_h.insert(__first, __last); } # 1270 "/usr/include/c++/10/bits/unordered_set.h" 3 void insert(initializer_list __l) { _M_h.insert(__l); } # 1314 "/usr/include/c++/10/bits/unordered_set.h" 3 iterator erase(const_iterator __position) { return _M_h.erase(__position); } iterator erase(iterator __position) { return _M_h.erase(__position); } # 1337 "/usr/include/c++/10/bits/unordered_set.h" 3 size_type erase(const key_type& __x) { return _M_h.erase(__x); } # 1357 "/usr/include/c++/10/bits/unordered_set.h" 3 iterator erase(const_iterator __first, const_iterator __last) { return _M_h.erase(__first, __last); } # 1368 "/usr/include/c++/10/bits/unordered_set.h" 3 void clear() noexcept { _M_h.clear(); } # 1381 "/usr/include/c++/10/bits/unordered_set.h" 3 void swap(unordered_multiset& __x) noexcept( noexcept(_M_h.swap(__x._M_h)) ) { _M_h.swap(__x._M_h); } # 1423 "/usr/include/c++/10/bits/unordered_set.h" 3 hasher hash_function() const { return _M_h.hash_function(); } key_equal key_eq() const { return _M_h.key_eq(); } # 1447 "/usr/include/c++/10/bits/unordered_set.h" 3 iterator find(const key_type& __x) { return _M_h.find(__x); } const_iterator find(const key_type& __x) const { return _M_h.find(__x); } size_type count(const key_type& __x) const { return _M_h.count(__x); } # 1483 "/usr/include/c++/10/bits/unordered_set.h" 3 std::pair equal_range(const key_type& __x) { return _M_h.equal_range(__x); } std::pair equal_range(const key_type& __x) const { return _M_h.equal_range(__x); } size_type bucket_count() const noexcept { return _M_h.bucket_count(); } size_type max_bucket_count() const noexcept { return _M_h.max_bucket_count(); } size_type bucket_size(size_type __n) const { return _M_h.bucket_size(__n); } size_type bucket(const key_type& __key) const { return _M_h.bucket(__key); } # 1529 "/usr/include/c++/10/bits/unordered_set.h" 3 local_iterator begin(size_type __n) { return _M_h.begin(__n); } const_local_iterator begin(size_type __n) const { return _M_h.begin(__n); } const_local_iterator cbegin(size_type __n) const { return _M_h.cbegin(__n); } # 1549 "/usr/include/c++/10/bits/unordered_set.h" 3 local_iterator end(size_type __n) { return _M_h.end(__n); } const_local_iterator end(size_type __n) const { return _M_h.end(__n); } const_local_iterator cend(size_type __n) const { return _M_h.cend(__n); } float load_factor() const noexcept { return _M_h.load_factor(); } float max_load_factor() const noexcept { return _M_h.max_load_factor(); } void max_load_factor(float __z) { _M_h.max_load_factor(__z); } # 1590 "/usr/include/c++/10/bits/unordered_set.h" 3 void rehash(size_type __n) { _M_h.rehash(__n); } # 1601 "/usr/include/c++/10/bits/unordered_set.h" 3 void reserve(size_type __n) { _M_h.reserve(__n); } template friend bool operator==(const unordered_multiset<_Value1, _Hash1, _Pred1, _Alloc1>&, const unordered_multiset<_Value1, _Hash1, _Pred1, _Alloc1>&); }; # 1687 "/usr/include/c++/10/bits/unordered_set.h" 3 template inline void swap(unordered_set<_Value, _Hash, _Pred, _Alloc>& __x, unordered_set<_Value, _Hash, _Pred, _Alloc>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } template inline void swap(unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x, unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } template inline bool operator==(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x, const unordered_set<_Value, _Hash, _Pred, _Alloc>& __y) { return __x._M_h._M_equal(__y._M_h); } template inline bool operator!=(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x, const unordered_set<_Value, _Hash, _Pred, _Alloc>& __y) { return !(__x == __y); } template inline bool operator==(const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x, const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y) { return __x._M_h._M_equal(__y._M_h); } template inline bool operator!=(const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x, const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __y) { return !(__x == __y); } # 1791 "/usr/include/c++/10/bits/unordered_set.h" 3 } # 48 "/usr/include/c++/10/unordered_set" 2 3 # 14 "../../third_party/angle/src/libANGLE/GLES1State.h" 2 # 1 "../../third_party/angle/src/common/matrix_utils.h" 1 # 23 "../../third_party/angle/src/common/matrix_utils.h" # 23 "../../third_party/angle/src/common/matrix_utils.h" namespace angle { template class Matrix { public: Matrix(const std::vector &elements, const unsigned int numRows, const unsigned int numCols) : mElements(elements), mRows(numRows), mCols(numCols) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(rows() >= 1 && rows() <= 4); true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(columns() >= 1 && columns() <= 4); } Matrix(const std::vector &elements, const unsigned int size) : mElements(elements), mRows(size), mCols(size) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(rows() >= 1 && rows() <= 4); true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(columns() >= 1 && columns() <= 4); } Matrix(const T *elements, const unsigned int size) : mRows(size), mCols(size) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(rows() >= 1 && rows() <= 4); true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(columns() >= 1 && columns() <= 4); for (size_t i = 0; i < size * size; i++) mElements.push_back(elements[i]); } const T &operator()(const unsigned int rowIndex, const unsigned int columnIndex) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(rowIndex < mRows); true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(columnIndex < mCols); return mElements[rowIndex * columns() + columnIndex]; } T &operator()(const unsigned int rowIndex, const unsigned int columnIndex) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(rowIndex < mRows); true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(columnIndex < mCols); return mElements[rowIndex * columns() + columnIndex]; } const T &at(const unsigned int rowIndex, const unsigned int columnIndex) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(rowIndex < mRows); true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(columnIndex < mCols); return operator()(rowIndex, columnIndex); } Matrix operator*(const Matrix &m) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(columns() == m.rows()); unsigned int resultRows = rows(); unsigned int resultCols = m.columns(); Matrix result(std::vector(resultRows * resultCols), resultRows, resultCols); for (unsigned int i = 0; i < resultRows; i++) { for (unsigned int j = 0; j < resultCols; j++) { T tmp = 0.0f; for (unsigned int k = 0; k < columns(); k++) tmp += at(i, k) * m(k, j); result(i, j) = tmp; } } return result; } void operator*=(const Matrix &m) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(columns() == m.rows()); Matrix res = (*this) * m; size_t numElts = res.elements().size(); mElements.resize(numElts); memcpy(mElements.data(), res.data(), numElts * sizeof(float)); } bool operator==(const Matrix &m) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(columns() == m.columns()); true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(rows() == m.rows()); return mElements == m.elements(); } bool operator!=(const Matrix &m) const { return !(mElements == m.elements()); } bool nearlyEqual(T epsilon, const Matrix &m) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(columns() == m.columns()); true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(rows() == m.rows()); const auto &otherElts = m.elements(); for (size_t i = 0; i < otherElts.size(); i++) { if ((mElements[i] - otherElts[i] > epsilon) && (otherElts[i] - mElements[i] > epsilon)) return false; } return true; } unsigned int size() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(rows() == columns()); return rows(); } unsigned int rows() const { return mRows; } unsigned int columns() const { return mCols; } std::vector elements() const { return mElements; } T *data() { return mElements.data(); } Matrix compMult(const Matrix &mat1) const { Matrix result(std::vector(mElements.size()), rows(), columns()); for (unsigned int i = 0; i < rows(); i++) { for (unsigned int j = 0; j < columns(); j++) { T lhs = at(i, j); T rhs = mat1(i, j); result(i, j) = rhs * lhs; } } return result; } Matrix outerProduct(const Matrix &mat1) const { unsigned int cols = mat1.columns(); Matrix result(std::vector(rows() * cols), rows(), cols); for (unsigned int i = 0; i < rows(); i++) for (unsigned int j = 0; j < cols; j++) result(i, j) = at(i, 0) * mat1(0, j); return result; } Matrix transpose() const { Matrix result(std::vector(mElements.size()), columns(), rows()); for (unsigned int i = 0; i < columns(); i++) for (unsigned int j = 0; j < rows(); j++) result(i, j) = at(j, i); return result; } T determinant() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(rows() == columns()); switch (size()) { case 2: return at(0, 0) * at(1, 1) - at(0, 1) * at(1, 0); case 3: return at(0, 0) * at(1, 1) * at(2, 2) + at(0, 1) * at(1, 2) * at(2, 0) + at(0, 2) * at(1, 0) * at(2, 1) - at(0, 2) * at(1, 1) * at(2, 0) - at(0, 1) * at(1, 0) * at(2, 2) - at(0, 0) * at(1, 2) * at(2, 1); case 4: { const float minorMatrices[4][3 * 3] = {{ at(1, 1), at(2, 1), at(3, 1), at(1, 2), at(2, 2), at(3, 2), at(1, 3), at(2, 3), at(3, 3), }, { at(1, 0), at(2, 0), at(3, 0), at(1, 2), at(2, 2), at(3, 2), at(1, 3), at(2, 3), at(3, 3), }, { at(1, 0), at(2, 0), at(3, 0), at(1, 1), at(2, 1), at(3, 1), at(1, 3), at(2, 3), at(3, 3), }, { at(1, 0), at(2, 0), at(3, 0), at(1, 1), at(2, 1), at(3, 1), at(1, 2), at(2, 2), at(3, 2), }}; return at(0, 0) * Matrix(minorMatrices[0], 3).determinant() - at(0, 1) * Matrix(minorMatrices[1], 3).determinant() + at(0, 2) * Matrix(minorMatrices[2], 3).determinant() - at(0, 3) * Matrix(minorMatrices[3], 3).determinant(); } default: do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); break; } return T(); } Matrix inverse() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(rows() == columns()); Matrix cof(std::vector(mElements.size()), rows(), columns()); switch (size()) { case 2: cof(0, 0) = at(1, 1); cof(0, 1) = -at(1, 0); cof(1, 0) = -at(0, 1); cof(1, 1) = at(0, 0); break; case 3: cof(0, 0) = at(1, 1) * at(2, 2) - at(2, 1) * at(1, 2); cof(0, 1) = -(at(1, 0) * at(2, 2) - at(2, 0) * at(1, 2)); cof(0, 2) = at(1, 0) * at(2, 1) - at(2, 0) * at(1, 1); cof(1, 0) = -(at(0, 1) * at(2, 2) - at(2, 1) * at(0, 2)); cof(1, 1) = at(0, 0) * at(2, 2) - at(2, 0) * at(0, 2); cof(1, 2) = -(at(0, 0) * at(2, 1) - at(2, 0) * at(0, 1)); cof(2, 0) = at(0, 1) * at(1, 2) - at(1, 1) * at(0, 2); cof(2, 1) = -(at(0, 0) * at(1, 2) - at(1, 0) * at(0, 2)); cof(2, 2) = at(0, 0) * at(1, 1) - at(1, 0) * at(0, 1); break; case 4: cof(0, 0) = at(1, 1) * at(2, 2) * at(3, 3) + at(2, 1) * at(3, 2) * at(1, 3) + at(3, 1) * at(1, 2) * at(2, 3) - at(1, 1) * at(3, 2) * at(2, 3) - at(2, 1) * at(1, 2) * at(3, 3) - at(3, 1) * at(2, 2) * at(1, 3); cof(0, 1) = -(at(1, 0) * at(2, 2) * at(3, 3) + at(2, 0) * at(3, 2) * at(1, 3) + at(3, 0) * at(1, 2) * at(2, 3) - at(1, 0) * at(3, 2) * at(2, 3) - at(2, 0) * at(1, 2) * at(3, 3) - at(3, 0) * at(2, 2) * at(1, 3)); cof(0, 2) = at(1, 0) * at(2, 1) * at(3, 3) + at(2, 0) * at(3, 1) * at(1, 3) + at(3, 0) * at(1, 1) * at(2, 3) - at(1, 0) * at(3, 1) * at(2, 3) - at(2, 0) * at(1, 1) * at(3, 3) - at(3, 0) * at(2, 1) * at(1, 3); cof(0, 3) = -(at(1, 0) * at(2, 1) * at(3, 2) + at(2, 0) * at(3, 1) * at(1, 2) + at(3, 0) * at(1, 1) * at(2, 2) - at(1, 0) * at(3, 1) * at(2, 2) - at(2, 0) * at(1, 1) * at(3, 2) - at(3, 0) * at(2, 1) * at(1, 2)); cof(1, 0) = -(at(0, 1) * at(2, 2) * at(3, 3) + at(2, 1) * at(3, 2) * at(0, 3) + at(3, 1) * at(0, 2) * at(2, 3) - at(0, 1) * at(3, 2) * at(2, 3) - at(2, 1) * at(0, 2) * at(3, 3) - at(3, 1) * at(2, 2) * at(0, 3)); cof(1, 1) = at(0, 0) * at(2, 2) * at(3, 3) + at(2, 0) * at(3, 2) * at(0, 3) + at(3, 0) * at(0, 2) * at(2, 3) - at(0, 0) * at(3, 2) * at(2, 3) - at(2, 0) * at(0, 2) * at(3, 3) - at(3, 0) * at(2, 2) * at(0, 3); cof(1, 2) = -(at(0, 0) * at(2, 1) * at(3, 3) + at(2, 0) * at(3, 1) * at(0, 3) + at(3, 0) * at(0, 1) * at(2, 3) - at(0, 0) * at(3, 1) * at(2, 3) - at(2, 0) * at(0, 1) * at(3, 3) - at(3, 0) * at(2, 1) * at(0, 3)); cof(1, 3) = at(0, 0) * at(2, 1) * at(3, 2) + at(2, 0) * at(3, 1) * at(0, 2) + at(3, 0) * at(0, 1) * at(2, 2) - at(0, 0) * at(3, 1) * at(2, 2) - at(2, 0) * at(0, 1) * at(3, 2) - at(3, 0) * at(2, 1) * at(0, 2); cof(2, 0) = at(0, 1) * at(1, 2) * at(3, 3) + at(1, 1) * at(3, 2) * at(0, 3) + at(3, 1) * at(0, 2) * at(1, 3) - at(0, 1) * at(3, 2) * at(1, 3) - at(1, 1) * at(0, 2) * at(3, 3) - at(3, 1) * at(1, 2) * at(0, 3); cof(2, 1) = -(at(0, 0) * at(1, 2) * at(3, 3) + at(1, 0) * at(3, 2) * at(0, 3) + at(3, 0) * at(0, 2) * at(1, 3) - at(0, 0) * at(3, 2) * at(1, 3) - at(1, 0) * at(0, 2) * at(3, 3) - at(3, 0) * at(1, 2) * at(0, 3)); cof(2, 2) = at(0, 0) * at(1, 1) * at(3, 3) + at(1, 0) * at(3, 1) * at(0, 3) + at(3, 0) * at(0, 1) * at(1, 3) - at(0, 0) * at(3, 1) * at(1, 3) - at(1, 0) * at(0, 1) * at(3, 3) - at(3, 0) * at(1, 1) * at(0, 3); cof(2, 3) = -(at(0, 0) * at(1, 1) * at(3, 2) + at(1, 0) * at(3, 1) * at(0, 2) + at(3, 0) * at(0, 1) * at(1, 2) - at(0, 0) * at(3, 1) * at(1, 2) - at(1, 0) * at(0, 1) * at(3, 2) - at(3, 0) * at(1, 1) * at(0, 2)); cof(3, 0) = -(at(0, 1) * at(1, 2) * at(2, 3) + at(1, 1) * at(2, 2) * at(0, 3) + at(2, 1) * at(0, 2) * at(1, 3) - at(0, 1) * at(2, 2) * at(1, 3) - at(1, 1) * at(0, 2) * at(2, 3) - at(2, 1) * at(1, 2) * at(0, 3)); cof(3, 1) = at(0, 0) * at(1, 2) * at(2, 3) + at(1, 0) * at(2, 2) * at(0, 3) + at(2, 0) * at(0, 2) * at(1, 3) - at(0, 0) * at(2, 2) * at(1, 3) - at(1, 0) * at(0, 2) * at(2, 3) - at(2, 0) * at(1, 2) * at(0, 3); cof(3, 2) = -(at(0, 0) * at(1, 1) * at(2, 3) + at(1, 0) * at(2, 1) * at(0, 3) + at(2, 0) * at(0, 1) * at(1, 3) - at(0, 0) * at(2, 1) * at(1, 3) - at(1, 0) * at(0, 1) * at(2, 3) - at(2, 0) * at(1, 1) * at(0, 3)); cof(3, 3) = at(0, 0) * at(1, 1) * at(2, 2) + at(1, 0) * at(2, 1) * at(0, 2) + at(2, 0) * at(0, 1) * at(1, 2) - at(0, 0) * at(2, 1) * at(1, 2) - at(1, 0) * at(0, 1) * at(2, 2) - at(2, 0) * at(1, 1) * at(0, 2); break; default: do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); break; } Matrix adjugateMatrix(cof.transpose()); T det = determinant(); Matrix result(std::vector(mElements.size()), rows(), columns()); for (unsigned int i = 0; i < rows(); i++) for (unsigned int j = 0; j < columns(); j++) result(i, j) = (det != static_cast(0)) ? adjugateMatrix(i, j) / det : T(); return result; } void setToIdentity() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(rows() == columns()); const auto one = T(1); const auto zero = T(0); for (auto &e : mElements) e = zero; for (unsigned int i = 0; i < rows(); ++i) { const auto pos = i * columns() + (i % columns()); mElements[pos] = one; } } template static void setToIdentity(T (&matrix)[Size]) { static_assert(gl::iSquareRoot() != 0, "Matrix is not square."); const auto cols = gl::iSquareRoot(); const auto one = T(1); const auto zero = T(0); for (auto &e : matrix) e = zero; for (unsigned int i = 0; i < cols; ++i) { const auto pos = i * cols + (i % cols); matrix[pos] = one; } } protected: std::vector mElements; unsigned int mRows; unsigned int mCols; }; class Mat4 : public Matrix { public: Mat4(); Mat4(const Matrix generalMatrix); Mat4(const std::vector &elements); Mat4(const float *elements); Mat4(float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33); static Mat4 Rotate(float angle, const Vector3 &axis); static Mat4 Translate(const Vector3 &t); static Mat4 Scale(const Vector3 &s); static Mat4 Frustum(float l, float r, float b, float t, float n, float f); static Mat4 Perspective(float fov, float aspectRatio, float n, float f); static Mat4 Ortho(float l, float r, float b, float t, float n, float f); Mat4 product(const Mat4 &m); Vector4 product(const Vector4 &b); void dump(); }; } # 19 "../../third_party/angle/src/libANGLE/GLES1State.h" 2 namespace gl { struct TextureCoordF { TextureCoordF(); TextureCoordF(float _s, float _t, float _r, float _q); bool operator==(const TextureCoordF &other) const; GLfloat s = 0.0f; GLfloat t = 0.0f; GLfloat r = 0.0f; GLfloat q = 0.0f; }; struct MaterialParameters { MaterialParameters(); ColorF ambient; ColorF diffuse; ColorF specular; ColorF emissive; GLfloat specularExponent; }; struct LightModelParameters { LightModelParameters(); ColorF color; bool twoSided; }; struct LightParameters { LightParameters(); LightParameters(const LightParameters &other); bool enabled = false; ColorF ambient = {0.0f, 0.0f, 0.0f, 1.0f}; ColorF diffuse = {0.0f, 0.0f, 0.0f, 1.0f}; ColorF specular = {0.0f, 0.0f, 0.0f, 1.0f}; angle::Vector4 position = {0.0f, 0.0f, 1.0f, 0.0f}; angle::Vector3 direction = {0.0f, 0.0f, -1.0f}; GLfloat spotlightExponent = 0.0f; GLfloat spotlightCutoffAngle = 180.0f; GLfloat attenuationConst = 1.0f; GLfloat attenuationLinear = 0.0f; GLfloat attenuationQuadratic = 0.0f; }; struct FogParameters { FogParameters(); FogMode mode; GLfloat density; GLfloat start; GLfloat end; ColorF color; }; struct TextureEnvironmentParameters { TextureEnvironmentParameters(); TextureEnvironmentParameters(const TextureEnvironmentParameters &other); TextureEnvMode mode = TextureEnvMode::Modulate; TextureCombine combineRgb = TextureCombine::Modulate; TextureCombine combineAlpha = TextureCombine::Modulate; TextureSrc src0Rgb = TextureSrc::Texture; TextureSrc src0Alpha = TextureSrc::Texture; TextureSrc src1Rgb = TextureSrc::Previous; TextureSrc src1Alpha = TextureSrc::Previous; TextureSrc src2Rgb = TextureSrc::Constant; TextureSrc src2Alpha = TextureSrc::Constant; TextureOp op0Rgb = TextureOp::SrcColor; TextureOp op0Alpha = TextureOp::SrcAlpha; TextureOp op1Rgb = TextureOp::SrcColor; TextureOp op1Alpha = TextureOp::SrcAlpha; TextureOp op2Rgb = TextureOp::SrcAlpha; TextureOp op2Alpha = TextureOp::SrcAlpha; ColorF color = {0.0f, 0.0f, 0.0f, 0.0f}; GLfloat rgbScale = 1.0f; GLfloat alphaScale = 1.0f; bool pointSpriteCoordReplace = false; }; struct PointParameters { PointParameters(); PointParameters(const PointParameters &other); GLfloat pointSizeMin = 0.0f; GLfloat pointSizeMax = 1.0f; GLfloat pointFadeThresholdSize = 1.0f; angle::Vector3 pointDistanceAttenuation = {1.0f, 0.0f, 0.0f}; GLfloat pointSize = 1.0f; }; struct ClipPlaneParameters { ClipPlaneParameters(); ClipPlaneParameters(bool enabled, const angle::Vector4 &equation); ClipPlaneParameters(const ClipPlaneParameters &other); bool enabled; angle::Vector4 equation; }; class Context; class GLES1Renderer; class State; class GLES1State final : angle::NonCopyable { public: GLES1State(); ~GLES1State(); void initialize(const Context *context, const State *state); void setAlphaFunc(AlphaTestFunc func, GLfloat ref); void setClientTextureUnit(unsigned int unit); unsigned int getClientTextureUnit() const; void setCurrentColor(const ColorF &color); const ColorF &getCurrentColor() const; void setCurrentNormal(const angle::Vector3 &normal); const angle::Vector3 &getCurrentNormal() const; void setCurrentTextureCoords(unsigned int unit, const TextureCoordF &coords); const TextureCoordF &getCurrentTextureCoords(unsigned int unit) const; void setMatrixMode(MatrixType mode); MatrixType getMatrixMode() const; GLint getCurrentMatrixStackDepth(GLenum param) const; void pushMatrix(); void popMatrix(); using MatrixStack = angle::FixedVector; MatrixStack ¤tMatrixStack(); const MatrixStack ¤tMatrixStack() const; const angle::Mat4 &getModelviewMatrix() const; void loadMatrix(const angle::Mat4 &m); void multMatrix(const angle::Mat4 &m); void setLogicOp(LogicalOperation opcodePacked); void setClientStateEnabled(ClientVertexArrayType clientState, bool enable); void setTexCoordArrayEnabled(unsigned int unit, bool enable); bool isClientStateEnabled(ClientVertexArrayType clientState) const; bool isTexCoordArrayEnabled(unsigned int unit) const; bool isTextureTargetEnabled(unsigned int unit, const TextureType type) const; LightModelParameters &lightModelParameters(); const LightModelParameters &lightModelParameters() const; LightParameters &lightParameters(unsigned int light); const LightParameters &lightParameters(unsigned int light) const; MaterialParameters &materialParameters(); const MaterialParameters &materialParameters() const; bool isColorMaterialEnabled() const; void setShadeModel(ShadingModel model); void setClipPlane(unsigned int plane, const GLfloat *equation); void getClipPlane(unsigned int plane, GLfloat *equation) const; FogParameters &fogParameters(); const FogParameters &fogParameters() const; TextureEnvironmentParameters &textureEnvironment(unsigned int unit); const TextureEnvironmentParameters &textureEnvironment(unsigned int unit) const; PointParameters &pointParameters(); const PointParameters &pointParameters() const; AttributesMask getVertexArraysAttributeMask() const; AttributesMask getActiveAttributesMask() const; void setHint(GLenum target, GLenum mode); GLenum getHint(GLenum target); private: friend class State; friend class GLES1Renderer; const State *mGLState; enum DirtyGles1Type { DIRTY_GLES1_TEXTURE_UNIT_ENABLE = 0, DIRTY_GLES1_CLIENT_STATE_ENABLE, DIRTY_GLES1_FEATURE_ENABLE, DIRTY_GLES1_CURRENT_VECTOR, DIRTY_GLES1_CLIENT_ACTIVE_TEXTURE, DIRTY_GLES1_MATRICES, DIRTY_GLES1_TEXTURE_ENVIRONMENT, DIRTY_GLES1_MATERIAL, DIRTY_GLES1_LIGHTS, DIRTY_GLES1_FOG, DIRTY_GLES1_SHADE_MODEL, DIRTY_GLES1_POINT_PARAMETERS, DIRTY_GLES1_ALPHA_TEST, DIRTY_GLES1_LOGIC_OP, DIRTY_GLES1_CLIP_PLANES, DIRTY_GLES1_HINT_SETTING, DIRTY_GLES1_MAX, }; using DirtyBits = angle::BitSet; DirtyBits mDirtyBits; void setDirty(DirtyGles1Type type); void setAllDirty(); void clearDirty(); bool isDirty(DirtyGles1Type type) const; std::vector> mTexUnitEnables; bool mVertexArrayEnabled; bool mNormalArrayEnabled; bool mColorArrayEnabled; bool mPointSizeArrayEnabled; std::vector mTexCoordArrayEnabled; bool mLineSmoothEnabled; bool mPointSmoothEnabled; bool mPointSpriteEnabled; bool mAlphaTestEnabled; bool mLogicOpEnabled; bool mLightingEnabled; bool mFogEnabled; bool mRescaleNormalEnabled; bool mNormalizeEnabled; bool mColorMaterialEnabled; bool mReflectionMapEnabled; ColorF mCurrentColor; angle::Vector3 mCurrentNormal; std::vector mCurrentTextureCoords; unsigned int mClientActiveTexture; MatrixType mMatrixMode; MatrixStack mProjectionMatrices; MatrixStack mModelviewMatrices; std::vector mTextureMatrices; using TextureEnvironments = std::vector; TextureEnvironments mTextureEnvironments; MaterialParameters mMaterial; LightModelParameters mLightModel; std::vector mLights; FogParameters mFog; ShadingModel mShadeModel; PointParameters mPointParameters; AlphaTestFunc mAlphaTestFunc; GLfloat mAlphaTestRef; LogicalOperation mLogicOp; std::vector mClipPlanes; HintSetting mLineSmoothHint; HintSetting mPointSmoothHint; HintSetting mPerspectiveCorrectionHint; HintSetting mFogHint; }; } # 20 "../../third_party/angle/src/libANGLE/State.h" 2 # 1 "../../third_party/angle/src/libANGLE/Overlay.h" 1 # 16 "../../third_party/angle/src/libANGLE/Overlay.h" # 1 "../../third_party/angle/src/libANGLE/OverlayWidgets.h" 1 # 15 "../../third_party/angle/src/libANGLE/OverlayWidgets.h" namespace gl { class Overlay; class OverlayState; namespace overlay_impl { class AppendWidgetDataHelper; } enum class WidgetType { Count, Text, PerSecond, RunningGraph, RunningHistogram, InvalidEnum, EnumCount = InvalidEnum, }; enum class WidgetId { FPS, VulkanLastValidationMessage, VulkanValidationMessageCount, VulkanCommandGraphSize, VulkanSecondaryCommandBufferPoolWaste, InvalidEnum, EnumCount = InvalidEnum, }; namespace overlay { class Widget { public: virtual ~Widget() {} protected: WidgetType type; bool enabled = false; int fontSize; int32_t coords[4]; float color[4]; friend class gl::Overlay; friend class gl::OverlayState; friend class overlay_impl::AppendWidgetDataHelper; }; class Count : public Widget { public: ~Count() override {} void add(size_t n) { count += n; } void reset() { count = 0; } protected: size_t count = 0; friend class gl::Overlay; friend class overlay_impl::AppendWidgetDataHelper; }; class PerSecond : public Count { public: ~PerSecond() override {} protected: size_t lastPerSecondCount = 0; friend class gl::Overlay; friend class overlay_impl::AppendWidgetDataHelper; }; class Text : public Widget { public: ~Text() override {} void set(std::string &&str) { text = std::move(str); } protected: std::string text; friend class overlay_impl::AppendWidgetDataHelper; }; class RunningGraph : public Widget { public: RunningGraph(size_t n); ~RunningGraph() override; void add(size_t n) { runningValues[lastValueIndex] += n; } void next() { lastValueIndex = (lastValueIndex + 1) % runningValues.size(); runningValues[lastValueIndex] = 0; } protected: std::vector runningValues; size_t lastValueIndex = 0; Text description; friend class gl::Overlay; friend class gl::OverlayState; friend class overlay_impl::AppendWidgetDataHelper; }; class RunningHistogram : public RunningGraph { public: RunningHistogram(size_t n) : RunningGraph(n) {} ~RunningHistogram() override {} void set(float n) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(n >= 0.0f && n <= 1.0f); size_t rank = n == 1.0f ? runningValues.size() - 1 : static_cast(n * runningValues.size()); runningValues[lastValueIndex] = rank; } }; class Dummy { public: void reset() const {} template void set(T) const {} template void add(T) const {} void next() const {} }; } } # 17 "../../third_party/angle/src/libANGLE/Overlay.h" 2 namespace rx { class OverlayImpl; class GLImplFactory; } namespace gl { class Context; class OverlayState : angle::NonCopyable { public: OverlayState(); ~OverlayState(); size_t getWidgetCoordinatesBufferSize() const; size_t getTextWidgetsBufferSize() const; size_t getGraphWidgetsBufferSize() const; void initFontData(uint8_t *fontData) const; void fillEnabledWidgetCoordinates(const gl::Extents &imageExtents, uint8_t *enabledWidgetsPtr) const; void fillWidgetData(const gl::Extents &imageExtents, uint8_t *textData, uint8_t *graphData) const; uint32_t getEnabledWidgetCount() const { return mEnabledWidgetCount; } private: friend class Overlay; uint32_t mEnabledWidgetCount; angle::PackedEnumMap> mOverlayWidgets; }; class Overlay : angle::NonCopyable { public: Overlay(rx::GLImplFactory *implFactory); ~Overlay(); angle::Result init(const Context *context); void destroy(const gl::Context *context); void onSwap() const; overlay::Text *getTextWidget(WidgetId id) const { return getWidgetAs(id); } overlay::Count *getCountWidget(WidgetId id) const { return getWidgetAs(id); } overlay::PerSecond *getPerSecondWidget(WidgetId id) const { return getWidgetAs(id); } overlay::RunningGraph *getRunningGraphWidget(WidgetId id) const { return getWidgetAs(id); } overlay::RunningHistogram *getRunningHistogramWidget(WidgetId id) const { return getWidgetAs(id); } rx::OverlayImpl *getImplementation() const { return mImplementation.get(); } private: template Widget *getWidgetAs(WidgetId id) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mState.mOverlayWidgets[id] != nullptr); true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mState.mOverlayWidgets[id]->type == Type); return rx::GetAs(mState.mOverlayWidgets[id].get()); } void initOverlayWidgets(); void enableOverlayWidgetsFromEnvironment(); mutable double mLastPerSecondUpdate; OverlayState mState; std::unique_ptr mImplementation; }; class DummyOverlay { public: DummyOverlay(rx::GLImplFactory *implFactory); ~DummyOverlay(); angle::Result init(const Context *context) { return angle::Result::Continue; } void destroy(const Context *context) {} void onSwap() const {} const overlay::Dummy *getTextWidget(WidgetId id) const { return &mDummy; } const overlay::Dummy *getCountWidget(WidgetId id) const { return &mDummy; } const overlay::Dummy *getPerSecondWidget(WidgetId id) const { return &mDummy; } const overlay::Dummy *getRunningGraphWidget(WidgetId id) const { return &mDummy; } const overlay::Dummy *getRunningHistogramWidget(WidgetId id) const { return &mDummy; } private: overlay::Dummy mDummy; }; using OverlayType = DummyOverlay; } # 21 "../../third_party/angle/src/libANGLE/State.h" 2 # 1 "../../third_party/angle/src/libANGLE/Program.h" 1 # 14 "../../third_party/angle/src/libANGLE/Program.h" # 1 "../../third_party/angle/include/GLSLANG/ShaderVars.h" 1 # 19 "../../third_party/angle/include/GLSLANG/ShaderVars.h" using ShCompileOptions = uint64_t; namespace sh { typedef unsigned int GLenum; enum InterpolationType { INTERPOLATION_SMOOTH, INTERPOLATION_CENTROID, INTERPOLATION_FLAT }; bool InterpolationTypesMatch(InterpolationType a, InterpolationType b); enum BlockLayoutType { BLOCKLAYOUT_STANDARD, BLOCKLAYOUT_STD140 = BLOCKLAYOUT_STANDARD, BLOCKLAYOUT_STD430, BLOCKLAYOUT_PACKED, BLOCKLAYOUT_SHARED }; enum class BlockType { BLOCK_UNIFORM, BLOCK_BUFFER, BLOCK_IN }; struct ShaderVariable { ShaderVariable(); ShaderVariable(GLenum typeIn); ShaderVariable(GLenum typeIn, unsigned int arraySizeIn); ~ShaderVariable(); ShaderVariable(const ShaderVariable &other); ShaderVariable &operator=(const ShaderVariable &other); bool operator==(const ShaderVariable &other) const; bool operator!=(const ShaderVariable &other) const { return !operator==(other); } bool isArrayOfArrays() const { return arraySizes.size() >= 2u; } bool isArray() const { return !arraySizes.empty(); } unsigned int getArraySizeProduct() const; unsigned int getInnerArraySizeProduct() const; unsigned int getOutermostArraySize() const { return isArray() ? arraySizes.back() : 0; } void setArraySize(unsigned int size); void indexIntoArray(unsigned int arrayIndex); unsigned int getNestedArraySize(unsigned int arrayNestingIndex) const; unsigned int getBasicTypeElementCount() const; unsigned int getExternalSize() const; bool isStruct() const { return !fields.empty(); } # 118 "../../third_party/angle/include/GLSLANG/ShaderVars.h" bool findInfoByMappedName(const std::string &mappedFullName, const ShaderVariable **leafVar, std::string *originalFullName) const; bool isBuiltIn() const; bool isEmulatedBuiltIn() const; GLenum type; GLenum precision; std::string name; std::string mappedName; std::vector arraySizes; int parentArrayIndex() const { return hasParentArrayIndex() ? flattenedOffsetInParentArrays : 0; } void setParentArrayIndex(int indexIn) { flattenedOffsetInParentArrays = indexIn; } bool hasParentArrayIndex() const { return flattenedOffsetInParentArrays != -1; } bool staticUse; bool active; std::vector fields; std::string structName; bool isRowMajorLayout; int location; int binding; bool isSameUniformAtLinkTime(const ShaderVariable &other) const; GLenum imageUnitFormat; int offset; bool readonly; bool writeonly; int index; bool isSameInterfaceBlockFieldAtLinkTime(const ShaderVariable &other) const; InterpolationType interpolation; bool isInvariant; bool isSameVaryingAtLinkTime(const ShaderVariable &other, int shaderVersion) const; bool isSameVaryingAtLinkTime(const ShaderVariable &other) const; protected: bool isSameVariableAtLinkTime(const ShaderVariable &other, bool matchPrecision, bool matchName) const; int flattenedOffsetInParentArrays; }; using Uniform = ShaderVariable; using Attribute = ShaderVariable; using OutputVariable = ShaderVariable; using InterfaceBlockField = ShaderVariable; using Varying = ShaderVariable; struct InterfaceBlock { InterfaceBlock(); ~InterfaceBlock(); InterfaceBlock(const InterfaceBlock &other); InterfaceBlock &operator=(const InterfaceBlock &other); std::string fieldPrefix() const; std::string fieldMappedPrefix() const; bool isSameInterfaceBlockAtLinkTime(const InterfaceBlock &other) const; bool isBuiltIn() const; bool isArray() const { return arraySize > 0; } unsigned int elementCount() const { return std::max(1u, arraySize); } std::string name; std::string mappedName; std::string instanceName; unsigned int arraySize; BlockLayoutType layout; bool isRowMajorLayout; int binding; bool staticUse; bool active; BlockType blockType; std::vector fields; }; struct WorkGroupSize { inline WorkGroupSize() = default; inline explicit constexpr WorkGroupSize(int initialSize); void fill(int fillValue); void setLocalSize(int localSizeX, int localSizeY, int localSizeZ); int &operator[](size_t index); int operator[](size_t index) const; size_t size() const; bool isWorkGroupSizeMatching(const WorkGroupSize &right) const; bool isAnyValueSet() const; bool isDeclared() const; bool isLocalSizeValid() const; int localSizeQualifiers[3]; }; inline constexpr WorkGroupSize::WorkGroupSize(int initialSize) : localSizeQualifiers{initialSize, initialSize, initialSize} {} } # 15 "../../third_party/angle/src/libANGLE/Program.h" 2 # 32 "../../third_party/angle/src/libANGLE/Program.h" # 1 "../../third_party/angle/src/libANGLE/Uniform.h" 1 # 17 "../../third_party/angle/src/libANGLE/Uniform.h" # 1 "../../third_party/angle/src/compiler/translator/blocklayout.h" 1 # 17 "../../third_party/angle/src/compiler/translator/blocklayout.h" # 1 "../../third_party/angle/include/GLSLANG/ShaderLang.h" 1 # 9 "../../third_party/angle/include/GLSLANG/ShaderLang.h" # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 10 "../../third_party/angle/include/GLSLANG/ShaderLang.h" 2 # 25 "../../third_party/angle/include/GLSLANG/ShaderLang.h" # 1 "../../third_party/angle/include/GLSLANG/ShaderVars.h" 1 # 26 "../../third_party/angle/include/GLSLANG/ShaderLang.h" 2 enum ShShaderSpec { SH_GLES2_SPEC, SH_WEBGL_SPEC, SH_GLES3_SPEC, SH_WEBGL2_SPEC, SH_GLES3_1_SPEC, SH_WEBGL3_SPEC, SH_GL_CORE_SPEC, SH_GL_COMPATIBILITY_SPEC, }; enum ShShaderOutput { SH_ESSL_OUTPUT = 0x8B45, SH_GLSL_COMPATIBILITY_OUTPUT = 0x8B46, SH_GLSL_130_OUTPUT = 0x8B47, SH_GLSL_140_OUTPUT = 0x8B80, SH_GLSL_150_CORE_OUTPUT = 0x8B81, SH_GLSL_330_CORE_OUTPUT = 0x8B82, SH_GLSL_400_CORE_OUTPUT = 0x8B83, SH_GLSL_410_CORE_OUTPUT = 0x8B84, SH_GLSL_420_CORE_OUTPUT = 0x8B85, SH_GLSL_430_CORE_OUTPUT = 0x8B86, SH_GLSL_440_CORE_OUTPUT = 0x8B87, SH_GLSL_450_CORE_OUTPUT = 0x8B88, SH_HLSL_3_0_OUTPUT = 0x8B48, SH_HLSL_4_1_OUTPUT = 0x8B49, SH_HLSL_4_0_FL9_3_OUTPUT = 0x8B4A, SH_GLSL_VULKAN_OUTPUT = 0x8B4B, SH_GLSL_METAL_OUTPUT = 0x8B4C, }; const ShCompileOptions SH_VALIDATE = 0; const ShCompileOptions SH_VALIDATE_LOOP_INDEXING = 1UL << 0; const ShCompileOptions SH_INTERMEDIATE_TREE = 1UL << 1; const ShCompileOptions SH_OBJECT_CODE = 1UL << 2; const ShCompileOptions SH_VARIABLES = 1UL << 3; const ShCompileOptions SH_LINE_DIRECTIVES = 1UL << 4; const ShCompileOptions SH_SOURCE_PATH = 1UL << 5; # 97 "../../third_party/angle/include/GLSLANG/ShaderLang.h" const ShCompileOptions SH_DONT_REMOVE_INVARIANT_FOR_FRAGMENT_INPUT = 1UL << 6; # 111 "../../third_party/angle/include/GLSLANG/ShaderLang.h" const ShCompileOptions SH_REMOVE_INVARIANT_AND_CENTROID_FOR_ESSL3 = 1UL << 7; const ShCompileOptions SH_EMULATE_ABS_INT_FUNCTION = 1UL << 8; const ShCompileOptions SH_ENFORCE_PACKING_RESTRICTIONS = 1UL << 9; const ShCompileOptions SH_CLAMP_INDIRECT_ARRAY_BOUNDS = 1UL << 10; const ShCompileOptions SH_LIMIT_EXPRESSION_COMPLEXITY = 1UL << 11; const ShCompileOptions SH_LIMIT_CALL_STACK_DEPTH = 1UL << 12; const ShCompileOptions SH_INIT_GL_POSITION = 1UL << 13; const ShCompileOptions SH_UNFOLD_SHORT_CIRCUIT = 1UL << 14; const ShCompileOptions SH_INIT_OUTPUT_VARIABLES = 1UL << 15; const ShCompileOptions SH_SCALARIZE_VEC_AND_MAT_CONSTRUCTOR_ARGS = 1UL << 16; const ShCompileOptions SH_REGENERATE_STRUCT_NAMES = 1UL << 17; const ShCompileOptions SH_DONT_PRUNE_UNUSED_FUNCTIONS = 1UL << 18; const ShCompileOptions SH_REMOVE_POW_WITH_CONSTANT_EXPONENT = 1UL << 19; const ShCompileOptions SH_REWRITE_DO_WHILE_LOOPS = 1UL << 20; const ShCompileOptions SH_EXPAND_SELECT_HLSL_INTEGER_POW_EXPRESSIONS = 1UL << 21; const ShCompileOptions SH_FLATTEN_PRAGMA_STDGL_INVARIANT_ALL = 1UL << 22; const ShCompileOptions SH_HLSL_GET_DIMENSIONS_IGNORES_BASE_LEVEL = 1UL << 23; const ShCompileOptions SH_REWRITE_TEXELFETCHOFFSET_TO_TEXELFETCH = 1UL << 24; const ShCompileOptions SH_ADD_AND_TRUE_TO_LOOP_CONDITION = 1UL << 25; const ShCompileOptions SH_REWRITE_INTEGER_UNARY_MINUS_OPERATOR = 1UL << 26; const ShCompileOptions SH_EMULATE_ISNAN_FLOAT_FUNCTION = 1UL << 27; const ShCompileOptions SH_USE_UNUSED_STANDARD_SHARED_BLOCKS = 1UL << 28; const ShCompileOptions SH_REWRITE_FLOAT_UNARY_MINUS_OPERATOR = 1UL << 29; const ShCompileOptions SH_EMULATE_ATAN2_FLOAT_FUNCTION = 1UL << 30; const ShCompileOptions SH_INITIALIZE_UNINITIALIZED_LOCALS = 1UL << 31; # 236 "../../third_party/angle/include/GLSLANG/ShaderLang.h" const ShCompileOptions SH_INITIALIZE_BUILTINS_FOR_INSTANCED_MULTIVIEW = 1UL << 32; # 246 "../../third_party/angle/include/GLSLANG/ShaderLang.h" const ShCompileOptions SH_SELECT_VIEW_IN_NV_GLSL_VERTEX_SHADER = 1UL << 33; const ShCompileOptions SH_CLAMP_POINT_SIZE = 1UL << 34; const ShCompileOptions SH_REWRITE_VECTOR_SCALAR_ARITHMETIC = 1UL << 35; const ShCompileOptions SH_DONT_USE_LOOPS_TO_INITIALIZE_VARIABLES = 1UL << 36; const ShCompileOptions SH_SKIP_D3D_CONSTANT_REGISTER_ZERO = 1UL << 37; const ShCompileOptions SH_CLAMP_FRAG_DEPTH = 1UL << 38; const ShCompileOptions SH_REWRITE_REPEATED_ASSIGN_TO_SWIZZLED = 1UL << 39; const ShCompileOptions SH_EMULATE_GL_DRAW_ID = 1UL << 40; const ShCompileOptions SH_INIT_SHARED_VARIABLES = 1UL << 41; const ShCompileOptions SH_FORCE_ATOMIC_VALUE_RESOLUTION = 1UL << 42; const ShCompileOptions SH_EMULATE_GL_BASE_VERTEX_BASE_INSTANCE = 1UL << 43; const ShCompileOptions SH_EMULATE_SEAMFUL_CUBE_MAP_SAMPLING = 1UL << 44; const ShCompileOptions SH_VALIDATE_AST = 1UL << 46; const ShCompileOptions SH_USE_OLD_REWRITE_STRUCT_SAMPLERS = 1UL << 47; const ShCompileOptions SH_ADD_BASE_VERTEX_TO_VERTEX_ID = 1UL << 48; const ShCompileOptions SH_REMOVE_DYNAMIC_INDEXING_OF_SWIZZLED_VECTOR = 1UL << 49; enum ShArrayIndexClampingStrategy { SH_CLAMP_WITH_CLAMP_INTRINSIC = 1, SH_CLAMP_WITH_USER_DEFINED_INT_CLAMP_FUNCTION }; using ShHashFunction64 = khronos_uint64_t (*)(const char *, size_t); struct ShBuiltInResources { int MaxVertexAttribs; int MaxVertexUniformVectors; int MaxVaryingVectors; int MaxVertexTextureImageUnits; int MaxCombinedTextureImageUnits; int MaxTextureImageUnits; int MaxFragmentUniformVectors; int MaxDrawBuffers; int OES_standard_derivatives; int OES_EGL_image_external; int OES_EGL_image_external_essl3; int NV_EGL_stream_consumer_external; int ARB_texture_rectangle; int EXT_blend_func_extended; int EXT_draw_buffers; int EXT_frag_depth; int EXT_shader_texture_lod; int WEBGL_debug_shader_precision; int EXT_shader_framebuffer_fetch; int NV_shader_framebuffer_fetch; int ARM_shader_framebuffer_fetch; int OVR_multiview; int OVR_multiview2; int EXT_multisampled_render_to_texture; int EXT_YUV_target; int EXT_geometry_shader; int OES_texture_storage_multisample_2d_array; int OES_texture_3D; int ANGLE_texture_multisample; int ANGLE_multi_draw; int ANGLE_base_vertex_base_instance; int NV_draw_buffers; int FragmentPrecisionHigh; int MaxVertexOutputVectors; int MaxFragmentInputVectors; int MinProgramTexelOffset; int MaxProgramTexelOffset; int MaxDualSourceDrawBuffers; int MaxViewsOVR; ShHashFunction64 HashFunction; ShArrayIndexClampingStrategy ArrayIndexClampingStrategy; int MaxExpressionComplexity; int MaxCallStackDepth; int MaxFunctionParameters; int MinProgramTextureGatherOffset; int MaxProgramTextureGatherOffset; int MaxImageUnits; int MaxVertexImageUniforms; int MaxFragmentImageUniforms; int MaxComputeImageUniforms; int MaxCombinedImageUniforms; int MaxUniformLocations; int MaxCombinedShaderOutputResources; std::array MaxComputeWorkGroupCount; std::array MaxComputeWorkGroupSize; int MaxComputeUniformComponents; int MaxComputeTextureImageUnits; int MaxComputeAtomicCounters; int MaxComputeAtomicCounterBuffers; int MaxVertexAtomicCounters; int MaxFragmentAtomicCounters; int MaxCombinedAtomicCounters; int MaxAtomicCounterBindings; int MaxVertexAtomicCounterBuffers; int MaxFragmentAtomicCounterBuffers; int MaxCombinedAtomicCounterBuffers; int MaxAtomicCounterBufferSize; int MaxUniformBufferBindings; int MaxShaderStorageBufferBindings; float MaxPointSize; int MaxGeometryUniformComponents; int MaxGeometryUniformBlocks; int MaxGeometryInputComponents; int MaxGeometryOutputComponents; int MaxGeometryOutputVertices; int MaxGeometryTotalOutputComponents; int MaxGeometryTextureImageUnits; int MaxGeometryAtomicCounterBuffers; int MaxGeometryAtomicCounters; int MaxGeometryShaderStorageBlocks; int MaxGeometryShaderInvocations; int MaxGeometryImageUniforms; int SubPixelBits; }; # 519 "../../third_party/angle/include/GLSLANG/ShaderLang.h" using ShHandle = void *; namespace sh { bool Initialize(); bool Finalize(); void InitBuiltInResources(ShBuiltInResources *resources); const std::string &GetBuiltInResourcesString(const ShHandle handle); # 560 "../../third_party/angle/include/GLSLANG/ShaderLang.h" ShHandle ConstructCompiler(sh::GLenum type, ShShaderSpec spec, ShShaderOutput output, const ShBuiltInResources *resources); void Destruct(ShHandle handle); # 590 "../../third_party/angle/include/GLSLANG/ShaderLang.h" bool Compile(const ShHandle handle, const char *const shaderStrings[], size_t numStrings, ShCompileOptions compileOptions); void ClearResults(const ShHandle handle); int GetShaderVersion(const ShHandle handle); ShShaderOutput GetShaderOutputType(const ShHandle handle); const std::string &GetInfoLog(const ShHandle handle); const std::string &GetObjectCode(const ShHandle handle); const std::map *GetNameHashingMap(const ShHandle handle); const std::vector *GetUniforms(const ShHandle handle); const std::vector *GetVaryings(const ShHandle handle); const std::vector *GetInputVaryings(const ShHandle handle); const std::vector *GetOutputVaryings(const ShHandle handle); const std::vector *GetAttributes(const ShHandle handle); const std::vector *GetOutputVariables(const ShHandle handle); const std::vector *GetInterfaceBlocks(const ShHandle handle); const std::vector *GetUniformBlocks(const ShHandle handle); const std::vector *GetShaderStorageBlocks(const ShHandle handle); sh::WorkGroupSize GetComputeShaderLocalGroupSize(const ShHandle handle); int GetVertexShaderNumViews(const ShHandle handle); # 647 "../../third_party/angle/include/GLSLANG/ShaderLang.h" bool CheckVariablesWithinPackingLimits(int maxVectors, const std::vector &variables); # 657 "../../third_party/angle/include/GLSLANG/ShaderLang.h" bool GetShaderStorageBlockRegister(const ShHandle handle, const std::string &shaderStorageBlockName, unsigned int *indexOut); # 668 "../../third_party/angle/include/GLSLANG/ShaderLang.h" bool GetUniformBlockRegister(const ShHandle handle, const std::string &uniformBlockName, unsigned int *indexOut); const std::map *GetUniformRegisterMap(const ShHandle handle); unsigned int GetReadonlyImage2DRegisterIndex(const ShHandle handle); unsigned int GetImage2DRegisterIndex(const ShHandle handle); const std::set *GetUsedImage2DFunctionNames(const ShHandle handle); bool HasValidGeometryShaderInputPrimitiveType(const ShHandle handle); bool HasValidGeometryShaderOutputPrimitiveType(const ShHandle handle); bool HasValidGeometryShaderMaxVertices(const ShHandle handle); GLenum GetGeometryShaderInputPrimitiveType(const ShHandle handle); GLenum GetGeometryShaderOutputPrimitiveType(const ShHandle handle); int GetGeometryShaderInvocations(const ShHandle handle); int GetGeometryShaderMaxVertices(const ShHandle handle); unsigned int GetShaderSharedMemorySize(const ShHandle handle); inline bool IsWebGLBasedSpec(ShShaderSpec spec) { return (spec == SH_WEBGL_SPEC || spec == SH_WEBGL2_SPEC || spec == SH_WEBGL3_SPEC); } inline bool IsDesktopGLSpec(ShShaderSpec spec) { return spec == SH_GL_CORE_SPEC || spec == SH_GL_COMPATIBILITY_SPEC; } } # 18 "../../third_party/angle/src/compiler/translator/blocklayout.h" 2 namespace sh { struct ShaderVariable; struct InterfaceBlock; struct BlockMemberInfo { constexpr BlockMemberInfo() = default; constexpr BlockMemberInfo(int offset, int arrayStride, int matrixStride, bool isRowMajorMatrix) : offset(offset), arrayStride(arrayStride), matrixStride(matrixStride), isRowMajorMatrix(isRowMajorMatrix) {} constexpr BlockMemberInfo(int offset, int arrayStride, int matrixStride, bool isRowMajorMatrix, int topLevelArrayStride) : offset(offset), arrayStride(arrayStride), matrixStride(matrixStride), isRowMajorMatrix(isRowMajorMatrix), topLevelArrayStride(topLevelArrayStride) {} int offset = -1; int arrayStride = -1; int matrixStride = -1; bool isRowMajorMatrix = false; int topLevelArrayStride = -1; }; constexpr size_t ComponentAlignment(size_t numComponents) { return (numComponents == 3u ? 4u : numComponents); } constexpr BlockMemberInfo kDefaultBlockMemberInfo; class BlockLayoutEncoder { public: BlockLayoutEncoder(); virtual ~BlockLayoutEncoder() {} BlockMemberInfo encodeType(GLenum type, const std::vector &arraySizes, bool isRowMajorMatrix); size_t getCurrentOffset() const { return mCurrentOffset * kBytesPerComponent; } size_t getShaderVariableSize(const ShaderVariable &structVar, bool isRowMajor); virtual void enterAggregateType(const ShaderVariable &structVar) = 0; virtual void exitAggregateType(const ShaderVariable &structVar) = 0; static constexpr size_t kBytesPerComponent = 4u; static constexpr unsigned int kComponentsPerRegister = 4u; static size_t GetBlockRegister(const BlockMemberInfo &info); static size_t GetBlockRegisterElement(const BlockMemberInfo &info); protected: void align(size_t baseAlignment); virtual void getBlockLayoutInfo(GLenum type, const std::vector &arraySizes, bool isRowMajorMatrix, int *arrayStrideOut, int *matrixStrideOut) = 0; virtual void advanceOffset(GLenum type, const std::vector &arraySizes, bool isRowMajorMatrix, int arrayStride, int matrixStride) = 0; size_t mCurrentOffset; }; class DummyBlockEncoder : public BlockLayoutEncoder { public: DummyBlockEncoder() = default; void enterAggregateType(const ShaderVariable &structVar) override {} void exitAggregateType(const ShaderVariable &structVar) override {} protected: void getBlockLayoutInfo(GLenum type, const std::vector &arraySizes, bool isRowMajorMatrix, int *arrayStrideOut, int *matrixStrideOut) override; void advanceOffset(GLenum type, const std::vector &arraySizes, bool isRowMajorMatrix, int arrayStride, int matrixStride) override {} }; class Std140BlockEncoder : public BlockLayoutEncoder { public: Std140BlockEncoder(); void enterAggregateType(const ShaderVariable &structVar) override; void exitAggregateType(const ShaderVariable &structVar) override; protected: void getBlockLayoutInfo(GLenum type, const std::vector &arraySizes, bool isRowMajorMatrix, int *arrayStrideOut, int *matrixStrideOut) override; void advanceOffset(GLenum type, const std::vector &arraySizes, bool isRowMajorMatrix, int arrayStride, int matrixStride) override; virtual size_t getBaseAlignment(const ShaderVariable &variable) const; virtual size_t getTypeBaseAlignment(GLenum type, bool isRowMajorMatrix) const; }; class Std430BlockEncoder : public Std140BlockEncoder { public: Std430BlockEncoder(); protected: size_t getBaseAlignment(const ShaderVariable &variable) const override; size_t getTypeBaseAlignment(GLenum type, bool isRowMajorMatrix) const override; }; using BlockLayoutMap = std::map; void GetInterfaceBlockInfo(const std::vector &fields, const std::string &prefix, BlockLayoutEncoder *encoder, BlockLayoutMap *blockInfoOut); void GetUniformBlockInfo(const std::vector &uniforms, const std::string &prefix, BlockLayoutEncoder *encoder, BlockLayoutMap *blockInfoOut); class ShaderVariableVisitor { public: virtual ~ShaderVariableVisitor() {} virtual void enterStruct(const ShaderVariable &structVar) {} virtual void exitStruct(const ShaderVariable &structVar) {} virtual void enterStructAccess(const ShaderVariable &structVar, bool isRowMajor) {} virtual void exitStructAccess(const ShaderVariable &structVar, bool isRowMajor) {} virtual void enterArray(const ShaderVariable &arrayVar) {} virtual void exitArray(const ShaderVariable &arrayVar) {} virtual void enterArrayElement(const ShaderVariable &arrayVar, unsigned int arrayElement) {} virtual void exitArrayElement(const ShaderVariable &arrayVar, unsigned int arrayElement) {} virtual void visitSampler(const sh::ShaderVariable &sampler) {} virtual void visitVariable(const ShaderVariable &variable, bool isRowMajor) = 0; protected: ShaderVariableVisitor() {} }; class VariableNameVisitor : public ShaderVariableVisitor { public: VariableNameVisitor(const std::string &namePrefix, const std::string &mappedNamePrefix); ~VariableNameVisitor() override; void enterStruct(const ShaderVariable &structVar) override; void exitStruct(const ShaderVariable &structVar) override; void enterStructAccess(const ShaderVariable &structVar, bool isRowMajor) override; void exitStructAccess(const ShaderVariable &structVar, bool isRowMajor) override; void enterArray(const ShaderVariable &arrayVar) override; void exitArray(const ShaderVariable &arrayVar) override; void enterArrayElement(const ShaderVariable &arrayVar, unsigned int arrayElement) override; void exitArrayElement(const ShaderVariable &arrayVar, unsigned int arrayElement) override; protected: virtual void visitNamedSampler(const sh::ShaderVariable &sampler, const std::string &name, const std::string &mappedName, const std::vector &arraySizes) {} virtual void visitNamedVariable(const ShaderVariable &variable, bool isRowMajor, const std::string &name, const std::string &mappedName, const std::vector &arraySizes) = 0; std::string collapseNameStack() const; std::string collapseMappedNameStack() const; private: void visitSampler(const sh::ShaderVariable &sampler) final; void visitVariable(const ShaderVariable &variable, bool isRowMajor) final; std::vector mNameStack; std::vector mMappedNameStack; std::vector mArraySizeStack; }; class BlockEncoderVisitor : public VariableNameVisitor { public: BlockEncoderVisitor(const std::string &namePrefix, const std::string &mappedNamePrefix, BlockLayoutEncoder *encoder); ~BlockEncoderVisitor() override; void enterStructAccess(const ShaderVariable &structVar, bool isRowMajor) override; void exitStructAccess(const ShaderVariable &structVar, bool isRowMajor) override; void enterArrayElement(const ShaderVariable &arrayVar, unsigned int arrayElement) override; void exitArrayElement(const ShaderVariable &arrayVar, unsigned int arrayElement) override; void visitNamedVariable(const ShaderVariable &variable, bool isRowMajor, const std::string &name, const std::string &mappedName, const std::vector &arraySizes) override; virtual void encodeVariable(const ShaderVariable &variable, const BlockMemberInfo &variableInfo, const std::string &name, const std::string &mappedName) {} protected: int mTopLevelArraySize = 1; int mTopLevelArrayStride = 0; bool mIsTopLevelArrayStrideReady = true; bool mSkipEnabled = false; private: BlockLayoutEncoder *mEncoder; unsigned int mStructStackSize = 0; }; void TraverseShaderVariable(const ShaderVariable &variable, bool isRowMajorLayout, ShaderVariableVisitor *visitor); template void TraverseShaderVariables(const std::vector &vars, bool isRowMajorLayout, ShaderVariableVisitor *visitor) { for (const T &var : vars) { TraverseShaderVariable(var, isRowMajorLayout, visitor); } } } # 18 "../../third_party/angle/src/libANGLE/Uniform.h" 2 namespace gl { struct UniformTypeInfo; struct ActiveVariable { ActiveVariable(); ActiveVariable(const ActiveVariable &rhs); virtual ~ActiveVariable(); ActiveVariable &operator=(const ActiveVariable &rhs); ShaderType getFirstShaderTypeWhereActive() const; void setActive(ShaderType shaderType, bool used); void unionReferencesWith(const ActiveVariable &other); bool isActive(ShaderType shaderType) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(shaderType != ShaderType::InvalidEnum); return mActiveUseBits[shaderType]; } ShaderBitSet activeShaders() const { return mActiveUseBits; } GLuint activeShaderCount() const; private: ShaderBitSet mActiveUseBits; }; struct LinkedUniform : public sh::ShaderVariable, public ActiveVariable { LinkedUniform(); LinkedUniform(GLenum type, GLenum precision, const std::string &name, const std::vector &arraySizes, const int binding, const int offset, const int location, const int bufferIndex, const sh::BlockMemberInfo &blockInfo); LinkedUniform(const sh::ShaderVariable &uniform); LinkedUniform(const LinkedUniform &uniform); LinkedUniform &operator=(const LinkedUniform &uniform); ~LinkedUniform() override; bool isSampler() const { return typeInfo->isSampler; } bool isImage() const { return typeInfo->isImageType; } bool isAtomicCounter() const { return IsAtomicCounterType(type); } bool isInDefaultBlock() const { return bufferIndex == -1; } bool isField() const { return name.find('.') != std::string::npos; } size_t getElementSize() const { return typeInfo->externalSize; } size_t getElementComponents() const { return typeInfo->componentCount; } const UniformTypeInfo *typeInfo; int bufferIndex; sh::BlockMemberInfo blockInfo; std::vector outerArraySizes; }; struct BufferVariable : public sh::ShaderVariable, public ActiveVariable { BufferVariable(); BufferVariable(GLenum type, GLenum precision, const std::string &name, const std::vector &arraySizes, const int bufferIndex, const sh::BlockMemberInfo &blockInfo); ~BufferVariable() override; int bufferIndex; sh::BlockMemberInfo blockInfo; int topLevelArraySize; }; struct ShaderVariableBuffer : public ActiveVariable { ShaderVariableBuffer(); ShaderVariableBuffer(const ShaderVariableBuffer &other); ~ShaderVariableBuffer() override; int numActiveVariables() const; int binding; unsigned int dataSize; std::vector memberIndexes; }; using AtomicCounterBuffer = ShaderVariableBuffer; struct InterfaceBlock : public ShaderVariableBuffer { InterfaceBlock(); InterfaceBlock(const std::string &nameIn, const std::string &mappedNameIn, bool isArrayIn, unsigned int arrayElementIn, int bindingIn); std::string nameWithArrayIndex() const; std::string mappedNameWithArrayIndex() const; std::string name; std::string mappedName; bool isArray; unsigned int arrayElement; }; } # 33 "../../third_party/angle/src/libANGLE/Program.h" 2 namespace rx { class GLImplFactory; class ProgramImpl; struct TranslatedAttribute; } namespace gl { class Buffer; class BinaryInputStream; class BinaryOutputStream; struct Caps; class Context; struct Extensions; class Framebuffer; class InfoLog; class Shader; class ShaderProgramManager; class State; struct UnusedUniform; struct Version; extern const char *const g_fakepath; enum class LinkMismatchError { NO_MISMATCH, TYPE_MISMATCH, ARRAY_SIZE_MISMATCH, PRECISION_MISMATCH, STRUCT_NAME_MISMATCH, FIELD_NUMBER_MISMATCH, FIELD_NAME_MISMATCH, INTERPOLATION_TYPE_MISMATCH, INVARIANCE_MISMATCH, BINDING_MISMATCH, LOCATION_MISMATCH, OFFSET_MISMATCH, INSTANCE_NAME_MISMATCH, LAYOUT_QUALIFIER_MISMATCH, MATRIX_PACKING_MISMATCH }; class InfoLog : angle::NonCopyable { public: InfoLog(); ~InfoLog(); size_t getLength() const; void getLog(GLsizei bufSize, GLsizei *length, char *infoLog) const; void appendSanitized(const char *message); void reset(); class StreamHelper : angle::NonCopyable { public: StreamHelper(StreamHelper &&rhs) : mStream(rhs.mStream) { rhs.mStream = nullptr; } StreamHelper &operator=(StreamHelper &&rhs) { std::swap(mStream, rhs.mStream); return *this; } ~StreamHelper() { if (mStream) { (*mStream) << std::endl; } } template StreamHelper &operator<<(const T &value) { (*mStream) << value; return *this; } private: friend class InfoLog; StreamHelper(std::stringstream *stream) : mStream(stream) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(stream); } std::stringstream *mStream; }; template StreamHelper operator<<(const T &value) { ensureInitialized(); StreamHelper helper(mLazyStream.get()); helper << value; return helper; } std::string str() const { return mLazyStream ? mLazyStream->str() : ""; } bool empty() const; private: void ensureInitialized() { if (!mLazyStream) { mLazyStream.reset(new std::stringstream()); } } std::unique_ptr mLazyStream; }; void LogLinkMismatch(InfoLog &infoLog, const std::string &variableName, const char *variableType, LinkMismatchError linkError, const std::string &mismatchedStructOrBlockFieldName, ShaderType shaderType1, ShaderType shaderType2); bool IsActiveInterfaceBlock(const sh::InterfaceBlock &interfaceBlock); void WriteBlockMemberInfo(BinaryOutputStream *stream, const sh::BlockMemberInfo &var); void LoadBlockMemberInfo(BinaryInputStream *stream, sh::BlockMemberInfo *var); struct VariableLocation { static constexpr unsigned int kUnused = 0xFFFFFFFFu; VariableLocation(); VariableLocation(unsigned int arrayIndex, unsigned int index); bool used() const { return (index != kUnused); } void markUnused() { index = kUnused; } void markIgnored() { ignored = true; } bool operator==(const VariableLocation &other) const { return arrayIndex == other.arrayIndex && index == other.index; } unsigned int arrayIndex; unsigned int index; bool ignored; }; struct BindingInfo { GLenum type; std::string name; bool valid; }; struct SamplerBinding { SamplerBinding(TextureType textureTypeIn, SamplerFormat formatIn, size_t elementCount, bool unreferenced); SamplerBinding(const SamplerBinding &other); ~SamplerBinding(); TextureType textureType; SamplerFormat format; std::vector boundTextureUnits; bool unreferenced; }; struct TransformFeedbackVarying : public sh::ShaderVariable { TransformFeedbackVarying(const sh::ShaderVariable &varyingIn, GLuint arrayIndexIn) : sh::ShaderVariable(varyingIn), arrayIndex(arrayIndexIn) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(!isArrayOfArrays()); } TransformFeedbackVarying(const sh::ShaderVariable &field, const sh::ShaderVariable &parent) : arrayIndex(0xFFFFFFFFu) { sh::ShaderVariable *thisVar = this; *thisVar = field; interpolation = parent.interpolation; isInvariant = parent.isInvariant; name = parent.name + "." + name; mappedName = parent.mappedName + "." + mappedName; } std::string nameWithArrayIndex() const { std::stringstream fullNameStr; fullNameStr << name; if (arrayIndex != 0xFFFFFFFFu) { fullNameStr << "[" << arrayIndex << "]"; } return fullNameStr.str(); } GLsizei size() const { return (isArray() && arrayIndex == 0xFFFFFFFFu ? getOutermostArraySize() : 1); } GLuint arrayIndex; }; struct ImageBinding { ImageBinding(size_t count); ImageBinding(GLuint imageUnit, size_t count, bool unreferenced); ImageBinding(const ImageBinding &other); ~ImageBinding(); std::vector boundImageUnits; bool unreferenced; }; class ProgramState final : angle::NonCopyable { public: ProgramState(); ~ProgramState(); const std::string &getLabel(); Shader *getAttachedShader(ShaderType shaderType) const; const gl::ShaderMap &getAttachedShaders() const { return mAttachedShaders; } const std::vector &getTransformFeedbackVaryingNames() const { return mTransformFeedbackVaryingNames; } GLint getTransformFeedbackBufferMode() const { return mTransformFeedbackBufferMode; } GLuint getUniformBlockBinding(GLuint uniformBlockIndex) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(uniformBlockIndex < mUniformBlocks.size()); return mUniformBlocks[uniformBlockIndex].binding; } GLuint getShaderStorageBlockBinding(GLuint blockIndex) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(blockIndex < mShaderStorageBlocks.size()); return mShaderStorageBlocks[blockIndex].binding; } const UniformBlockBindingMask &getActiveUniformBlockBindingsMask() const { return mActiveUniformBlockBindings; } const std::vector &getProgramInputs() const { return mProgramInputs; } const AttributesMask &getActiveAttribLocationsMask() const { return mActiveAttribLocationsMask; } const AttributesMask &getNonBuiltinAttribLocationsMask() const { return mAttributesMask; } unsigned int getMaxActiveAttribLocation() const { return mMaxActiveAttribLocation; } DrawBufferMask getActiveOutputVariables() const { return mActiveOutputVariables; } const std::vector &getOutputVariables() const { return mOutputVariables; } const std::vector &getOutputLocations() const { return mOutputLocations; } const std::vector &getSecondaryOutputLocations() const { return mSecondaryOutputLocations; } const std::vector &getUniforms() const { return mUniforms; } const std::vector &getUniformLocations() const { return mUniformLocations; } const std::vector &getUniformBlocks() const { return mUniformBlocks; } const std::vector &getShaderStorageBlocks() const { return mShaderStorageBlocks; } const std::vector &getBufferVariables() const { return mBufferVariables; } const std::vector &getSamplerBindings() const { return mSamplerBindings; } const std::vector &getImageBindings() const { return mImageBindings; } const sh::WorkGroupSize &getComputeShaderLocalSize() const { return mComputeShaderLocalSize; } const RangeUI &getSamplerUniformRange() const { return mSamplerUniformRange; } const RangeUI &getImageUniformRange() const { return mImageUniformRange; } const RangeUI &getAtomicCounterUniformRange() const { return mAtomicCounterUniformRange; } const ComponentTypeMask &getAttributesTypeMask() const { return mAttributesTypeMask; } const std::vector &getLinkedTransformFeedbackVaryings() const { return mLinkedTransformFeedbackVaryings; } const std::vector &getTransformFeedbackStrides() const { return mTransformFeedbackStrides; } size_t getTransformFeedbackBufferCount() const { return mTransformFeedbackStrides.size(); } const std::vector &getAtomicCounterBuffers() const { return mAtomicCounterBuffers; } size_t getUniqueUniformBlockCount() const; size_t getUniqueStorageBlockCount() const; GLuint getUniformIndexFromName(const std::string &name) const; GLuint getUniformIndexFromLocation(GLint location) const; Optional getSamplerIndex(GLint location) const; bool isSamplerUniformIndex(GLuint index) const; GLuint getSamplerIndexFromUniformIndex(GLuint uniformIndex) const; GLuint getUniformIndexFromSamplerIndex(GLuint samplerIndex) const; bool isImageUniformIndex(GLuint index) const; GLuint getImageIndexFromUniformIndex(GLuint uniformIndex) const; GLuint getUniformIndexFromImageIndex(GLuint imageIndex) const; GLuint getAttributeLocation(const std::string &name) const; GLuint getBufferVariableIndexFromName(const std::string &name) const; int getNumViews() const { return mNumViews; } bool usesMultiview() const { return mNumViews != -1; } const ShaderBitSet &getLinkedShaderStages() const { return mLinkedShaderStages; } bool hasLinkedShaderStage(ShaderType shaderType) const { return mLinkedShaderStages[shaderType]; } size_t getLinkedShaderStageCount() const { return mLinkedShaderStages.count(); } bool isCompute() const { return hasLinkedShaderStage(ShaderType::Compute); } bool hasAttachedShader() const; const ActiveTextureMask &getActiveSamplersMask() const { return mActiveSamplersMask; } SamplerFormat getSamplerFormatForTextureUnitIndex(size_t textureUnitIndex) const { return mActiveSamplerFormats[textureUnitIndex]; } ShaderType getFirstAttachedShaderStageType() const; ShaderType getLastAttachedShaderStageType() const; private: friend class MemoryProgramCache; friend class Program; void updateTransformFeedbackStrides(); void updateActiveSamplers(); void updateActiveImages(); void updateProgramInterfaceInputs(); void updateProgramInterfaceOutputs(); void setSamplerUniformTextureTypeAndFormat(size_t textureUnitIndex); std::string mLabel; sh::WorkGroupSize mComputeShaderLocalSize; ShaderMap mAttachedShaders; std::vector mTransformFeedbackVaryingNames; std::vector mLinkedTransformFeedbackVaryings; GLenum mTransformFeedbackBufferMode; UniformBlockBindingMask mActiveUniformBlockBindings; std::vector mProgramInputs; angle::BitSet mActiveAttribLocationsMask; unsigned int mMaxActiveAttribLocation; ComponentTypeMask mAttributesTypeMask; AttributesMask mAttributesMask; # 451 "../../third_party/angle/src/libANGLE/Program.h" std::vector mUniforms; std::vector mUniformLocations; std::vector mUniformBlocks; std::vector mBufferVariables; std::vector mShaderStorageBlocks; std::vector mAtomicCounterBuffers; RangeUI mSamplerUniformRange; RangeUI mImageUniformRange; RangeUI mAtomicCounterUniformRange; std::vector mSamplerBindings; std::vector mImageBindings; std::vector mOutputVariables; std::vector mOutputLocations; std::vector mSecondaryOutputLocations; DrawBufferMask mActiveOutputVariables; std::vector mOutputVariableTypes; ComponentTypeMask mDrawBufferTypeMask; bool mBinaryRetrieveableHint; bool mSeparable; ShaderBitSet mLinkedShaderStages; int mNumViews; PrimitiveMode mGeometryShaderInputPrimitiveType; PrimitiveMode mGeometryShaderOutputPrimitiveType; int mGeometryShaderInvocations; int mGeometryShaderMaxVertices; int mDrawIDLocation; int mBaseVertexLocation; int mBaseInstanceLocation; GLint mCachedBaseVertex; GLuint mCachedBaseInstance; std::vector mTransformFeedbackStrides; ActiveTextureMask mActiveSamplersMask; ActiveTextureArray mActiveSamplerRefCounts; ActiveTextureArray mActiveSamplerTypes; ActiveTextureArray mActiveSamplerFormats; ActiveTextureMask mActiveImagesMask; }; struct ProgramBinding { ProgramBinding() : location(0xFFFFFFFFu), aliased(false) {} ProgramBinding(GLuint index) : location(index), aliased(false) {} GLuint location; bool aliased; }; class ProgramBindings final : angle::NonCopyable { public: ProgramBindings(); ~ProgramBindings(); void bindLocation(GLuint index, const std::string &name); int getBindingByName(const std::string &name) const; int getBinding(const sh::ShaderVariable &variable) const; using const_iterator = std::unordered_map::const_iterator; const_iterator begin() const; const_iterator end() const; private: std::unordered_map mBindings; }; class ProgramAliasedBindings final : angle::NonCopyable { public: ProgramAliasedBindings(); ~ProgramAliasedBindings(); void bindLocation(GLuint index, const std::string &name); int getBindingByName(const std::string &name) const; int getBinding(const sh::ShaderVariable &variable) const; using const_iterator = std::unordered_map::const_iterator; const_iterator begin() const; const_iterator end() const; private: std::unordered_map mBindings; }; struct ProgramVaryingRef { const sh::ShaderVariable *get() const { return frontShader ? frontShader : backShader; } const sh::ShaderVariable *frontShader = nullptr; const sh::ShaderVariable *backShader = nullptr; }; using ProgramMergedVaryings = std::map; class Program final : angle::NonCopyable, public LabeledObject { public: Program(rx::GLImplFactory *factory, ShaderProgramManager *manager, ShaderProgramID handle); void onDestroy(const Context *context); ShaderProgramID id() const; void setLabel(const Context *context, const std::string &label) override; const std::string &getLabel() const override; inline __attribute__((always_inline)) rx::ProgramImpl *getImplementation() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); return mProgram; } void attachShader(Shader *shader); void detachShader(const Context *context, Shader *shader); int getAttachedShadersCount() const; const Shader *getAttachedShader(ShaderType shaderType) const; void bindAttributeLocation(GLuint index, const char *name); void bindUniformLocation(GLuint index, const char *name); BindingInfo getFragmentInputBindingInfo(GLint index) const; void bindFragmentInputLocation(GLint index, const char *name); void pathFragmentInputGen(GLint index, GLenum genMode, GLint components, const GLfloat *coeffs); void bindFragmentOutputLocation(GLuint index, const char *name); void bindFragmentOutputIndex(GLuint index, const char *name); angle::Result link(const Context *context); bool isLinking() const; bool isLinked() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); return mLinked; } bool hasLinkedShaderStage(ShaderType shaderType) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(shaderType != ShaderType::InvalidEnum); return mState.hasLinkedShaderStage(shaderType); } bool isCompute() const { return mState.isCompute(); } angle::Result loadBinary(const Context *context, GLenum binaryFormat, const void *binary, GLsizei length); angle::Result saveBinary(Context *context, GLenum *binaryFormat, void *binary, GLsizei bufSize, GLsizei *length) const; GLint getBinaryLength(Context *context) const; void setBinaryRetrievableHint(bool retrievable); bool getBinaryRetrievableHint() const; void setSeparable(bool separable); bool isSeparable() const; int getInfoLogLength() const; void getInfoLog(GLsizei bufSize, GLsizei *length, char *infoLog) const; void getAttachedShaders(GLsizei maxCount, GLsizei *count, ShaderProgramID *shaders) const; GLuint getAttributeLocation(const std::string &name) const; bool isAttribLocationActive(size_t attribLocation) const; void getActiveAttribute(GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) const; GLint getActiveAttributeCount() const; GLint getActiveAttributeMaxLength() const; const std::vector &getAttributes() const; GLint getFragDataLocation(const std::string &name) const; size_t getOutputResourceCount() const; const std::vector &getOutputVariableTypes() const; DrawBufferMask getActiveOutputVariables() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); return mState.mActiveOutputVariables; } GLint getFragDataIndex(const std::string &name) const; void getActiveUniform(GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) const; GLint getActiveUniformCount() const; size_t getActiveBufferVariableCount() const; GLint getActiveUniformMaxLength() const; bool isValidUniformLocation(GLint location) const; const LinkedUniform &getUniformByLocation(GLint location) const; const VariableLocation &getUniformLocation(GLint location) const; const std::vector &getUniformLocations() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); return mState.mUniformLocations; } const LinkedUniform &getUniformByIndex(GLuint index) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(index < static_cast(mState.mUniforms.size())); return mState.mUniforms[index]; } const BufferVariable &getBufferVariableByIndex(GLuint index) const; enum SetUniformResult { SamplerChanged, NoSamplerChange, }; GLint getUniformLocation(const std::string &name) const; GLuint getUniformIndex(const std::string &name) const; void setUniform1fv(GLint location, GLsizei count, const GLfloat *v); void setUniform2fv(GLint location, GLsizei count, const GLfloat *v); void setUniform3fv(GLint location, GLsizei count, const GLfloat *v); void setUniform4fv(GLint location, GLsizei count, const GLfloat *v); void setUniform1iv(Context *context, GLint location, GLsizei count, const GLint *v); void setUniform2iv(GLint location, GLsizei count, const GLint *v); void setUniform3iv(GLint location, GLsizei count, const GLint *v); void setUniform4iv(GLint location, GLsizei count, const GLint *v); void setUniform1uiv(GLint location, GLsizei count, const GLuint *v); void setUniform2uiv(GLint location, GLsizei count, const GLuint *v); void setUniform3uiv(GLint location, GLsizei count, const GLuint *v); void setUniform4uiv(GLint location, GLsizei count, const GLuint *v); void setUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void setUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void setUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void setUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void setUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void setUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void setUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void setUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void setUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void getUniformfv(const Context *context, GLint location, GLfloat *params) const; void getUniformiv(const Context *context, GLint location, GLint *params) const; void getUniformuiv(const Context *context, GLint location, GLuint *params) const; void getActiveUniformBlockName(const GLuint blockIndex, GLsizei bufSize, GLsizei *length, GLchar *blockName) const; void getActiveShaderStorageBlockName(const GLuint blockIndex, GLsizei bufSize, GLsizei *length, GLchar *blockName) const; inline __attribute__((always_inline)) GLuint getActiveUniformBlockCount() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); return static_cast(mState.mUniformBlocks.size()); } inline __attribute__((always_inline)) GLuint getActiveAtomicCounterBufferCount() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); return static_cast(mState.mAtomicCounterBuffers.size()); } inline __attribute__((always_inline)) GLuint getActiveShaderStorageBlockCount() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); return static_cast(mState.mShaderStorageBlocks.size()); } GLint getActiveUniformBlockMaxNameLength() const; GLint getActiveShaderStorageBlockMaxNameLength() const; GLuint getUniformBlockIndex(const std::string &name) const; GLuint getShaderStorageBlockIndex(const std::string &name) const; void bindUniformBlock(GLuint uniformBlockIndex, GLuint uniformBlockBinding); GLuint getUniformBlockBinding(GLuint uniformBlockIndex) const; GLuint getShaderStorageBlockBinding(GLuint shaderStorageBlockIndex) const; const InterfaceBlock &getUniformBlockByIndex(GLuint index) const; const InterfaceBlock &getShaderStorageBlockByIndex(GLuint index) const; void setTransformFeedbackVaryings(GLsizei count, const GLchar *const *varyings, GLenum bufferMode); void getTransformFeedbackVarying(GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) const; GLsizei getTransformFeedbackVaryingCount() const; GLsizei getTransformFeedbackVaryingMaxLength() const; GLenum getTransformFeedbackBufferMode() const; GLuint getTransformFeedbackVaryingResourceIndex(const GLchar *name) const; const TransformFeedbackVarying &getTransformFeedbackVaryingResource(GLuint index) const; bool hasDrawIDUniform() const; void setDrawIDUniform(GLint drawid); bool hasBaseVertexUniform() const; void setBaseVertexUniform(GLint baseVertex); bool hasBaseInstanceUniform() const; void setBaseInstanceUniform(GLuint baseInstance); inline __attribute__((always_inline)) void addRef() { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); mRefCount++; } inline __attribute__((always_inline)) void release(const Context *context) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); mRefCount--; if (mRefCount == 0 && mDeleteStatus) { deleteSelf(context); } } unsigned int getRefCount() const; bool isInUse() const { return getRefCount() != 0; } void flagForDeletion(); bool isFlaggedForDeletion() const; void validate(const Caps &caps); bool validateSamplers(InfoLog *infoLog, const Caps &caps) { if (infoLog == nullptr && mCachedValidateSamplersResult.valid()) { return mCachedValidateSamplersResult.value(); } return validateSamplersImpl(infoLog, caps); } bool isValidated() const; const AttributesMask &getActiveAttribLocationsMask() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); return mState.mActiveAttribLocationsMask; } const std::vector &getSamplerBindings() const; const std::vector &getImageBindings() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); return mState.mImageBindings; } const sh::WorkGroupSize &getComputeShaderLocalSize() const; PrimitiveMode getGeometryShaderInputPrimitiveType() const; PrimitiveMode getGeometryShaderOutputPrimitiveType() const; GLint getGeometryShaderInvocations() const; GLint getGeometryShaderMaxVertices() const; const ProgramState &getState() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); return mState; } static LinkMismatchError LinkValidateVariablesBase( const sh::ShaderVariable &variable1, const sh::ShaderVariable &variable2, bool validatePrecision, bool validateArraySize, std::string *mismatchedStructOrBlockMemberName); GLuint getInputResourceIndex(const GLchar *name) const; GLuint getOutputResourceIndex(const GLchar *name) const; void getInputResourceName(GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) const; void getOutputResourceName(GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) const; void getUniformResourceName(GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) const; void getBufferVariableResourceName(GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) const; const sh::ShaderVariable &getInputResource(size_t index) const; GLuint getResourceMaxNameSize(const sh::ShaderVariable &resource, GLint max) const; GLuint getInputResourceMaxNameSize() const; GLuint getOutputResourceMaxNameSize() const; GLuint getResourceLocation(const GLchar *name, const sh::ShaderVariable &variable) const; GLuint getInputResourceLocation(const GLchar *name) const; GLuint getOutputResourceLocation(const GLchar *name) const; const std::string getResourceName(const sh::ShaderVariable &resource) const; const std::string getInputResourceName(GLuint index) const; const std::string getOutputResourceName(GLuint index) const; const sh::ShaderVariable &getOutputResource(size_t index) const; const ProgramBindings &getAttributeBindings() const; const ProgramBindings &getFragmentInputBindings() const; const ProgramAliasedBindings &getUniformLocationBindings() const; int getNumViews() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mLinkResolved); return mState.getNumViews(); } bool usesMultiview() const { return mState.usesMultiview(); } ComponentTypeMask getDrawBufferTypeMask() const; ComponentTypeMask getAttributesTypeMask() const; AttributesMask getAttributesMask() const; const std::vector &getTransformFeedbackStrides() const; const ActiveTextureMask &getActiveSamplersMask() const { return mState.mActiveSamplersMask; } const ActiveTextureMask &getActiveImagesMask() const { return mState.mActiveImagesMask; } const ActiveTextureArray &getActiveSamplerTypes() const { return mState.mActiveSamplerTypes; } enum DirtyBitType { DIRTY_BIT_UNIFORM_BLOCK_BINDING_0, DIRTY_BIT_UNIFORM_BLOCK_BINDING_MAX = DIRTY_BIT_UNIFORM_BLOCK_BINDING_0 + IMPLEMENTATION_MAX_COMBINED_SHADER_UNIFORM_BUFFERS, DIRTY_BIT_COUNT = DIRTY_BIT_UNIFORM_BLOCK_BINDING_MAX, }; using DirtyBits = angle::BitSet; angle::Result syncState(const Context *context); void resolveLink(const Context *context) { if (!mLinkResolved) { resolveLinkImpl(context); } } inline __attribute__((always_inline)) bool hasAnyDirtyBit() const { return mDirtyBits.any(); } void serialize(const Context *context, angle::MemoryBuffer *binaryOut) const; private: struct LinkingState; ~Program() override; angle::Result deserialize(const Context *context, BinaryInputStream &stream, InfoLog &infoLog); void unlink(); void deleteSelf(const Context *context); bool linkValidateShaders(InfoLog &infoLog); bool linkAttributes(const Context *context, InfoLog &infoLog); bool linkInterfaceBlocks(const Caps &caps, const Version &version, bool webglCompatibility, InfoLog &infoLog, GLuint *combinedShaderStorageBlocksCount); bool linkVaryings(InfoLog &infoLog) const; bool linkUniforms(const Caps &caps, InfoLog &infoLog, const ProgramAliasedBindings &uniformLocationBindings, GLuint *combinedImageUniformsCount, std::vector *unusedUniforms); void linkSamplerAndImageBindings(GLuint *combinedImageUniformsCount); bool linkAtomicCounterBuffers(); void updateLinkedShaderStages(); static LinkMismatchError LinkValidateVaryings(const sh::ShaderVariable &outputVarying, const sh::ShaderVariable &inputVarying, int shaderVersion, bool validateGeometryShaderInputVarying, std::string *mismatchedStructFieldName); bool linkValidateShaderInterfaceMatching(Shader *generatingShader, Shader *consumingShader, InfoLog &infoLog) const; bool linkValidateFragmentInputBindings(InfoLog &infoLog) const; bool linkValidateBuiltInVaryings(InfoLog &infoLog) const; bool linkValidateTransformFeedback(const Version &version, InfoLog &infoLog, const ProgramMergedVaryings &linkedVaryings, const Caps &caps) const; bool linkValidateGlobalNames(InfoLog &infoLog) const; void gatherTransformFeedbackVaryings(const ProgramMergedVaryings &varyings); ProgramMergedVaryings getMergedVaryings() const; int getOutputLocationForLink(const sh::ShaderVariable &outputVariable) const; bool isOutputSecondaryForLink(const sh::ShaderVariable &outputVariable) const; bool linkOutputVariables(const Caps &caps, const Extensions &extensions, const Version &version, GLuint combinedImageUniformsCount, GLuint combinedShaderStorageBlocksCount); void setUniformValuesFromBindingQualifiers(); void initInterfaceBlockBindings(); template GLsizei clampUniformCount(const VariableLocation &locationInfo, GLsizei count, int vectorSize, const T *v); template GLsizei clampMatrixUniformCount(GLint location, GLsizei count, GLboolean transpose, const T *v); void updateSamplerUniform(Context *context, const VariableLocation &locationInfo, GLsizei clampedCount, const GLint *v); template void getUniformInternal(const Context *context, DestT *dataOut, GLint location, GLenum nativeType, int components) const; void getResourceName(const std::string name, GLsizei bufSize, GLsizei *length, GLchar *dest) const; template GLint getActiveInterfaceBlockMaxNameLength(const std::vector &resources) const; GLuint getSamplerUniformBinding(const VariableLocation &uniformLocation) const; GLuint getImageUniformBinding(const VariableLocation &uniformLocation) const; bool validateSamplersImpl(InfoLog *infoLog, const Caps &caps); void resolveLinkImpl(const gl::Context *context); void postResolveLink(const gl::Context *context); ProgramState mState; rx::ProgramImpl *mProgram; bool mValidated; ProgramBindings mAttributeBindings; ProgramAliasedBindings mUniformLocationBindings; ProgramBindings mFragmentInputBindings; ProgramAliasedBindings mFragmentOutputLocations; ProgramAliasedBindings mFragmentOutputIndexes; bool mLinked; bool mLinkResolved; std::unique_ptr mLinkingState; bool mDeleteStatus; unsigned int mRefCount; ShaderProgramManager *mResourceManager; const ShaderProgramID mHandle; InfoLog mInfoLog; Optional mCachedValidateSamplersResult; DirtyBits mDirtyBits; }; } # 22 "../../third_party/angle/src/libANGLE/State.h" 2 # 1 "../../third_party/angle/src/libANGLE/ProgramPipeline.h" 1 # 20 "../../third_party/angle/src/libANGLE/ProgramPipeline.h" namespace rx { class GLImplFactory; class ProgramPipelineImpl; } namespace gl { class Context; class ProgramPipeline; class ProgramPipelineState final : angle::NonCopyable { public: ProgramPipelineState(); ~ProgramPipelineState(); const std::string &getLabel() const; private: friend class ProgramPipeline; std::string mLabel; }; class ProgramPipeline final : public RefCountObject, public LabeledObject { public: ProgramPipeline(rx::GLImplFactory *factory, ProgramPipelineID handle); ~ProgramPipeline() override; void onDestroy(const Context *context) override; void setLabel(const Context *context, const std::string &label) override; const std::string &getLabel() const override; rx::ProgramPipelineImpl *getImplementation() const; private: std::unique_ptr mProgramPipeline; ProgramPipelineState mState; }; } # 23 "../../third_party/angle/src/libANGLE/State.h" 2 # 1 "../../third_party/angle/src/libANGLE/Renderbuffer.h" 1 # 18 "../../third_party/angle/src/libANGLE/Renderbuffer.h" # 1 "../../third_party/angle/src/libANGLE/FramebufferAttachment.h" 1 # 16 "../../third_party/angle/src/libANGLE/FramebufferAttachment.h" # 1 "../../third_party/angle/src/libANGLE/ImageIndex.h" 1 # 17 "../../third_party/angle/src/libANGLE/ImageIndex.h" namespace gl { class ImageIndexIterator; class ImageIndex { public: ImageIndex(); ImageIndex(const ImageIndex &other); ImageIndex &operator=(const ImageIndex &other); TextureType getType() const { return mType; } GLint getLevelIndex() const { return mLevelIndex; } GLint getLayerIndex() const { return mLayerIndex; } GLint getLayerCount() const { return mLayerCount; } bool hasLayer() const; bool has3DLayer() const; bool usesTex3D() const; GLint cubeMapFaceIndex() const; bool valid() const; TextureTarget getTarget() const; TextureTarget getTargetOrFirstCubeFace() const; bool isLayered() const; bool isEntireLevelCubeMap() const; static ImageIndex Make2D(GLint levelIndex); static ImageIndex MakeRectangle(GLint levelIndex); static ImageIndex MakeCubeMapFace(TextureTarget target, GLint levelIndex); static ImageIndex Make2DArray(GLint levelIndex, GLint layerIndex = kEntireLevel); static ImageIndex Make2DArrayRange(GLint levelIndex, GLint layerIndex, GLint layerCount); static ImageIndex Make3D(GLint levelIndex, GLint layerIndex = kEntireLevel); static ImageIndex MakeFromTarget(TextureTarget target, GLint levelIndex, GLint depth); static ImageIndex MakeFromType(TextureType type, GLint levelIndex, GLint layerIndex = kEntireLevel, GLint layerCount = 1); static ImageIndex Make2DMultisample(); static ImageIndex Make2DMultisampleArray(GLint layerIndex = kEntireLevel); static ImageIndex Make2DMultisampleArrayRange(GLint layerIndex, GLint layerCount); static constexpr GLint kEntireLevel = static_cast(-1); bool operator<(const ImageIndex &b) const; bool operator==(const ImageIndex &b) const; bool operator!=(const ImageIndex &b) const; ImageIndexIterator getLayerIterator(GLint layerCount) const; private: friend class ImageIndexIterator; ImageIndex(TextureType type, GLint leveIndex, GLint layerIndex, GLint layerCount); TextureType mType; GLint mLevelIndex; GLint mLayerIndex; GLint mLayerCount; }; # 90 "../../third_party/angle/src/libANGLE/ImageIndex.h" class ImageIndexIterator { public: ImageIndexIterator(const ImageIndexIterator &other); static ImageIndexIterator Make2D(GLint minMip, GLint maxMip); static ImageIndexIterator MakeRectangle(GLint minMip, GLint maxMip); static ImageIndexIterator MakeCube(GLint minMip, GLint maxMip); static ImageIndexIterator Make3D(GLint minMip, GLint maxMip, GLint minLayer, GLint maxLayer); static ImageIndexIterator Make2DArray(GLint minMip, GLint maxMip, const GLsizei *layerCounts); static ImageIndexIterator Make2DMultisample(); static ImageIndexIterator Make2DMultisampleArray(const GLsizei *layerCounts); static ImageIndexIterator MakeGeneric(TextureType type, GLint minMip, GLint maxMip, GLint minLayer, GLint maxLayer); ImageIndex next(); ImageIndex current() const; bool hasNext() const; private: ImageIndexIterator(TextureType type, const Range &mipRange, const Range &layerRange, const GLsizei *layerCounts); GLint maxLayer() const; const Range mMipRange; const Range mLayerRange; const GLsizei *const mLayerCounts; ImageIndex mCurrentIndex; }; TextureTarget TextureTypeToTarget(TextureType type, GLint layerIndex); } # 17 "../../third_party/angle/src/libANGLE/FramebufferAttachment.h" 2 # 1 "../../third_party/angle/src/libANGLE/formatutils.h" 1 # 20 "../../third_party/angle/src/libANGLE/formatutils.h" # 1 "../../third_party/angle/src/libANGLE/VertexAttribute.h" 1 # 12 "../../third_party/angle/src/libANGLE/VertexAttribute.h" # 1 "../../third_party/angle/src/libANGLE/Buffer.h" 1 # 18 "../../third_party/angle/src/libANGLE/Buffer.h" # 1 "../../third_party/angle/src/libANGLE/IndexRangeCache.h" 1 # 20 "../../third_party/angle/src/libANGLE/IndexRangeCache.h" namespace gl { class IndexRangeCache { public: IndexRangeCache(); ~IndexRangeCache(); void addRange(DrawElementsType type, size_t offset, size_t count, bool primitiveRestartEnabled, const IndexRange &range); bool findRange(DrawElementsType type, size_t offset, size_t count, bool primitiveRestartEnabled, IndexRange *outRange) const; void invalidateRange(size_t offset, size_t size); void clear(); private: struct IndexRangeKey { IndexRangeKey(); IndexRangeKey(DrawElementsType type, size_t offset, size_t count, bool primitiveRestart); bool operator<(const IndexRangeKey &rhs) const; DrawElementsType type; size_t offset; size_t count; bool primitiveRestartEnabled; }; typedef std::map IndexRangeMap; IndexRangeMap mIndexRangeCache; }; } # 19 "../../third_party/angle/src/libANGLE/Buffer.h" 2 namespace rx { class BufferImpl; class GLImplFactory; } namespace gl { class Buffer; class Context; class BufferState final : angle::NonCopyable { public: BufferState(); ~BufferState(); BufferUsage getUsage() const { return mUsage; } GLbitfield getAccessFlags() const { return mAccessFlags; } GLenum getAccess() const { return mAccess; } GLboolean isMapped() const { return mMapped; } void *getMapPointer() const { return mMapPointer; } GLint64 getMapOffset() const { return mMapOffset; } GLint64 getMapLength() const { return mMapLength; } GLint64 getSize() const { return mSize; } bool isBoundForTransformFeedback() const { return mTransformFeedbackIndexedBindingCount != 0; } private: friend class Buffer; std::string mLabel; BufferUsage mUsage; GLint64 mSize; GLbitfield mAccessFlags; GLenum mAccess; GLboolean mMapped; void *mMapPointer; GLint64 mMapOffset; GLint64 mMapLength; int mBindingCount; int mTransformFeedbackIndexedBindingCount; int mTransformFeedbackGenericBindingCount; }; class Buffer final : public RefCountObject, public LabeledObject, public angle::ObserverInterface, public angle::Subject { public: Buffer(rx::GLImplFactory *factory, BufferID id); ~Buffer() override; void onDestroy(const Context *context) override; void setLabel(const Context *context, const std::string &label) override; const std::string &getLabel() const override; angle::Result bufferData(Context *context, BufferBinding target, const void *data, GLsizeiptr size, BufferUsage usage); angle::Result bufferSubData(const Context *context, BufferBinding target, const void *data, GLsizeiptr size, GLintptr offset); angle::Result copyBufferSubData(const Context *context, Buffer *source, GLintptr sourceOffset, GLintptr destOffset, GLsizeiptr size); angle::Result map(const Context *context, GLenum access); angle::Result mapRange(const Context *context, GLintptr offset, GLsizeiptr length, GLbitfield access); angle::Result unmap(const Context *context, GLboolean *result); void onDataChanged(); angle::Result getIndexRange(const gl::Context *context, DrawElementsType type, size_t offset, size_t count, bool primitiveRestartEnabled, IndexRange *outRange) const; BufferUsage getUsage() const { return mState.mUsage; } GLbitfield getAccessFlags() const { return mState.mAccessFlags; } GLenum getAccess() const { return mState.mAccess; } GLboolean isMapped() const { return mState.mMapped; } void *getMapPointer() const { return mState.mMapPointer; } GLint64 getMapOffset() const { return mState.mMapOffset; } GLint64 getMapLength() const { return mState.mMapLength; } GLint64 getSize() const { return mState.mSize; } GLint64 getMemorySize() const; rx::BufferImpl *getImplementation() const { return mImpl; } inline __attribute__((always_inline)) bool isBound() const { return mState.mBindingCount > 0; } inline __attribute__((always_inline)) bool isBoundForTransformFeedbackAndOtherUse() const { return mState.mTransformFeedbackIndexedBindingCount > 0 && mState.mTransformFeedbackIndexedBindingCount != mState.mBindingCount - mState.mTransformFeedbackGenericBindingCount; } bool isDoubleBoundForTransformFeedback() const; void onTFBindingChanged(const Context *context, bool bound, bool indexed); void onNonTFBindingChanged(int incr) { mState.mBindingCount += incr; } void onSubjectStateChange(angle::SubjectIndex index, angle::SubjectMessage message) override; private: BufferState mState; rx::BufferImpl *mImpl; angle::ObserverBinding mImplObserver; mutable IndexRangeCache mIndexRangeCache; }; } # 13 "../../third_party/angle/src/libANGLE/VertexAttribute.h" 2 namespace gl { class VertexArray; class VertexBinding final : angle::NonCopyable { public: VertexBinding(); explicit VertexBinding(GLuint boundAttribute); VertexBinding(VertexBinding &&binding); ~VertexBinding(); VertexBinding &operator=(VertexBinding &&binding); GLuint getStride() const { return mStride; } void setStride(GLuint strideIn) { mStride = strideIn; } GLuint getDivisor() const { return mDivisor; } void setDivisor(GLuint divisorIn) { mDivisor = divisorIn; } GLintptr getOffset() const { return mOffset; } void setOffset(GLintptr offsetIn) { mOffset = offsetIn; } const BindingPointer &getBuffer() const { return mBuffer; } inline __attribute__((always_inline)) void setBuffer(const gl::Context *context, Buffer *bufferIn) { mBuffer.set(context, bufferIn); } inline __attribute__((always_inline)) void assignBuffer(Buffer *bufferIn) { mBuffer.assign(bufferIn); } void onContainerBindingChanged(const Context *context, int incr) const; const AttributesMask &getBoundAttributesMask() const { return mBoundAttributesMask; } void setBoundAttribute(size_t index) { mBoundAttributesMask.set(index); } void resetBoundAttribute(size_t index) { mBoundAttributesMask.reset(index); } private: GLuint mStride; GLuint mDivisor; GLintptr mOffset; BindingPointer mBuffer; AttributesMask mBoundAttributesMask; }; struct VertexAttribute final : private angle::NonCopyable { explicit VertexAttribute(GLuint bindingIndex); VertexAttribute(VertexAttribute &&attrib); VertexAttribute &operator=(VertexAttribute &&attrib); void updateCachedElementLimit(const VertexBinding &binding); GLint64 getCachedElementLimit() const { return mCachedElementLimit; } bool enabled; const angle::Format *format; const void *pointer; GLuint relativeOffset; GLuint vertexAttribArrayStride; GLuint bindingIndex; static constexpr GLint64 kIntegerOverflow = std::numeric_limits::min(); private: GLint64 mCachedElementLimit; }; inline __attribute__((always_inline)) size_t ComputeVertexAttributeTypeSize(const VertexAttribute &attrib) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(attrib.format); return attrib.format->pixelBytes; } size_t ComputeVertexAttributeStride(const VertexAttribute &attrib, const VertexBinding &binding); GLintptr ComputeVertexAttributeOffset(const VertexAttribute &attrib, const VertexBinding &binding); size_t ComputeVertexBindingElementCount(GLuint divisor, size_t drawCount, size_t instanceCount); struct VertexAttribCurrentValueData { union { GLfloat FloatValues[4]; GLint IntValues[4]; GLuint UnsignedIntValues[4]; } Values; VertexAttribType Type; VertexAttribCurrentValueData(); void setFloatValues(const GLfloat floatValues[4]); void setIntValues(const GLint intValues[4]); void setUnsignedIntValues(const GLuint unsignedIntValues[4]); }; bool operator==(const VertexAttribCurrentValueData &a, const VertexAttribCurrentValueData &b); bool operator!=(const VertexAttribCurrentValueData &a, const VertexAttribCurrentValueData &b); } # 1 "../../third_party/angle/src/libANGLE/VertexAttribute.inc" 1 # 9 "../../third_party/angle/src/libANGLE/VertexAttribute.inc" namespace gl { inline VertexAttribCurrentValueData::VertexAttribCurrentValueData() : Type(gl::VertexAttribType::Float) { Values.FloatValues[0] = 0.0f; Values.FloatValues[1] = 0.0f; Values.FloatValues[2] = 0.0f; Values.FloatValues[3] = 1.0f; } inline void VertexAttribCurrentValueData::setFloatValues(const GLfloat floatValues[4]) { for (unsigned int valueIndex = 0; valueIndex < 4; valueIndex++) { Values.FloatValues[valueIndex] = floatValues[valueIndex]; } Type = gl::VertexAttribType::Float; } inline void VertexAttribCurrentValueData::setIntValues(const GLint intValues[4]) { for (unsigned int valueIndex = 0; valueIndex < 4; valueIndex++) { Values.IntValues[valueIndex] = intValues[valueIndex]; } Type = gl::VertexAttribType::Int; } inline void VertexAttribCurrentValueData::setUnsignedIntValues(const GLuint unsignedIntValues[4]) { for (unsigned int valueIndex = 0; valueIndex < 4; valueIndex++) { Values.UnsignedIntValues[valueIndex] = unsignedIntValues[valueIndex]; } Type = gl::VertexAttribType::UnsignedInt; } inline bool operator==(const VertexAttribCurrentValueData &a, const VertexAttribCurrentValueData &b) { return (a.Type == b.Type && memcmp(&a.Values, &b.Values, sizeof(VertexAttribCurrentValueData::Values)) == 0); } inline bool operator!=(const VertexAttribCurrentValueData &a, const VertexAttribCurrentValueData &b) { return !(a == b); } } # 138 "../../third_party/angle/src/libANGLE/VertexAttribute.h" 2 # 21 "../../third_party/angle/src/libANGLE/formatutils.h" 2 namespace gl { struct VertexAttribute; struct FormatType final { FormatType(); FormatType(GLenum format_, GLenum type_); FormatType(const FormatType &other) = default; FormatType &operator=(const FormatType &other) = default; bool operator<(const FormatType &other) const; GLenum format; GLenum type; }; struct Type { Type() : bytes(0), bytesShift(0), specialInterpretation(0) {} explicit Type(uint32_t packedTypeInfo) : bytes(packedTypeInfo & 0xff), bytesShift((packedTypeInfo >> 8) & 0xff), specialInterpretation((packedTypeInfo >> 16) & 1) {} GLuint bytes; GLuint bytesShift; bool specialInterpretation; }; uint32_t GetPackedTypeInfo(GLenum type); inline __attribute__((always_inline)) const Type GetTypeInfo(GLenum type) { return Type(GetPackedTypeInfo(type)); } static_assert(static_cast(DrawElementsType::UnsignedByte) == 0, "Please update this code."); static_assert(static_cast(DrawElementsType::UnsignedShort) == 1, "Please update this code."); static_assert(static_cast(DrawElementsType::UnsignedInt) == 2, "Please update this code."); inline __attribute__((always_inline)) GLuint GetDrawElementsTypeSize(DrawElementsType type) { return (1 << static_cast(type)); } inline __attribute__((always_inline)) GLuint GetDrawElementsTypeShift(DrawElementsType type) { return static_cast(type); } struct InternalFormat { InternalFormat(); InternalFormat(const InternalFormat &other); GLuint computePixelBytes(GLenum formatType) const; [[nodiscard]] bool computeRowPitch(GLenum formatType, GLsizei width, GLint alignment, GLint rowLength, GLuint *resultOut) const; [[nodiscard]] bool computeDepthPitch(GLsizei height, GLint imageHeight, GLuint rowPitch, GLuint *resultOut) const; [[nodiscard]] bool computeDepthPitch(GLenum formatType, GLsizei width, GLsizei height, GLint alignment, GLint rowLength, GLint imageHeight, GLuint *resultOut) const; [[nodiscard]] bool computeCompressedImageSize(const Extents &size, GLuint *resultOut) const; [[nodiscard]] bool computeSkipBytes(GLenum formatType, GLuint rowPitch, GLuint depthPitch, const PixelStoreStateBase &state, bool is3D, GLuint *resultOut) const; [[nodiscard]] bool computePackUnpackEndByte(GLenum formatType, const Extents &size, const PixelStoreStateBase &state, bool is3D, GLuint *resultOut) const; bool isLUMA() const; GLenum getReadPixelsFormat(const Extensions &extensions) const; GLenum getReadPixelsType(const Version &version) const; bool supportSubImage() const; bool isRequiredRenderbufferFormat(const Version &version) const; bool isInt() const; bool isDepthOrStencil() const; bool operator==(const InternalFormat &other) const; bool operator!=(const InternalFormat &other) const; GLenum internalFormat; bool sized; GLenum sizedInternalFormat; GLuint redBits; GLuint greenBits; GLuint blueBits; GLuint luminanceBits; GLuint alphaBits; GLuint sharedBits; GLuint depthBits; GLuint stencilBits; GLuint pixelBytes; GLuint componentCount; bool compressed; GLuint compressedBlockWidth; GLuint compressedBlockHeight; GLuint compressedBlockDepth; GLenum format; GLenum type; GLenum componentType; GLenum colorEncoding; typedef bool (*SupportCheckFunction)(const Version &, const Extensions &); SupportCheckFunction textureSupport; SupportCheckFunction filterSupport; SupportCheckFunction textureAttachmentSupport; SupportCheckFunction renderbufferSupport; }; struct Format { explicit Format(GLenum internalFormat); explicit Format(const InternalFormat &internalFormat); Format(GLenum internalFormat, GLenum type); Format(const Format &other); Format &operator=(const Format &other); bool valid() const; static Format Invalid(); static bool SameSized(const Format &a, const Format &b); static bool EquivalentForBlit(const Format &a, const Format &b); friend std::ostream &operator<<(std::ostream &os, const Format &fmt); const InternalFormat *info; }; const InternalFormat &GetSizedInternalFormatInfo(GLenum internalFormat); const InternalFormat &GetInternalFormatInfo(GLenum internalFormat, GLenum type); GLenum GetUnsizedFormat(GLenum internalFormat); bool CompressedFormatRequiresWholeImage(GLenum internalFormat); typedef std::set FormatSet; const FormatSet &GetAllSizedInternalFormats(); enum AttributeType { ATTRIBUTE_FLOAT, ATTRIBUTE_VEC2, ATTRIBUTE_VEC3, ATTRIBUTE_VEC4, ATTRIBUTE_INT, ATTRIBUTE_IVEC2, ATTRIBUTE_IVEC3, ATTRIBUTE_IVEC4, ATTRIBUTE_UINT, ATTRIBUTE_UVEC2, ATTRIBUTE_UVEC3, ATTRIBUTE_UVEC4, ATTRIBUTE_MAT2, ATTRIBUTE_MAT3, ATTRIBUTE_MAT4, ATTRIBUTE_MAT2x3, ATTRIBUTE_MAT2x4, ATTRIBUTE_MAT3x2, ATTRIBUTE_MAT3x4, ATTRIBUTE_MAT4x2, ATTRIBUTE_MAT4x3, }; AttributeType GetAttributeType(GLenum enumValue); typedef std::vector InputLayout; struct VertexFormat : private angle::NonCopyable { VertexFormat(GLenum typeIn, GLboolean normalizedIn, GLuint componentsIn, bool pureIntegerIn); GLenum type; GLboolean normalized; GLuint components; bool pureInteger; }; angle::FormatID GetVertexFormatID(VertexAttribType type, GLboolean normalized, GLuint components, bool pureInteger); angle::FormatID GetVertexFormatID(const VertexAttribute &attrib, VertexAttribType currentValueType); angle::FormatID GetCurrentValueFormatID(VertexAttribType currentValueType); const VertexFormat &GetVertexFormatFromID(angle::FormatID vertexFormatID); size_t GetVertexFormatSize(angle::FormatID vertexFormatID); bool ValidES3InternalFormat(GLenum internalFormat); bool ValidES3Format(GLenum format); bool ValidES3Type(GLenum type); bool ValidES3FormatCombination(GLenum format, GLenum type, GLenum internalFormat); bool ValidDesktopFormat(GLenum format); bool ValidDesktopType(GLenum type); bool ValidDesktopFormatCombination(GLenum format, GLenum type, GLenum internalFormat); bool ValidES3CopyConversion(GLenum textureFormat, GLenum framebufferFormat); inline __attribute__((always_inline)) ComponentType GetVertexAttributeComponentType(bool pureInteger, VertexAttribType type) { if (pureInteger) { switch (type) { case VertexAttribType::Byte: case VertexAttribType::Short: case VertexAttribType::Int: return ComponentType::Int; case VertexAttribType::UnsignedByte: case VertexAttribType::UnsignedShort: case VertexAttribType::UnsignedInt: return ComponentType::UnsignedInt; default: do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); return ComponentType::NoType; } } else { return ComponentType::Float; } } } # 19 "../../third_party/angle/src/libANGLE/FramebufferAttachment.h" 2 # 1 "../../third_party/angle/src/libANGLE/renderer/FramebufferAttachmentObjectImpl.h" 1 # 17 "../../third_party/angle/src/libANGLE/renderer/FramebufferAttachmentObjectImpl.h" namespace gl { class Context; } namespace rx { class FramebufferAttachmentRenderTarget; class FramebufferAttachmentObjectImpl : angle::NonCopyable { public: FramebufferAttachmentObjectImpl() {} virtual ~FramebufferAttachmentObjectImpl() {} virtual angle::Result getAttachmentRenderTarget(const gl::Context *context, GLenum binding, const gl::ImageIndex &imageIndex, GLsizei samples, FramebufferAttachmentRenderTarget **rtOut); virtual angle::Result initializeContents(const gl::Context *context, const gl::ImageIndex &imageIndex); }; inline angle::Result FramebufferAttachmentObjectImpl::getAttachmentRenderTarget( const gl::Context *context, GLenum binding, const gl::ImageIndex &imageIndex, GLsizei samples, FramebufferAttachmentRenderTarget **rtOut) { do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(1); } while (0); return angle::Result::Stop; } inline angle::Result FramebufferAttachmentObjectImpl::initializeContents( const gl::Context *context, const gl::ImageIndex &imageIndex) { do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(1); } while (0); return angle::Result::Stop; } } # 20 "../../third_party/angle/src/libANGLE/FramebufferAttachment.h" 2 namespace egl { class Surface; } namespace rx { class FramebufferAttachmentRenderTarget : angle::NonCopyable { public: FramebufferAttachmentRenderTarget() {} virtual ~FramebufferAttachmentRenderTarget() {} }; class FramebufferAttachmentObjectImpl; } namespace gl { class FramebufferAttachmentObject; class Renderbuffer; class Texture; enum class InitState { MayNeedInit, Initialized, }; class FramebufferAttachment final { public: FramebufferAttachment(); FramebufferAttachment(const Context *context, GLenum type, GLenum binding, const ImageIndex &textureIndex, FramebufferAttachmentObject *resource); FramebufferAttachment(FramebufferAttachment &&other); FramebufferAttachment &operator=(FramebufferAttachment &&other); ~FramebufferAttachment(); void detach(const Context *context); void attach(const Context *context, GLenum type, GLenum binding, const ImageIndex &textureIndex, FramebufferAttachmentObject *resource, GLsizei numViews, GLuint baseViewIndex, bool isMultiview, GLsizei samples); GLuint getRedSize() const; GLuint getGreenSize() const; GLuint getBlueSize() const; GLuint getAlphaSize() const; GLuint getDepthSize() const; GLuint getStencilSize() const; GLenum getComponentType() const; GLenum getColorEncoding() const; bool isTextureWithId(TextureID textureId) const { return mType == 0x1702 && id() == textureId.value; } bool isRenderbufferWithId(GLuint renderbufferId) const { return mType == 0x8D41 && id() == renderbufferId; } GLenum getBinding() const { return mTarget.binding(); } GLuint id() const; const ImageIndex &getTextureImageIndex() const; TextureTarget cubeMapFace() const; GLint mipLevel() const; GLint layer() const; bool isLayered() const; GLsizei getNumViews() const { return mNumViews; } bool isMultiview() const; GLint getBaseViewIndex() const; GLsizei getRenderToTextureSamples() const { return mRenderToTextureSamples; } Extents getSize() const; Format getFormat() const; GLsizei getSamples() const; GLsizei getResourceSamples() const; GLenum type() const { return mType; } bool isAttached() const { return mType != 0; } bool isRenderable(const Context *context) const; Renderbuffer *getRenderbuffer() const; Texture *getTexture() const; const egl::Surface *getSurface() const; FramebufferAttachmentObject *getResource() const; InitState initState() const; angle::Result initializeContents(const Context *context); void setInitState(InitState initState) const; template angle::Result getRenderTarget(const Context *context, GLsizei samples, T **rtOut) const { static_assert(std::is_base_of(), "Invalid RenderTarget class."); return getRenderTargetImpl( context, samples, reinterpret_cast(rtOut)); } bool operator==(const FramebufferAttachment &other) const; bool operator!=(const FramebufferAttachment &other) const; static const GLsizei kDefaultNumViews; static const GLint kDefaultBaseViewIndex; static const GLint kDefaultRenderToTextureSamples; private: angle::Result getRenderTargetImpl(const Context *context, GLsizei samples, rx::FramebufferAttachmentRenderTarget **rtOut) const; class Target { public: Target(); Target(GLenum binding, const ImageIndex &imageIndex); Target(const Target &other); Target &operator=(const Target &other); GLenum binding() const { return mBinding; } const ImageIndex &textureIndex() const { return mTextureIndex; } private: GLenum mBinding; ImageIndex mTextureIndex; }; GLenum mType; Target mTarget; FramebufferAttachmentObject *mResource; GLsizei mNumViews; bool mIsMultiview; GLint mBaseViewIndex; GLsizei mRenderToTextureSamples; }; class FramebufferAttachmentObject : public angle::Subject { public: FramebufferAttachmentObject(); ~FramebufferAttachmentObject() override; virtual Extents getAttachmentSize(const ImageIndex &imageIndex) const = 0; virtual Format getAttachmentFormat(GLenum binding, const ImageIndex &imageIndex) const = 0; virtual GLsizei getAttachmentSamples(const ImageIndex &imageIndex) const = 0; virtual bool isRenderable(const Context *context, GLenum binding, const ImageIndex &imageIndex) const = 0; virtual void onAttach(const Context *context) = 0; virtual void onDetach(const Context *context) = 0; virtual GLuint getId() const = 0; virtual InitState initState(const ImageIndex &imageIndex) const = 0; virtual void setInitState(const ImageIndex &imageIndex, InitState initState) = 0; angle::Result getAttachmentRenderTarget(const Context *context, GLenum binding, const ImageIndex &imageIndex, GLsizei samples, rx::FramebufferAttachmentRenderTarget **rtOut) const; angle::Result initializeContents(const Context *context, const ImageIndex &imageIndex); protected: virtual rx::FramebufferAttachmentObjectImpl *getAttachmentImpl() const = 0; }; inline const ImageIndex &FramebufferAttachment::getTextureImageIndex() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(type() == 0x1702); return mTarget.textureIndex(); } inline Extents FramebufferAttachment::getSize() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mResource); return mResource->getAttachmentSize(mTarget.textureIndex()); } inline Format FramebufferAttachment::getFormat() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mResource); return mResource->getAttachmentFormat(mTarget.binding(), mTarget.textureIndex()); } inline GLsizei FramebufferAttachment::getSamples() const { return (mRenderToTextureSamples != kDefaultRenderToTextureSamples) ? getRenderToTextureSamples() : getResourceSamples(); } inline GLsizei FramebufferAttachment::getResourceSamples() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mResource); return mResource->getAttachmentSamples(mTarget.textureIndex()); } inline angle::Result FramebufferAttachment::getRenderTargetImpl( const Context *context, GLsizei samples, rx::FramebufferAttachmentRenderTarget **rtOut) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mResource); return mResource->getAttachmentRenderTarget(context, mTarget.binding(), mTarget.textureIndex(), samples, rtOut); } inline bool FramebufferAttachment::isRenderable(const Context *context) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mResource); return mResource->isRenderable(context, mTarget.binding(), mTarget.textureIndex()); } } # 19 "../../third_party/angle/src/libANGLE/Renderbuffer.h" 2 # 1 "../../third_party/angle/src/libANGLE/Image.h" 1 # 22 "../../third_party/angle/src/libANGLE/Image.h" namespace rx { class EGLImplFactory; class ImageImpl; class ExternalImageSiblingImpl; constexpr size_t kTextureImageImplObserverMessageIndex = 0; constexpr size_t kTextureImageSiblingMessageIndex = 1; } namespace egl { class Image; class Display; class ImageSibling : public gl::FramebufferAttachmentObject, public angle::ObserverInterface { public: ImageSibling(); ~ImageSibling() override; bool isEGLImageTarget() const; gl::InitState sourceEGLImageInitState() const; void setSourceEGLImageInitState(gl::InitState initState) const; bool isRenderable(const gl::Context *context, GLenum binding, const gl::ImageIndex &imageIndex) const override; void onSubjectStateChange(angle::SubjectIndex index, angle::SubjectMessage message) override { } protected: void setTargetImage(const gl::Context *context, egl::Image *imageTarget); angle::Result orphanImages(const gl::Context *context); void notifySiblings(angle::SubjectMessage message); private: friend class Image; void addImageSource(egl::Image *imageSource); void removeImageSource(egl::Image *imageSource); std::set mSourcesOf; BindingPointer mTargetOf; }; class ExternalImageSibling : public ImageSibling { public: ExternalImageSibling(rx::EGLImplFactory *factory, const gl::Context *context, EGLenum target, EGLClientBuffer buffer, const AttributeMap &attribs); ~ExternalImageSibling() override; void onDestroy(const egl::Display *display); Error initialize(const Display *display); gl::Extents getAttachmentSize(const gl::ImageIndex &imageIndex) const override; gl::Format getAttachmentFormat(GLenum binding, const gl::ImageIndex &imageIndex) const override; GLsizei getAttachmentSamples(const gl::ImageIndex &imageIndex) const override; bool isRenderable(const gl::Context *context, GLenum binding, const gl::ImageIndex &imageIndex) const override; bool isTextureable(const gl::Context *context) const; void onAttach(const gl::Context *context) override; void onDetach(const gl::Context *context) override; GLuint getId() const override; gl::InitState initState(const gl::ImageIndex &imageIndex) const override; void setInitState(const gl::ImageIndex &imageIndex, gl::InitState initState) override; rx::ExternalImageSiblingImpl *getImplementation() const; protected: rx::FramebufferAttachmentObjectImpl *getAttachmentImpl() const override; private: std::unique_ptr mImplementation; }; struct ImageState : private angle::NonCopyable { ImageState(EGLenum target, ImageSibling *buffer, const AttributeMap &attribs); ~ImageState(); EGLLabelKHR label; EGLenum target; gl::ImageIndex imageIndex; ImageSibling *source; std::set targets; gl::Format format; gl::Extents size; size_t samples; EGLenum sourceType; }; class Image final : public RefCountObject, public LabeledObject { public: Image(rx::EGLImplFactory *factory, const gl::Context *context, EGLenum target, ImageSibling *buffer, const AttributeMap &attribs); void onDestroy(const Display *display) override; ~Image() override; void setLabel(EGLLabelKHR label) override; EGLLabelKHR getLabel() const override; const gl::Format &getFormat() const; bool isRenderable(const gl::Context *context) const; bool isTexturable(const gl::Context *context) const; size_t getWidth() const; size_t getHeight() const; size_t getSamples() const; Error initialize(const Display *display); rx::ImageImpl *getImplementation() const; bool orphaned() const; gl::InitState sourceInitState() const; void setInitState(gl::InitState initState); private: friend class ImageSibling; void addTargetSibling(ImageSibling *sibling); angle::Result orphanSibling(const gl::Context *context, ImageSibling *sibling); void notifySiblings(const ImageSibling *notifier, angle::SubjectMessage message); ImageState mState; rx::ImageImpl *mImplementation; bool mOrphanedAndNeedsInit; }; } # 20 "../../third_party/angle/src/libANGLE/Renderbuffer.h" 2 # 1 "../../third_party/angle/src/libANGLE/renderer/RenderbufferImpl.h" 1 # 17 "../../third_party/angle/src/libANGLE/renderer/RenderbufferImpl.h" namespace gl { struct PixelPackState; class RenderbufferState; } namespace egl { class Image; } namespace rx { class RenderbufferImpl : public FramebufferAttachmentObjectImpl { public: RenderbufferImpl(const gl::RenderbufferState &state) : mState(state) {} ~RenderbufferImpl() override {} virtual void onDestroy(const gl::Context *context) {} virtual angle::Result setStorage(const gl::Context *context, GLenum internalformat, size_t width, size_t height) = 0; virtual angle::Result setStorageMultisample(const gl::Context *context, size_t samples, GLenum internalformat, size_t width, size_t height) = 0; virtual angle::Result setStorageEGLImageTarget(const gl::Context *context, egl::Image *image) = 0; virtual GLenum getColorReadFormat(const gl::Context *context); virtual GLenum getColorReadType(const gl::Context *context); virtual angle::Result getRenderbufferImage(const gl::Context *context, const gl::PixelPackState &packState, gl::Buffer *packBuffer, GLenum format, GLenum type, void *pixels); virtual GLint getMemorySize() const; protected: const gl::RenderbufferState &mState; }; inline GLint RenderbufferImpl::getMemorySize() const { return 0; } inline GLenum RenderbufferImpl::getColorReadFormat(const gl::Context *context) { do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); return 0; } inline GLenum RenderbufferImpl::getColorReadType(const gl::Context *context) { do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); return 0; } inline angle::Result RenderbufferImpl::getRenderbufferImage(const gl::Context *context, const gl::PixelPackState &packState, gl::Buffer *packBuffer, GLenum format, GLenum type, void *pixels) { do { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(false); } while (0); return angle::Result::Stop; } } # 22 "../../third_party/angle/src/libANGLE/Renderbuffer.h" 2 namespace rx { class GLImplFactory; } namespace gl { class RenderbufferState final : angle::NonCopyable { public: RenderbufferState(); ~RenderbufferState(); GLsizei getWidth() const; GLsizei getHeight() const; const Format &getFormat() const; GLsizei getSamples() const; private: friend class Renderbuffer; void update(GLsizei width, GLsizei height, const Format &format, GLsizei samples, InitState initState); GLsizei mWidth; GLsizei mHeight; Format mFormat; GLsizei mSamples; InitState mInitState; }; class Renderbuffer final : public RefCountObject, public egl::ImageSibling, public LabeledObject { public: Renderbuffer(rx::GLImplFactory *implFactory, RenderbufferID id); ~Renderbuffer() override; void onDestroy(const Context *context) override; void setLabel(const Context *context, const std::string &label) override; const std::string &getLabel() const override; angle::Result setStorage(const Context *context, GLenum internalformat, size_t width, size_t height); angle::Result setStorageMultisample(const Context *context, size_t samples, GLenum internalformat, size_t width, size_t height); angle::Result setStorageEGLImageTarget(const Context *context, egl::Image *imageTarget); rx::RenderbufferImpl *getImplementation() const; GLsizei getWidth() const; GLsizei getHeight() const; const Format &getFormat() const; GLsizei getSamples() const; GLuint getRedSize() const; GLuint getGreenSize() const; GLuint getBlueSize() const; GLuint getAlphaSize() const; GLuint getDepthSize() const; GLuint getStencilSize() const; GLint getMemorySize() const; Extents getAttachmentSize(const ImageIndex &imageIndex) const override; Format getAttachmentFormat(GLenum binding, const ImageIndex &imageIndex) const override; GLsizei getAttachmentSamples(const ImageIndex &imageIndex) const override; bool isRenderable(const Context *context, GLenum binding, const ImageIndex &imageIndex) const override; void onAttach(const Context *context) override; void onDetach(const Context *context) override; GLuint getId() const override; InitState initState(const ImageIndex &imageIndex) const override; void setInitState(const ImageIndex &imageIndex, InitState initState) override; GLenum getImplementationColorReadFormat(const Context *context) const; GLenum getImplementationColorReadType(const Context *context) const; angle::Result getRenderbufferImage(const Context *context, const PixelPackState &packState, Buffer *packBuffer, GLenum format, GLenum type, void *pixels) const; private: rx::FramebufferAttachmentObjectImpl *getAttachmentImpl() const override; RenderbufferState mState; std::unique_ptr mImplementation; std::string mLabel; }; } # 25 "../../third_party/angle/src/libANGLE/State.h" 2 # 1 "../../third_party/angle/src/libANGLE/Sampler.h" 1 # 18 "../../third_party/angle/src/libANGLE/Sampler.h" namespace rx { class GLImplFactory; class SamplerImpl; } namespace gl { class Sampler final : public RefCountObject, public LabeledObject, public angle::Subject { public: Sampler(rx::GLImplFactory *factory, SamplerID id); ~Sampler() override; void onDestroy(const Context *context) override; void setLabel(const Context *context, const std::string &label) override; const std::string &getLabel() const override; void setMinFilter(const Context *context, GLenum minFilter); GLenum getMinFilter() const; void setMagFilter(const Context *context, GLenum magFilter); GLenum getMagFilter() const; void setWrapS(const Context *context, GLenum wrapS); GLenum getWrapS() const; void setWrapT(const Context *context, GLenum wrapT); GLenum getWrapT() const; void setWrapR(const Context *context, GLenum wrapR); GLenum getWrapR() const; void setMaxAnisotropy(const Context *context, float maxAnisotropy); float getMaxAnisotropy() const; void setMinLod(const Context *context, GLfloat minLod); GLfloat getMinLod() const; void setMaxLod(const Context *context, GLfloat maxLod); GLfloat getMaxLod() const; void setCompareMode(const Context *context, GLenum compareMode); GLenum getCompareMode() const; void setCompareFunc(const Context *context, GLenum compareFunc); GLenum getCompareFunc() const; void setSRGBDecode(const Context *context, GLenum sRGBDecode); GLenum getSRGBDecode() const; void setBorderColor(const Context *context, const ColorGeneric &color); const ColorGeneric &getBorderColor() const; const SamplerState &getSamplerState() const; rx::SamplerImpl *getImplementation() const; angle::Result syncState(const Context *context); bool isDirty() const { return mDirty; } private: void signalDirtyState(); SamplerState mState; bool mDirty; rx::SamplerImpl *mSampler; std::string mLabel; }; } # 26 "../../third_party/angle/src/libANGLE/State.h" 2 # 1 "../../third_party/angle/src/libANGLE/Texture.h" 1 # 26 "../../third_party/angle/src/libANGLE/Texture.h" # 1 "../../third_party/angle/src/libANGLE/Stream.h" 1 # 22 "../../third_party/angle/src/libANGLE/Stream.h" namespace rx { class StreamProducerImpl; } namespace gl { class Context; class Texture; } namespace egl { class Display; class Error; class Thread; class Stream final : public LabeledObject, angle::NonCopyable { public: Stream(Display *display, const AttributeMap &attribs); ~Stream() override; void setLabel(EGLLabelKHR label) override; EGLLabelKHR getLabel() const override; enum class ConsumerType { NoConsumer, GLTextureRGB, GLTextureYUV, }; enum class ProducerType { NoProducer, D3D11Texture, }; struct GLTextureDescription { unsigned int width; unsigned int height; unsigned int internalFormat; unsigned int mipLevels; }; EGLenum getState() const; void setConsumerLatency(EGLint latency); EGLint getConsumerLatency() const; EGLuint64KHR getProducerFrame() const; EGLuint64KHR getConsumerFrame() const; void setConsumerAcquireTimeout(EGLint timeout); EGLint getConsumerAcquireTimeout() const; ConsumerType getConsumerType() const; ProducerType getProducerType() const; EGLint getPlaneCount() const; rx::StreamProducerImpl *getImplementation(); Error createConsumerGLTextureExternal(const AttributeMap &attributes, gl::Context *context); Error createProducerD3D11Texture(const AttributeMap &attributes); Error consumerAcquire(const gl::Context *context); Error consumerRelease(const gl::Context *context); bool isConsumerBoundToContext(const gl::Context *context) const; Error validateD3D11Texture(void *texture, const AttributeMap &attributes) const; Error postD3D11Texture(void *texture, const AttributeMap &attributes); private: EGLLabelKHR mLabel; Display *mDisplay; rx::StreamProducerImpl *mProducerImplementation; gl::Context *mContext; EGLint mState; EGLuint64KHR mProducerFrame; EGLuint64KHR mConsumerFrame; EGLint mConsumerLatency; EGLint mConsumerAcquireTimeout; EGLint mPlaneCount; struct PlaneTexture { EGLint textureUnit; gl::Texture *texture; }; std::array mPlanes; ConsumerType mConsumerType; ProducerType mProducerType; friend class gl::Texture; void releaseTextures(); }; } # 27 "../../third_party/angle/src/libANGLE/Texture.h" 2 namespace egl { class Surface; class Stream; } namespace rx { class GLImplFactory; class TextureImpl; class TextureGL; } namespace gl { class Framebuffer; class MemoryObject; class Sampler; class State; class Texture; bool IsMipmapFiltered(const SamplerState &samplerState); struct ImageDesc final { ImageDesc(); ImageDesc(const Extents &size, const Format &format, const InitState initState); ImageDesc(const Extents &size, const Format &format, const GLsizei samples, const bool fixedSampleLocations, const InitState initState); ImageDesc(const ImageDesc &other) = default; ImageDesc &operator=(const ImageDesc &other) = default; GLint getMemorySize() const; Extents size; Format format; GLsizei samples; bool fixedSampleLocations; InitState initState; }; struct SwizzleState final { SwizzleState(); SwizzleState(GLenum red, GLenum green, GLenum blue, GLenum alpha); SwizzleState(const SwizzleState &other) = default; SwizzleState &operator=(const SwizzleState &other) = default; bool swizzleRequired() const; bool operator==(const SwizzleState &other) const; bool operator!=(const SwizzleState &other) const; GLenum swizzleRed; GLenum swizzleGreen; GLenum swizzleBlue; GLenum swizzleAlpha; }; class TextureState final : private angle::NonCopyable { public: TextureState(TextureType type); ~TextureState(); bool swizzleRequired() const; GLuint getEffectiveBaseLevel() const; GLuint getEffectiveMaxLevel() const; GLuint getMipmapMaxLevel() const; bool setBaseLevel(GLuint baseLevel); bool setMaxLevel(GLuint maxLevel); bool isCubeComplete() const; inline __attribute__((always_inline)) bool compatibleWithSamplerFormat(SamplerFormat format, const SamplerState &samplerState) const { if (!mCachedSamplerFormatValid || mCachedSamplerCompareMode != samplerState.getCompareMode()) { mCachedSamplerFormat = computeRequiredSamplerFormat(samplerState); mCachedSamplerCompareMode = samplerState.getCompareMode(); mCachedSamplerFormatValid = true; } return mCachedSamplerFormat == SamplerFormat::InvalidEnum || format == mCachedSamplerFormat; } const ImageDesc &getImageDesc(TextureTarget target, size_t level) const; const ImageDesc &getImageDesc(const ImageIndex &imageIndex) const; TextureType getType() const { return mType; } const SwizzleState &getSwizzleState() const { return mSwizzleState; } const SamplerState &getSamplerState() const { return mSamplerState; } GLenum getUsage() const { return mUsage; } GLenum getDepthStencilTextureMode() const { return mDepthStencilTextureMode; } bool isStencilMode() const { return mDepthStencilTextureMode == 0x1901; } const ImageDesc &getBaseLevelDesc() const; void setCrop(const gl::Rectangle &rect); const gl::Rectangle &getCrop() const; void setGenerateMipmapHint(GLenum hint); GLenum getGenerateMipmapHint() const; GLuint getEnabledLevelCount() const; private: friend class Texture; friend class rx::TextureGL; friend bool operator==(const TextureState &a, const TextureState &b); bool computeSamplerCompleteness(const SamplerState &samplerState, const State &data) const; bool computeMipmapCompleteness() const; bool computeLevelCompleteness(TextureTarget target, size_t level) const; SamplerFormat computeRequiredSamplerFormat(const SamplerState &samplerState) const; TextureTarget getBaseImageTarget() const; void setImageDesc(TextureTarget target, size_t level, const ImageDesc &desc); void setImageDescChain(GLuint baselevel, GLuint maxLevel, Extents baseSize, const Format &format, InitState initState); void setImageDescChainMultisample(Extents baseSize, const Format &format, GLsizei samples, bool fixedSampleLocations, InitState initState); void clearImageDesc(TextureTarget target, size_t level); void clearImageDescs(); const TextureType mType; SwizzleState mSwizzleState; SamplerState mSamplerState; GLuint mBaseLevel; GLuint mMaxLevel; GLenum mDepthStencilTextureMode; bool mBoundAsImageTexture; bool mImmutableFormat; GLuint mImmutableLevels; GLenum mUsage; std::vector mImageDescs; gl::Rectangle mCropRect; GLenum mGenerateMipmapHint; InitState mInitState; mutable SamplerFormat mCachedSamplerFormat; mutable GLenum mCachedSamplerCompareMode; mutable bool mCachedSamplerFormatValid; }; bool operator==(const TextureState &a, const TextureState &b); bool operator!=(const TextureState &a, const TextureState &b); class Texture final : public RefCountObject, public egl::ImageSibling, public LabeledObject { public: Texture(rx::GLImplFactory *factory, TextureID id, TextureType type); ~Texture() override; void onDestroy(const Context *context) override; void setLabel(const Context *context, const std::string &label) override; const std::string &getLabel() const override; TextureType getType() const { return mState.mType; } void setSwizzleRed(const Context *context, GLenum swizzleRed); GLenum getSwizzleRed() const; void setSwizzleGreen(const Context *context, GLenum swizzleGreen); GLenum getSwizzleGreen() const; void setSwizzleBlue(const Context *context, GLenum swizzleBlue); GLenum getSwizzleBlue() const; void setSwizzleAlpha(const Context *context, GLenum swizzleAlpha); GLenum getSwizzleAlpha() const; void setMinFilter(const Context *context, GLenum minFilter); GLenum getMinFilter() const; void setMagFilter(const Context *context, GLenum magFilter); GLenum getMagFilter() const; void setWrapS(const Context *context, GLenum wrapS); GLenum getWrapS() const; void setWrapT(const Context *context, GLenum wrapT); GLenum getWrapT() const; void setWrapR(const Context *context, GLenum wrapR); GLenum getWrapR() const; void setMaxAnisotropy(const Context *context, float maxAnisotropy); float getMaxAnisotropy() const; void setMinLod(const Context *context, GLfloat minLod); GLfloat getMinLod() const; void setMaxLod(const Context *context, GLfloat maxLod); GLfloat getMaxLod() const; void setCompareMode(const Context *context, GLenum compareMode); GLenum getCompareMode() const; void setCompareFunc(const Context *context, GLenum compareFunc); GLenum getCompareFunc() const; void setSRGBDecode(const Context *context, GLenum sRGBDecode); GLenum getSRGBDecode() const; const SamplerState &getSamplerState() const; angle::Result setBaseLevel(const Context *context, GLuint baseLevel); GLuint getBaseLevel() const; void setMaxLevel(const Context *context, GLuint maxLevel); GLuint getMaxLevel() const; void setDepthStencilTextureMode(const Context *context, GLenum mode); GLenum getDepthStencilTextureMode() const; bool getImmutableFormat() const; GLuint getImmutableLevels() const; void setUsage(const Context *context, GLenum usage); GLenum getUsage() const; void setBorderColor(const Context *context, const ColorGeneric &color); const ColorGeneric &getBorderColor() const; const TextureState &getTextureState() const; size_t getWidth(TextureTarget target, size_t level) const; size_t getHeight(TextureTarget target, size_t level) const; size_t getDepth(TextureTarget target, size_t level) const; GLsizei getSamples(TextureTarget target, size_t level) const; bool getFixedSampleLocations(TextureTarget target, size_t level) const; const Format &getFormat(TextureTarget target, size_t level) const; GLuint getMipmapMaxLevel() const; bool isMipmapComplete() const; angle::Result setImage(Context *context, const PixelUnpackState &unpackState, TextureTarget target, GLint level, GLenum internalFormat, const Extents &size, GLenum format, GLenum type, const uint8_t *pixels); angle::Result setSubImage(Context *context, const PixelUnpackState &unpackState, Buffer *unpackBuffer, TextureTarget target, GLint level, const Box &area, GLenum format, GLenum type, const uint8_t *pixels); angle::Result setCompressedImage(Context *context, const PixelUnpackState &unpackState, TextureTarget target, GLint level, GLenum internalFormat, const Extents &size, size_t imageSize, const uint8_t *pixels); angle::Result setCompressedSubImage(const Context *context, const PixelUnpackState &unpackState, TextureTarget target, GLint level, const Box &area, GLenum format, size_t imageSize, const uint8_t *pixels); angle::Result copyImage(Context *context, TextureTarget target, GLint level, const Rectangle &sourceArea, GLenum internalFormat, Framebuffer *source); angle::Result copySubImage(Context *context, const ImageIndex &index, const Offset &destOffset, const Rectangle &sourceArea, Framebuffer *source); angle::Result copyTexture(Context *context, TextureTarget target, GLint level, GLenum internalFormat, GLenum type, GLint sourceLevel, bool unpackFlipY, bool unpackPremultiplyAlpha, bool unpackUnmultiplyAlpha, Texture *source); angle::Result copySubTexture(const Context *context, TextureTarget target, GLint level, const Offset &destOffset, GLint sourceLevel, const Box &sourceBox, bool unpackFlipY, bool unpackPremultiplyAlpha, bool unpackUnmultiplyAlpha, Texture *source); angle::Result copyCompressedTexture(Context *context, const Texture *source); angle::Result setStorage(Context *context, TextureType type, GLsizei levels, GLenum internalFormat, const Extents &size); angle::Result setStorageMultisample(Context *context, TextureType type, GLsizei samples, GLint internalformat, const Extents &size, bool fixedSampleLocations); angle::Result setStorageExternalMemory(Context *context, TextureType type, GLsizei levels, GLenum internalFormat, const Extents &size, MemoryObject *memoryObject, GLuint64 offset); angle::Result setImageExternal(Context *context, TextureTarget target, GLint level, GLenum internalFormat, const Extents &size, GLenum format, GLenum type); angle::Result setEGLImageTarget(Context *context, TextureType type, egl::Image *imageTarget); angle::Result generateMipmap(Context *context); void onBindImageTexture(); egl::Surface *getBoundSurface() const; egl::Stream *getBoundStream() const; GLint getMemorySize() const; GLint getLevelMemorySize(TextureTarget target, GLint level) const; void signalDirtyStorage(InitState initState); bool isSamplerComplete(const Context *context, const Sampler *optionalSampler); GLenum getImplementationColorReadFormat(const Context *context) const; GLenum getImplementationColorReadType(const Context *context) const; angle::Result getTexImage(const Context *context, const PixelPackState &packState, Buffer *packBuffer, TextureTarget target, GLint level, GLenum format, GLenum type, void *pixels) const; rx::TextureImpl *getImplementation() const { return mTexture; } Extents getAttachmentSize(const ImageIndex &imageIndex) const override; Format getAttachmentFormat(GLenum binding, const ImageIndex &imageIndex) const override; GLsizei getAttachmentSamples(const ImageIndex &imageIndex) const override; bool isRenderable(const Context *context, GLenum binding, const ImageIndex &imageIndex) const override; bool getAttachmentFixedSampleLocations(const ImageIndex &imageIndex) const; void setCrop(const gl::Rectangle &rect); const gl::Rectangle &getCrop() const; void setGenerateMipmapHint(GLenum generate); GLenum getGenerateMipmapHint() const; void onAttach(const Context *context) override; void onDetach(const Context *context) override; GLuint getId() const override; GLuint getNativeID() const; angle::Result ensureInitialized(const Context *context); InitState initState(const ImageIndex &imageIndex) const override; InitState initState() const { return mState.mInitState; } void setInitState(const ImageIndex &imageIndex, InitState initState) override; enum DirtyBitType { DIRTY_BIT_MIN_FILTER, DIRTY_BIT_MAG_FILTER, DIRTY_BIT_WRAP_S, DIRTY_BIT_WRAP_T, DIRTY_BIT_WRAP_R, DIRTY_BIT_MAX_ANISOTROPY, DIRTY_BIT_MIN_LOD, DIRTY_BIT_MAX_LOD, DIRTY_BIT_COMPARE_MODE, DIRTY_BIT_COMPARE_FUNC, DIRTY_BIT_SRGB_DECODE, DIRTY_BIT_BORDER_COLOR, DIRTY_BIT_SWIZZLE_RED, DIRTY_BIT_SWIZZLE_GREEN, DIRTY_BIT_SWIZZLE_BLUE, DIRTY_BIT_SWIZZLE_ALPHA, DIRTY_BIT_BASE_LEVEL, DIRTY_BIT_MAX_LEVEL, DIRTY_BIT_DEPTH_STENCIL_TEXTURE_MODE, DIRTY_BIT_BOUND_AS_IMAGE, DIRTY_BIT_LABEL, DIRTY_BIT_USAGE, DIRTY_BIT_IMPLEMENTATION, DIRTY_BIT_COUNT, }; using DirtyBits = angle::BitSet; angle::Result syncState(const Context *context); bool hasAnyDirtyBit() const { return mDirtyBits.any(); } void onSubjectStateChange(angle::SubjectIndex index, angle::SubjectMessage message) override; private: rx::FramebufferAttachmentObjectImpl *getAttachmentImpl() const override; friend class egl::Surface; angle::Result bindTexImageFromSurface(Context *context, egl::Surface *surface); angle::Result releaseTexImageFromSurface(const Context *context); friend class egl::Stream; void bindStream(egl::Stream *stream); void releaseStream(); angle::Result acquireImageFromStream(const Context *context, const egl::Stream::GLTextureDescription &desc); angle::Result releaseImageFromStream(const Context *context); void invalidateCompletenessCache() const; angle::Result releaseTexImageInternal(Context *context); angle::Result ensureSubImageInitialized(const Context *context, TextureTarget target, size_t level, const gl::Box &area); angle::Result handleMipmapGenerationHint(Context *context, int level); void signalDirtyState(size_t dirtyBit); TextureState mState; DirtyBits mDirtyBits; rx::TextureImpl *mTexture; angle::ObserverBinding mImplObserver; std::string mLabel; egl::Surface *mBoundSurface; egl::Stream *mBoundStream; struct SamplerCompletenessCache { SamplerCompletenessCache(); ContextID context; SamplerState samplerState; bool samplerComplete; }; mutable SamplerCompletenessCache mCompletenessCache; }; inline bool operator==(const TextureState &a, const TextureState &b) { return a.mSwizzleState == b.mSwizzleState && a.mSamplerState == b.mSamplerState && a.mBaseLevel == b.mBaseLevel && a.mMaxLevel == b.mMaxLevel && a.mImmutableFormat == b.mImmutableFormat && a.mImmutableLevels == b.mImmutableLevels && a.mUsage == b.mUsage; } inline bool operator!=(const TextureState &a, const TextureState &b) { return !(a == b); } } # 27 "../../third_party/angle/src/libANGLE/State.h" 2 # 1 "../../third_party/angle/src/libANGLE/TransformFeedback.h" 1 # 18 "../../third_party/angle/src/libANGLE/TransformFeedback.h" namespace rx { class GLImplFactory; class TransformFeedbackImpl; class TransformFeedbackGL; } namespace gl { class Buffer; struct Caps; class Context; class Program; class TransformFeedbackState final : angle::NonCopyable { public: TransformFeedbackState(size_t maxIndexedBuffers); ~TransformFeedbackState(); const OffsetBindingPointer &getIndexedBuffer(size_t idx) const; const std::vector> &getIndexedBuffers() const; const Program *getBoundProgram() const { return mProgram; } GLsizeiptr getVerticesDrawn() const { return mVerticesDrawn; } GLsizeiptr getPrimitivesDrawn() const; private: friend class TransformFeedback; std::string mLabel; bool mActive; PrimitiveMode mPrimitiveMode; bool mPaused; GLsizeiptr mVerticesDrawn; GLsizeiptr mVertexCapacity; Program *mProgram; std::vector> mIndexedBuffers; }; class TransformFeedback final : public RefCountObject, public LabeledObject { public: TransformFeedback(rx::GLImplFactory *implFactory, TransformFeedbackID id, const Caps &caps); ~TransformFeedback() override; void onDestroy(const Context *context) override; void setLabel(const Context *context, const std::string &label) override; const std::string &getLabel() const override; angle::Result begin(const Context *context, PrimitiveMode primitiveMode, Program *program); angle::Result end(const Context *context); angle::Result pause(const Context *context); angle::Result resume(const Context *context); bool isActive() const { return mState.mActive; } bool isPaused() const; PrimitiveMode getPrimitiveMode() const; bool checkBufferSpaceForDraw(GLsizei count, GLsizei primcount) const; void onVerticesDrawn(const Context *context, GLsizei count, GLsizei primcount); bool hasBoundProgram(ShaderProgramID program) const; angle::Result bindIndexedBuffer(const Context *context, size_t index, Buffer *buffer, size_t offset, size_t size); const OffsetBindingPointer &getIndexedBuffer(size_t index) const; size_t getIndexedBufferCount() const; GLsizeiptr getVerticesDrawn() const { return mState.getVerticesDrawn(); } GLsizeiptr getPrimitivesDrawn() const { return mState.getPrimitivesDrawn(); } bool buffersBoundForOtherUse() const; angle::Result detachBuffer(const Context *context, BufferID bufferID); rx::TransformFeedbackImpl *getImplementation() const; void onBindingChanged(const Context *context, bool bound); private: void bindProgram(const Context *context, Program *program); TransformFeedbackState mState; rx::TransformFeedbackImpl *mImplementation; }; } # 28 "../../third_party/angle/src/libANGLE/State.h" 2 # 1 "../../third_party/angle/src/libANGLE/VertexArray.h" 1 # 25 "../../third_party/angle/src/libANGLE/VertexArray.h" namespace rx { class GLImplFactory; class VertexArrayImpl; } namespace gl { class Buffer; class VertexArrayState final : angle::NonCopyable { public: VertexArrayState(VertexArray *vertexArray, size_t maxAttribs, size_t maxBindings); ~VertexArrayState(); const std::string &getLabel() const { return mLabel; } Buffer *getElementArrayBuffer() const { return mElementArrayBuffer.get(); } size_t getMaxAttribs() const { return mVertexAttributes.size(); } size_t getMaxBindings() const { return mVertexBindings.size(); } const AttributesMask &getEnabledAttributesMask() const { return mEnabledAttributesMask; } const std::vector &getVertexAttributes() const { return mVertexAttributes; } const VertexAttribute &getVertexAttribute(size_t attribIndex) const { return mVertexAttributes[attribIndex]; } const std::vector &getVertexBindings() const { return mVertexBindings; } const VertexBinding &getVertexBinding(size_t bindingIndex) const { return mVertexBindings[bindingIndex]; } const VertexBinding &getBindingFromAttribIndex(size_t attribIndex) const { return mVertexBindings[mVertexAttributes[attribIndex].bindingIndex]; } size_t getBindingIndexFromAttribIndex(size_t attribIndex) const { return mVertexAttributes[attribIndex].bindingIndex; } void setAttribBinding(const Context *context, size_t attribIndex, GLuint newBindingIndex); bool hasEnabledNullPointerClientArray() const; AttributesMask getBindingToAttributesMask(GLuint bindingIndex) const; private: friend class VertexArray; std::string mLabel; std::vector mVertexAttributes; SubjectBindingPointer mElementArrayBuffer; std::vector mVertexBindings; AttributesMask mEnabledAttributesMask; ComponentTypeMask mVertexAttributesTypeMask; friend class State; gl::AttributesMask mClientMemoryAttribsMask; gl::AttributesMask mNullPointerClientMemoryAttribsMask; AttributesMask mCachedMappedArrayBuffers; AttributesMask mCachedEnabledMappedArrayBuffers; }; class VertexArray final : public angle::ObserverInterface, public LabeledObject, public angle::Subject { public: # 113 "../../third_party/angle/src/libANGLE/VertexArray.h" enum DirtyBitType { DIRTY_BIT_ELEMENT_ARRAY_BUFFER, DIRTY_BIT_ELEMENT_ARRAY_BUFFER_DATA, DIRTY_BIT_ATTRIB_0, DIRTY_BIT_ATTRIB_MAX = DIRTY_BIT_ATTRIB_0 + gl::MAX_VERTEX_ATTRIBS, DIRTY_BIT_BINDING_0 = DIRTY_BIT_ATTRIB_MAX, DIRTY_BIT_BINDING_MAX = DIRTY_BIT_BINDING_0 + gl::MAX_VERTEX_ATTRIB_BINDINGS, DIRTY_BIT_BUFFER_DATA_0 = DIRTY_BIT_BINDING_MAX, DIRTY_BIT_BUFFER_DATA_MAX = DIRTY_BIT_BUFFER_DATA_0 + gl::MAX_VERTEX_ATTRIB_BINDINGS, DIRTY_BIT_UNKNOWN = DIRTY_BIT_BUFFER_DATA_MAX, DIRTY_BIT_MAX = DIRTY_BIT_UNKNOWN, }; static_assert(DIRTY_BIT_MAX <= 64, "Too many vertex array dirty bits."); enum DirtyAttribBitType { DIRTY_ATTRIB_ENABLED, DIRTY_ATTRIB_POINTER, DIRTY_ATTRIB_FORMAT, DIRTY_ATTRIB_BINDING, DIRTY_ATTRIB_POINTER_BUFFER, DIRTY_ATTRIB_UNKNOWN, DIRTY_ATTRIB_MAX = DIRTY_ATTRIB_UNKNOWN, }; enum DirtyBindingBitType { DIRTY_BINDING_BUFFER, DIRTY_BINDING_DIVISOR, DIRTY_BINDING_UNKNOWN, DIRTY_BINDING_MAX = DIRTY_BINDING_UNKNOWN, }; using DirtyBits = angle::BitSet; using DirtyAttribBits = angle::BitSet; using DirtyBindingBits = angle::BitSet; using DirtyAttribBitsArray = std::array; using DirtyBindingBitsArray = std::array; VertexArray(rx::GLImplFactory *factory, VertexArrayID id, size_t maxAttribs, size_t maxAttribBindings); void onDestroy(const Context *context); VertexArrayID id() const { return mId; } void setLabel(const Context *context, const std::string &label) override; const std::string &getLabel() const override; const VertexBinding &getVertexBinding(size_t bindingIndex) const; const VertexAttribute &getVertexAttribute(size_t attribIndex) const; const VertexBinding &getBindingFromAttribIndex(size_t attribIndex) const { return mState.getBindingFromAttribIndex(attribIndex); } bool detachBuffer(const Context *context, BufferID bufferID); void setVertexAttribDivisor(const Context *context, size_t index, GLuint divisor); void enableAttribute(size_t attribIndex, bool enabledState); void setVertexAttribPointer(const Context *context, size_t attribIndex, Buffer *boundBuffer, GLint size, VertexAttribType type, bool normalized, GLsizei stride, const void *pointer); void setVertexAttribIPointer(const Context *context, size_t attribIndex, Buffer *boundBuffer, GLint size, VertexAttribType type, GLsizei stride, const void *pointer); void setVertexAttribFormat(size_t attribIndex, GLint size, VertexAttribType type, bool normalized, bool pureInteger, GLuint relativeOffset); void bindVertexBuffer(const Context *context, size_t bindingIndex, Buffer *boundBuffer, GLintptr offset, GLsizei stride); void setVertexAttribBinding(const Context *context, size_t attribIndex, GLuint bindingIndex); void setVertexBindingDivisor(size_t bindingIndex, GLuint divisor); Buffer *getElementArrayBuffer() const { return mState.getElementArrayBuffer(); } size_t getMaxAttribs() const { return mState.getMaxAttribs(); } size_t getMaxBindings() const { return mState.getMaxBindings(); } const std::vector &getVertexAttributes() const { return mState.getVertexAttributes(); } const std::vector &getVertexBindings() const { return mState.getVertexBindings(); } rx::VertexArrayImpl *getImplementation() const { return mVertexArray; } const AttributesMask &getEnabledAttributesMask() const { return mState.getEnabledAttributesMask(); } gl::AttributesMask getClientAttribsMask() const { return mState.mClientMemoryAttribsMask; } bool hasEnabledNullPointerClientArray() const { return mState.hasEnabledNullPointerClientArray(); } bool hasMappedEnabledArrayBuffer() const { return mState.mCachedEnabledMappedArrayBuffers.any(); } void onSubjectStateChange(angle::SubjectIndex index, angle::SubjectMessage message) override; static size_t GetVertexIndexFromDirtyBit(size_t dirtyBit); angle::Result syncState(const Context *context); bool hasAnyDirtyBit() const { return mDirtyBits.any(); } ComponentTypeMask getAttributesTypeMask() const { return mState.mVertexAttributesTypeMask; } AttributesMask getAttributesMask() const { return mState.mEnabledAttributesMask; } void onBindingChanged(const Context *context, int incr); bool hasTransformFeedbackBindingConflict(const gl::Context *context) const; inline __attribute__((always_inline)) angle::Result getIndexRange(const Context *context, DrawElementsType type, GLsizei indexCount, const void *indices, IndexRange *indexRangeOut) const { Buffer *elementArrayBuffer = mState.mElementArrayBuffer.get(); if (elementArrayBuffer && mIndexRangeCache.get(type, indexCount, indices, indexRangeOut)) { return angle::Result::Continue; } return getIndexRangeImpl(context, type, indexCount, indices, indexRangeOut); } void setBufferAccessValidationEnabled(bool enabled) { mBufferAccessValidationEnabled = enabled; } private: ~VertexArray() override; friend class State; void setDirtyAttribBit(size_t attribIndex, DirtyAttribBitType dirtyAttribBit); void setDirtyBindingBit(size_t bindingIndex, DirtyBindingBitType dirtyBindingBit); DirtyBitType getDirtyBitFromIndex(bool contentsChanged, angle::SubjectIndex index) const; void setDependentDirtyBit(bool contentsChanged, angle::SubjectIndex index); void updateCachedBufferBindingSize(VertexBinding *binding); void updateCachedTransformFeedbackBindingValidation(size_t bindingIndex, const Buffer *buffer); void updateCachedMappedArrayBuffers(bool isMapped, const AttributesMask &boundAttributesMask); void updateCachedMappedArrayBuffersBinding(const VertexBinding &binding); angle::Result getIndexRangeImpl(const Context *context, DrawElementsType type, GLsizei indexCount, const void *indices, IndexRange *indexRangeOut) const; void setVertexAttribPointerImpl(const Context *context, ComponentType componentType, bool pureInteger, size_t attribIndex, Buffer *boundBuffer, GLint size, VertexAttribType type, bool normalized, GLsizei stride, const void *pointer); bool setVertexAttribFormatImpl(VertexAttribute *attrib, GLint size, VertexAttribType type, bool normalized, bool pureInteger, GLuint relativeOffset); bool bindVertexBufferImpl(const Context *context, size_t bindingIndex, Buffer *boundBuffer, GLintptr offset, GLsizei stride); VertexArrayID mId; VertexArrayState mState; DirtyBits mDirtyBits; DirtyAttribBitsArray mDirtyAttribBits; DirtyBindingBitsArray mDirtyBindingBits; Optional mDirtyBitsGuard; rx::VertexArrayImpl *mVertexArray; std::vector mArrayBufferObserverBindings; AttributesMask mCachedTransformFeedbackConflictedBindingsMask; class IndexRangeCache final : angle::NonCopyable { public: IndexRangeCache(); void invalidate() { mTypeKey = DrawElementsType::InvalidEnum; } bool get(DrawElementsType type, GLsizei indexCount, const void *indices, IndexRange *indexRangeOut) { size_t offset = reinterpret_cast(indices); if (mTypeKey == type && mIndexCountKey == indexCount && mOffsetKey == offset) { *indexRangeOut = mPayload; return true; } return false; } void put(DrawElementsType type, GLsizei indexCount, size_t offset, const IndexRange &indexRange); private: DrawElementsType mTypeKey; GLsizei mIndexCountKey; size_t mOffsetKey; IndexRange mPayload; }; mutable IndexRangeCache mIndexRangeCache; bool mBufferAccessValidationEnabled; }; } # 30 "../../third_party/angle/src/libANGLE/State.h" 2 namespace gl { class BufferManager; struct Caps; class Context; class FramebufferManager; class MemoryObjectManager; class PathManager; class ProgramPipelineManager; class Query; class RenderbufferManager; class SamplerManager; class SemaphoreManager; class ShaderProgramManager; class SyncManager; class TextureManager; class VertexArray; static constexpr Version ES_1_0 = Version(1, 0); static constexpr Version ES_1_1 = Version(1, 1); static constexpr Version ES_2_0 = Version(2, 0); static constexpr Version ES_3_0 = Version(3, 0); static constexpr Version ES_3_1 = Version(3, 1); static constexpr Version ES_3_2 = Version(3, 2); using ContextID = uintptr_t; template using BufferBindingMap = angle::PackedEnumMap; using BoundBufferMap = BufferBindingMap>; using TextureBindingVector = std::vector>; using TextureBindingMap = angle::PackedEnumMap; class State : angle::NonCopyable { public: State(ContextID contextIn, const State *shareContextState, TextureManager *shareTextures, const OverlayType *overlay, const EGLenum clientType, const Version &clientVersion, bool debug, bool bindGeneratesResource, bool clientArraysEnabled, bool robustResourceInit, bool programBinaryCacheEnabled); ~State(); int id() const { return mID; } void initialize(Context *context); void reset(const Context *context); ContextID getContextID() const { return mContext; } EGLenum getClientType() const { return mClientType; } GLint getClientMajorVersion() const { return mClientVersion.major; } GLint getClientMinorVersion() const { return mClientVersion.minor; } const Version &getClientVersion() const { return mClientVersion; } const Caps &getCaps() const { return mCaps; } const TextureCapsMap &getTextureCaps() const { return mTextureCaps; } const Extensions &getExtensions() const { return mExtensions; } const Limitations &getLimitations() const { return mLimitations; } bool isWebGL() const { return mExtensions.webglCompatibility; } bool isWebGL1() const { return (isWebGL() && mClientVersion.major == 2); } const TextureCaps &getTextureCap(GLenum internalFormat) const { return mTextureCaps.get(internalFormat); } const RasterizerState &getRasterizerState() const; const BlendState &getBlendState() const { return mBlend; } const DepthStencilState &getDepthStencilState() const; void setColorClearValue(float red, float green, float blue, float alpha); void setDepthClearValue(float depth); void setStencilClearValue(int stencil); const ColorF &getColorClearValue() const { return mColorClearValue; } float getDepthClearValue() const { return mDepthClearValue; } int getStencilClearValue() const { return mStencilClearValue; } void setColorMask(bool red, bool green, bool blue, bool alpha); void setDepthMask(bool mask); bool isRasterizerDiscardEnabled() const { return mRasterizer.rasterizerDiscard; } void setRasterizerDiscard(bool enabled); bool isPrimitiveRestartEnabled() const { return mPrimitiveRestart; } void setPrimitiveRestart(bool enabled); bool isCullFaceEnabled() const { return mRasterizer.cullFace; } void setCullFace(bool enabled); void setCullMode(CullFaceMode mode); void setFrontFace(GLenum front); bool isDepthTestEnabled() const { return mDepthStencil.depthTest; } void setDepthTest(bool enabled); void setDepthFunc(GLenum depthFunc); void setDepthRange(float zNear, float zFar); float getNearPlane() const { return mNearZ; } float getFarPlane() const { return mFarZ; } bool isBlendEnabled() const { return mBlend.blend; } void setBlend(bool enabled); void setBlendFactors(GLenum sourceRGB, GLenum destRGB, GLenum sourceAlpha, GLenum destAlpha); void setBlendColor(float red, float green, float blue, float alpha); void setBlendEquation(GLenum rgbEquation, GLenum alphaEquation); const ColorF &getBlendColor() const { return mBlendColor; } bool isStencilTestEnabled() const { return mDepthStencil.stencilTest; } void setStencilTest(bool enabled); void setStencilParams(GLenum stencilFunc, GLint stencilRef, GLuint stencilMask); void setStencilBackParams(GLenum stencilBackFunc, GLint stencilBackRef, GLuint stencilBackMask); void setStencilWritemask(GLuint stencilWritemask); void setStencilBackWritemask(GLuint stencilBackWritemask); void setStencilOperations(GLenum stencilFail, GLenum stencilPassDepthFail, GLenum stencilPassDepthPass); void setStencilBackOperations(GLenum stencilBackFail, GLenum stencilBackPassDepthFail, GLenum stencilBackPassDepthPass); GLint getStencilRef() const { return mStencilRef; } GLint getStencilBackRef() const { return mStencilBackRef; } bool isPolygonOffsetFillEnabled() const { return mRasterizer.polygonOffsetFill; } void setPolygonOffsetFill(bool enabled); void setPolygonOffsetParams(GLfloat factor, GLfloat units); bool isSampleAlphaToCoverageEnabled() const { return mBlend.sampleAlphaToCoverage; } void setSampleAlphaToCoverage(bool enabled); bool isSampleCoverageEnabled() const { return mSampleCoverage; } void setSampleCoverage(bool enabled); void setSampleCoverageParams(GLclampf value, bool invert); GLclampf getSampleCoverageValue() const { return mSampleCoverageValue; } bool getSampleCoverageInvert() const { return mSampleCoverageInvert; } bool isSampleMaskEnabled() const { return mSampleMask; } void setSampleMaskEnabled(bool enabled); void setSampleMaskParams(GLuint maskNumber, GLbitfield mask); GLbitfield getSampleMaskWord(GLuint maskNumber) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(maskNumber < mMaxSampleMaskWords); return mSampleMaskValues[maskNumber]; } GLuint getMaxSampleMaskWords() const { return mMaxSampleMaskWords; } void setSampleAlphaToOne(bool enabled); bool isSampleAlphaToOneEnabled() const { return mSampleAlphaToOne; } void setMultisampling(bool enabled); bool isMultisamplingEnabled() const { return mMultiSampling; } bool isScissorTestEnabled() const { return mScissorTest; } void setScissorTest(bool enabled); void setScissorParams(GLint x, GLint y, GLsizei width, GLsizei height); const Rectangle &getScissor() const { return mScissor; } bool isDitherEnabled() const { return mBlend.dither; } void setDither(bool enabled); void setEnableFeature(GLenum feature, bool enabled); bool getEnableFeature(GLenum feature) const; void setLineWidth(GLfloat width); float getLineWidth() const { return mLineWidth; } void setGenerateMipmapHint(GLenum hint); void setFragmentShaderDerivativeHint(GLenum hint); bool isBindGeneratesResourceEnabled() const { return mBindGeneratesResource; } bool areClientArraysEnabled() const { return mClientArraysEnabled; } void setViewportParams(GLint x, GLint y, GLsizei width, GLsizei height); const Rectangle &getViewport() const { return mViewport; } void setActiveSampler(unsigned int active); unsigned int getActiveSampler() const { return static_cast(mActiveSampler); } void setSamplerTexture(const Context *context, TextureType type, Texture *texture); Texture *getTargetTexture(TextureType type) const; Texture *getSamplerTexture(unsigned int sampler, TextureType type) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(sampler < mSamplerTextures[type].size()); return mSamplerTextures[type][sampler].get(); } TextureID getSamplerTextureId(unsigned int sampler, TextureType type) const; void detachTexture(const Context *context, const TextureMap &zeroTextures, TextureID texture); void initializeZeroTextures(const Context *context, const TextureMap &zeroTextures); void invalidateTexture(TextureType type); void setSamplerBinding(const Context *context, GLuint textureUnit, Sampler *sampler); SamplerID getSamplerId(GLuint textureUnit) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(textureUnit < mSamplers.size()); return mSamplers[textureUnit].id(); } Sampler *getSampler(GLuint textureUnit) const { return mSamplers[textureUnit].get(); } using SamplerBindingVector = std::vector>; const SamplerBindingVector &getSamplers() const { return mSamplers; } void detachSampler(const Context *context, SamplerID sampler); void setRenderbufferBinding(const Context *context, Renderbuffer *renderbuffer); RenderbufferID getRenderbufferId() const { return mRenderbuffer.id(); } Renderbuffer *getCurrentRenderbuffer() const { return mRenderbuffer.get(); } void detachRenderbuffer(const Context *context, RenderbufferID renderbuffer); void setReadFramebufferBinding(Framebuffer *framebuffer); void setDrawFramebufferBinding(Framebuffer *framebuffer); Framebuffer *getTargetFramebuffer(GLenum target) const; Framebuffer *getReadFramebuffer() const { return mReadFramebuffer; } Framebuffer *getDrawFramebuffer() const { return mDrawFramebuffer; } bool removeReadFramebufferBinding(FramebufferID framebuffer); bool removeDrawFramebufferBinding(FramebufferID framebuffer); void setVertexArrayBinding(const Context *context, VertexArray *vertexArray); bool removeVertexArrayBinding(const Context *context, VertexArrayID vertexArray); VertexArrayID getVertexArrayId() const; VertexArray *getVertexArray() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(mVertexArray != nullptr); return mVertexArray; } angle::Result setProgram(const Context *context, Program *newProgram); Program *getProgram() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(!mProgram || !mProgram->isLinking()); return mProgram; } Program *getLinkedProgram(const Context *context) const { if (mProgram) { mProgram->resolveLink(context); } return mProgram; } void setTransformFeedbackBinding(const Context *context, TransformFeedback *transformFeedback); TransformFeedback *getCurrentTransformFeedback() const { return mTransformFeedback.get(); } inline __attribute__((always_inline)) bool isTransformFeedbackActive() const { TransformFeedback *curTransformFeedback = mTransformFeedback.get(); return curTransformFeedback && curTransformFeedback->isActive(); } inline __attribute__((always_inline)) bool isTransformFeedbackActiveUnpaused() const { TransformFeedback *curTransformFeedback = mTransformFeedback.get(); return curTransformFeedback && curTransformFeedback->isActive() && !curTransformFeedback->isPaused(); } bool removeTransformFeedbackBinding(const Context *context, TransformFeedbackID transformFeedback); bool isQueryActive(QueryType type) const; bool isQueryActive(Query *query) const; void setActiveQuery(const Context *context, QueryType type, Query *query); QueryID getActiveQueryId(QueryType type) const; Query *getActiveQuery(QueryType type) const; void setProgramPipelineBinding(const Context *context, ProgramPipeline *pipeline); void detachProgramPipeline(const Context *context, ProgramPipelineID pipeline); inline __attribute__((always_inline)) void setBufferBinding(const Context *context, BufferBinding target, Buffer *buffer) { (this->*(kBufferSetters[target]))(context, buffer); } inline __attribute__((always_inline)) Buffer *getTargetBuffer(BufferBinding target) const { switch (target) { case BufferBinding::ElementArray: return getVertexArray()->getElementArrayBuffer(); default: return mBoundBuffers[target].get(); } } inline __attribute__((always_inline)) Buffer *getArrayBuffer() const { return getTargetBuffer(BufferBinding::Array); } angle::Result setIndexedBufferBinding(const Context *context, BufferBinding target, GLuint index, Buffer *buffer, GLintptr offset, GLsizeiptr size); size_t getAtomicCounterBufferCount() const { return mAtomicCounterBuffers.size(); } const OffsetBindingPointer &getIndexedUniformBuffer(size_t index) const; const OffsetBindingPointer &getIndexedAtomicCounterBuffer(size_t index) const; const OffsetBindingPointer &getIndexedShaderStorageBuffer(size_t index) const; angle::Result detachBuffer(Context *context, const Buffer *buffer); void setEnableVertexAttribArray(unsigned int attribNum, bool enabled); void setVertexAttribf(GLuint index, const GLfloat values[4]); void setVertexAttribu(GLuint index, const GLuint values[4]); void setVertexAttribi(GLuint index, const GLint values[4]); inline __attribute__((always_inline)) void setVertexAttribPointer(const Context *context, unsigned int attribNum, Buffer *boundBuffer, GLint size, VertexAttribType type, bool normalized, GLsizei stride, const void *pointer) { mVertexArray->setVertexAttribPointer(context, attribNum, boundBuffer, size, type, normalized, stride, pointer); mDirtyObjects.set(DIRTY_OBJECT_VERTEX_ARRAY); } inline __attribute__((always_inline)) void setVertexAttribIPointer(const Context *context, unsigned int attribNum, Buffer *boundBuffer, GLint size, VertexAttribType type, GLsizei stride, const void *pointer) { mVertexArray->setVertexAttribIPointer(context, attribNum, boundBuffer, size, type, stride, pointer); mDirtyObjects.set(DIRTY_OBJECT_VERTEX_ARRAY); } void setVertexAttribDivisor(const Context *context, GLuint index, GLuint divisor); const VertexAttribCurrentValueData &getVertexAttribCurrentValue(size_t attribNum) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(attribNum < mVertexAttribCurrentValues.size()); return mVertexAttribCurrentValues[attribNum]; } const std::vector &getVertexAttribCurrentValues() const { return mVertexAttribCurrentValues; } const void *getVertexAttribPointer(unsigned int attribNum) const; void bindVertexBuffer(const Context *context, GLuint bindingIndex, Buffer *boundBuffer, GLintptr offset, GLsizei stride); void setVertexAttribFormat(GLuint attribIndex, GLint size, VertexAttribType type, bool normalized, bool pureInteger, GLuint relativeOffset); void setVertexAttribBinding(const Context *context, GLuint attribIndex, GLuint bindingIndex) { mVertexArray->setVertexAttribBinding(context, attribIndex, bindingIndex); mDirtyObjects.set(DIRTY_OBJECT_VERTEX_ARRAY); } void setVertexBindingDivisor(GLuint bindingIndex, GLuint divisor); void setPackAlignment(GLint alignment); GLint getPackAlignment() const { return mPack.alignment; } void setPackReverseRowOrder(bool reverseRowOrder); bool getPackReverseRowOrder() const { return mPack.reverseRowOrder; } void setPackRowLength(GLint rowLength); GLint getPackRowLength() const { return mPack.rowLength; } void setPackSkipRows(GLint skipRows); GLint getPackSkipRows() const { return mPack.skipRows; } void setPackSkipPixels(GLint skipPixels); GLint getPackSkipPixels() const { return mPack.skipPixels; } const PixelPackState &getPackState() const { return mPack; } PixelPackState &getPackState() { return mPack; } void setUnpackAlignment(GLint alignment); GLint getUnpackAlignment() const { return mUnpack.alignment; } void setUnpackRowLength(GLint rowLength); GLint getUnpackRowLength() const { return mUnpack.rowLength; } void setUnpackImageHeight(GLint imageHeight); GLint getUnpackImageHeight() const { return mUnpack.imageHeight; } void setUnpackSkipImages(GLint skipImages); GLint getUnpackSkipImages() const { return mUnpack.skipImages; } void setUnpackSkipRows(GLint skipRows); GLint getUnpackSkipRows() const { return mUnpack.skipRows; } void setUnpackSkipPixels(GLint skipPixels); GLint getUnpackSkipPixels() const { return mUnpack.skipPixels; } const PixelUnpackState &getUnpackState() const { return mUnpack; } PixelUnpackState &getUnpackState() { return mUnpack; } const Debug &getDebug() const { return mDebug; } Debug &getDebug() { return mDebug; } void setCoverageModulation(GLenum components); GLenum getCoverageModulation() const { return mCoverageModulation; } void loadPathRenderingMatrix(GLenum matrixMode, const GLfloat *matrix); const GLfloat *getPathRenderingMatrix(GLenum which) const; void setPathStencilFunc(GLenum func, GLint ref, GLuint mask); GLenum getPathStencilFunc() const { return mPathStencilFunc; } GLint getPathStencilRef() const { return mPathStencilRef; } GLuint getPathStencilMask() const { return mPathStencilMask; } void setFramebufferSRGB(bool sRGB); bool getFramebufferSRGB() const { return mFramebufferSRGB; } void setMaxShaderCompilerThreads(GLuint count); GLuint getMaxShaderCompilerThreads() const { return mMaxShaderCompilerThreads; } void getBooleanv(GLenum pname, GLboolean *params); void getFloatv(GLenum pname, GLfloat *params); angle::Result getIntegerv(const Context *context, GLenum pname, GLint *params); void getPointerv(const Context *context, GLenum pname, void **params) const; void getIntegeri_v(GLenum target, GLuint index, GLint *data); void getInteger64i_v(GLenum target, GLuint index, GLint64 *data); void getBooleani_v(GLenum target, GLuint index, GLboolean *data); bool isRobustResourceInitEnabled() const { return mRobustResourceInit; } angle::Result onProgramExecutableChange(const Context *context, Program *program); enum DirtyBitType { DIRTY_BIT_DRAW_FRAMEBUFFER_BINDING, DIRTY_BIT_READ_FRAMEBUFFER_BINDING, DIRTY_BIT_SCISSOR_TEST_ENABLED, DIRTY_BIT_SCISSOR, DIRTY_BIT_VIEWPORT, DIRTY_BIT_DEPTH_RANGE, DIRTY_BIT_BLEND_ENABLED, DIRTY_BIT_BLEND_COLOR, DIRTY_BIT_BLEND_FUNCS, DIRTY_BIT_BLEND_EQUATIONS, DIRTY_BIT_COLOR_MASK, DIRTY_BIT_SAMPLE_ALPHA_TO_COVERAGE_ENABLED, DIRTY_BIT_SAMPLE_COVERAGE_ENABLED, DIRTY_BIT_SAMPLE_COVERAGE, DIRTY_BIT_SAMPLE_MASK_ENABLED, DIRTY_BIT_SAMPLE_MASK, DIRTY_BIT_DEPTH_TEST_ENABLED, DIRTY_BIT_DEPTH_FUNC, DIRTY_BIT_DEPTH_MASK, DIRTY_BIT_STENCIL_TEST_ENABLED, DIRTY_BIT_STENCIL_FUNCS_FRONT, DIRTY_BIT_STENCIL_FUNCS_BACK, DIRTY_BIT_STENCIL_OPS_FRONT, DIRTY_BIT_STENCIL_OPS_BACK, DIRTY_BIT_STENCIL_WRITEMASK_FRONT, DIRTY_BIT_STENCIL_WRITEMASK_BACK, DIRTY_BIT_CULL_FACE_ENABLED, DIRTY_BIT_CULL_FACE, DIRTY_BIT_FRONT_FACE, DIRTY_BIT_POLYGON_OFFSET_FILL_ENABLED, DIRTY_BIT_POLYGON_OFFSET, DIRTY_BIT_RASTERIZER_DISCARD_ENABLED, DIRTY_BIT_LINE_WIDTH, DIRTY_BIT_PRIMITIVE_RESTART_ENABLED, DIRTY_BIT_CLEAR_COLOR, DIRTY_BIT_CLEAR_DEPTH, DIRTY_BIT_CLEAR_STENCIL, DIRTY_BIT_UNPACK_STATE, DIRTY_BIT_UNPACK_BUFFER_BINDING, DIRTY_BIT_PACK_STATE, DIRTY_BIT_PACK_BUFFER_BINDING, DIRTY_BIT_DITHER_ENABLED, DIRTY_BIT_GENERATE_MIPMAP_HINT, DIRTY_BIT_SHADER_DERIVATIVE_HINT, DIRTY_BIT_RENDERBUFFER_BINDING, DIRTY_BIT_VERTEX_ARRAY_BINDING, DIRTY_BIT_DRAW_INDIRECT_BUFFER_BINDING, DIRTY_BIT_DISPATCH_INDIRECT_BUFFER_BINDING, DIRTY_BIT_PROGRAM_BINDING, DIRTY_BIT_PROGRAM_EXECUTABLE, DIRTY_BIT_TEXTURE_BINDINGS, DIRTY_BIT_SAMPLER_BINDINGS, DIRTY_BIT_IMAGE_BINDINGS, DIRTY_BIT_TRANSFORM_FEEDBACK_BINDING, DIRTY_BIT_UNIFORM_BUFFER_BINDINGS, DIRTY_BIT_SHADER_STORAGE_BUFFER_BINDING, DIRTY_BIT_ATOMIC_COUNTER_BUFFER_BINDING, DIRTY_BIT_MULTISAMPLING, DIRTY_BIT_SAMPLE_ALPHA_TO_ONE, DIRTY_BIT_COVERAGE_MODULATION, DIRTY_BIT_PATH_RENDERING, DIRTY_BIT_FRAMEBUFFER_SRGB, DIRTY_BIT_CURRENT_VALUES, DIRTY_BIT_PROVOKING_VERTEX, DIRTY_BIT_INVALID, DIRTY_BIT_MAX = DIRTY_BIT_INVALID, }; static_assert(DIRTY_BIT_MAX <= 64, "State dirty bits must be capped at 64"); enum DirtyObjectType { DIRTY_OBJECT_TEXTURES_INIT, DIRTY_OBJECT_IMAGES_INIT, DIRTY_OBJECT_READ_ATTACHMENTS, DIRTY_OBJECT_DRAW_ATTACHMENTS, DIRTY_OBJECT_READ_FRAMEBUFFER, DIRTY_OBJECT_DRAW_FRAMEBUFFER, DIRTY_OBJECT_VERTEX_ARRAY, DIRTY_OBJECT_TEXTURES, DIRTY_OBJECT_IMAGES, DIRTY_OBJECT_SAMPLERS, DIRTY_OBJECT_PROGRAM, DIRTY_OBJECT_UNKNOWN, DIRTY_OBJECT_MAX = DIRTY_OBJECT_UNKNOWN, }; using DirtyBits = angle::BitSet; const DirtyBits &getDirtyBits() const { return mDirtyBits; } void clearDirtyBits() { mDirtyBits.reset(); } void clearDirtyBits(const DirtyBits &bitset) { mDirtyBits &= ~bitset; } void setAllDirtyBits() { mDirtyBits.set(); mDirtyCurrentValues.set(); } using DirtyObjects = angle::BitSet; void clearDirtyObjects() { mDirtyObjects.reset(); } void setAllDirtyObjects() { mDirtyObjects.set(); } angle::Result syncDirtyObjects(const Context *context, const DirtyObjects &bitset); angle::Result syncDirtyObject(const Context *context, GLenum target); void setObjectDirty(GLenum target); void setTextureDirty(size_t textureUnitIndex); void setSamplerDirty(size_t samplerIndex); inline __attribute__((always_inline)) void setReadFramebufferDirty() { mDirtyObjects.set(DIRTY_OBJECT_READ_FRAMEBUFFER); mDirtyObjects.set(DIRTY_OBJECT_READ_ATTACHMENTS); } inline __attribute__((always_inline)) void setDrawFramebufferDirty() { mDirtyObjects.set(DIRTY_OBJECT_DRAW_FRAMEBUFFER); mDirtyObjects.set(DIRTY_OBJECT_DRAW_ATTACHMENTS); } AttributesMask getAndResetDirtyCurrentValues() const; void setImageUnit(const Context *context, size_t unit, Texture *texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); const ImageUnit &getImageUnit(size_t unit) const { return mImageUnits[unit]; } const ActiveTexturePointerArray &getActiveTexturesCache() const { return mActiveTexturesCache; } ComponentTypeMask getCurrentValuesTypeMask() const { return mCurrentValuesTypeMask; } void onActiveTextureChange(const Context *context, size_t textureUnit); void onActiveTextureStateChange(const Context *context, size_t textureUnit); void onImageStateChange(const Context *context, size_t unit); void onUniformBufferStateChange(size_t uniformBufferIndex); bool isCurrentTransformFeedback(const TransformFeedback *tf) const { return tf == mTransformFeedback.get(); } bool isCurrentVertexArray(const VertexArray *va) const { return va == mVertexArray; } GLES1State &gles1() { return mGLES1State; } const GLES1State &gles1() const { return mGLES1State; } template void setGenericBufferBindingWithBit(const Context *context, Buffer *buffer); template void setGenericBufferBinding(const Context *context, Buffer *buffer); using BufferBindingSetter = void (State::*)(const Context *, Buffer *); inline __attribute__((always_inline)) bool validateSamplerFormats() const { return (mTexturesIncompatibleWithSamplers & mProgram->getActiveSamplersMask()).none(); } ProvokingVertexConvention getProvokingVertex() const { return mProvokingVertex; } void setProvokingVertex(ProvokingVertexConvention val) { mDirtyBits.set(State::DIRTY_BIT_PROVOKING_VERTEX); mProvokingVertex = val; } const OverlayType *getOverlay() const { return mOverlay; } const BufferManager &getBufferManagerForCapture() const { return *mBufferManager; } const BoundBufferMap &getBoundBuffersForCapture() const { return mBoundBuffers; } const TextureManager &getTextureManagerForCapture() const { return *mTextureManager; } const TextureBindingMap &getBoundTexturesForCapture() const { return mSamplerTextures; } const RenderbufferManager &getRenderbufferManagerForCapture() const { return *mRenderbufferManager; } const FramebufferManager &getFramebufferManagerForCapture() const { return *mFramebufferManager; } const ShaderProgramManager &getShaderProgramManagerForCapture() const { return *mShaderProgramManager; } private: friend class Context; void unsetActiveTextures(ActiveTextureMask textureMask); void updateActiveTexture(const Context *context, size_t textureIndex, Texture *texture); void updateActiveTextureState(const Context *context, size_t textureIndex, const Sampler *sampler, Texture *texture); angle::Result syncTexturesInit(const Context *context); angle::Result syncImagesInit(const Context *context); angle::Result syncReadAttachments(const Context *context); angle::Result syncDrawAttachments(const Context *context); angle::Result syncReadFramebuffer(const Context *context); angle::Result syncDrawFramebuffer(const Context *context); angle::Result syncVertexArray(const Context *context); angle::Result syncTextures(const Context *context); angle::Result syncImages(const Context *context); angle::Result syncSamplers(const Context *context); angle::Result syncProgram(const Context *context); using DirtyObjectHandler = angle::Result (State::*)(const Context *context); static constexpr DirtyObjectHandler kDirtyObjectHandlers[DIRTY_OBJECT_MAX] = { &State::syncTexturesInit, &State::syncImagesInit, &State::syncReadAttachments, &State::syncDrawAttachments, &State::syncReadFramebuffer, &State::syncDrawFramebuffer, &State::syncVertexArray, &State::syncTextures, &State::syncImages, &State::syncSamplers, &State::syncProgram, }; static_assert(DIRTY_OBJECT_TEXTURES_INIT < DIRTY_OBJECT_DRAW_FRAMEBUFFER, "init order"); static_assert(DIRTY_OBJECT_IMAGES_INIT < DIRTY_OBJECT_DRAW_FRAMEBUFFER, "init order"); static_assert(DIRTY_OBJECT_DRAW_ATTACHMENTS < DIRTY_OBJECT_DRAW_FRAMEBUFFER, "init order"); static_assert(DIRTY_OBJECT_READ_ATTACHMENTS < DIRTY_OBJECT_READ_FRAMEBUFFER, "init order"); static_assert(DIRTY_OBJECT_TEXTURES_INIT == 0, "check DIRTY_OBJECT_TEXTURES_INIT index"); static_assert(DIRTY_OBJECT_IMAGES_INIT == 1, "check DIRTY_OBJECT_IMAGES_INIT index"); static_assert(DIRTY_OBJECT_READ_ATTACHMENTS == 2, "check DIRTY_OBJECT_READ_ATTACHMENTS index"); static_assert(DIRTY_OBJECT_DRAW_ATTACHMENTS == 3, "check DIRTY_OBJECT_DRAW_ATTACHMENTS index"); static_assert(DIRTY_OBJECT_READ_FRAMEBUFFER == 4, "check DIRTY_OBJECT_READ_FRAMEBUFFER index"); static_assert(DIRTY_OBJECT_DRAW_FRAMEBUFFER == 5, "check DIRTY_OBJECT_DRAW_FRAMEBUFFER index"); static_assert(DIRTY_OBJECT_VERTEX_ARRAY == 6, "check DIRTY_OBJECT_VERTEX_ARRAY index"); static_assert(DIRTY_OBJECT_TEXTURES == 7, "check DIRTY_OBJECT_TEXTURES index"); static_assert(DIRTY_OBJECT_IMAGES == 8, "check DIRTY_OBJECT_IMAGES index"); static_assert(DIRTY_OBJECT_SAMPLERS == 9, "check DIRTY_OBJECT_SAMPLERS index"); static_assert(DIRTY_OBJECT_PROGRAM == 10, "check DIRTY_OBJECT_PROGRAM index"); static const angle::PackedEnumMap kBufferSetters; int mID; EGLenum mClientType; Version mClientVersion; ContextID mContext; Caps mCaps; TextureCapsMap mTextureCaps; Extensions mExtensions; Limitations mLimitations; BufferManager *mBufferManager; ShaderProgramManager *mShaderProgramManager; TextureManager *mTextureManager; RenderbufferManager *mRenderbufferManager; SamplerManager *mSamplerManager; SyncManager *mSyncManager; PathManager *mPathManager; FramebufferManager *mFramebufferManager; ProgramPipelineManager *mProgramPipelineManager; MemoryObjectManager *mMemoryObjectManager; SemaphoreManager *mSemaphoreManager; GLuint mMaxDrawBuffers; GLuint mMaxCombinedTextureImageUnits; ColorF mColorClearValue; GLfloat mDepthClearValue; int mStencilClearValue; RasterizerState mRasterizer; bool mScissorTest; Rectangle mScissor; BlendState mBlend; ColorF mBlendColor; bool mSampleCoverage; GLfloat mSampleCoverageValue; bool mSampleCoverageInvert; bool mSampleMask; GLuint mMaxSampleMaskWords; std::array mSampleMaskValues; DepthStencilState mDepthStencil; GLint mStencilRef; GLint mStencilBackRef; GLfloat mLineWidth; GLenum mGenerateMipmapHint; GLenum mFragmentShaderDerivativeHint; const bool mBindGeneratesResource; const bool mClientArraysEnabled; Rectangle mViewport; float mNearZ; float mFarZ; Framebuffer *mReadFramebuffer; Framebuffer *mDrawFramebuffer; BindingPointer mRenderbuffer; Program *mProgram; BindingPointer mProgramPipeline; ProvokingVertexConvention mProvokingVertex; using VertexAttribVector = std::vector; VertexAttribVector mVertexAttribCurrentValues; VertexArray *mVertexArray; ComponentTypeMask mCurrentValuesTypeMask; size_t mActiveSampler; TextureBindingMap mSamplerTextures; # 863 "../../third_party/angle/src/libANGLE/State.h" ActiveTexturePointerArray mActiveTexturesCache; std::vector mCompleteTextureBindings; ActiveTextureMask mTexturesIncompatibleWithSamplers; SamplerBindingVector mSamplers; std::vector mImageUnits; using ActiveQueryMap = angle::PackedEnumMap>; ActiveQueryMap mActiveQueries; BoundBufferMap mBoundBuffers; using BufferVector = std::vector>; BufferVector mUniformBuffers; BufferVector mAtomicCounterBuffers; BufferVector mShaderStorageBuffers; BindingPointer mTransformFeedback; PixelUnpackState mUnpack; PixelPackState mPack; bool mPrimitiveRestart; Debug mDebug; bool mMultiSampling; bool mSampleAlphaToOne; GLenum mCoverageModulation; GLfloat mPathMatrixMV[16]; GLfloat mPathMatrixProj[16]; GLenum mPathStencilFunc; GLint mPathStencilRef; GLuint mPathStencilMask; bool mFramebufferSRGB; const bool mRobustResourceInit; const bool mProgramBinaryCacheEnabled; GLuint mMaxShaderCompilerThreads; GLES1State mGLES1State; DirtyBits mDirtyBits; DirtyObjects mDirtyObjects; mutable AttributesMask mDirtyCurrentValues; ActiveTextureMask mDirtyTextures; ActiveTextureMask mDirtySamplers; ImageUnitMask mDirtyImages; const OverlayType *mOverlay; }; inline __attribute__((always_inline)) angle::Result State::syncDirtyObjects(const Context *context, const DirtyObjects &bitset) { const DirtyObjects &dirtyObjects = mDirtyObjects & bitset; for (size_t dirtyObject : dirtyObjects) { do { auto ANGLE_LOCAL_VAR = (this->*kDirtyObjectHandlers[dirtyObject])(context); if (__builtin_expect(!!(IsError(ANGLE_LOCAL_VAR)), 0)) { return ANGLE_LOCAL_VAR;; } } while (0); } mDirtyObjects &= ~dirtyObjects; return angle::Result::Continue; } } # 53 "../../third_party/angle/src/libANGLE/Context.h" 2 # 1 "../../third_party/angle/src/libANGLE/WorkerThread.h" 1 # 19 "../../third_party/angle/src/libANGLE/WorkerThread.h" # 1 "../../third_party/angle/src/libANGLE/features.h" 1 # 20 "../../third_party/angle/src/libANGLE/WorkerThread.h" 2 namespace angle { class WorkerThreadPool; class Closure { public: virtual ~Closure() = default; virtual void operator()() = 0; }; class WaitableEvent : angle::NonCopyable { public: WaitableEvent(); virtual ~WaitableEvent(); virtual void wait() = 0; virtual bool isReady() = 0; void setWorkerThreadPool(std::shared_ptr pool) { mPool = pool; } template static void WaitMany(std::array, Count> *waitables) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(Count > 0); for (size_t index = 0; index < Count; ++index) { (*waitables)[index]->wait(); } } private: std::shared_ptr mPool; }; class WaitableEventDone final : public WaitableEvent { public: void wait() override; bool isReady() override; }; class WorkerThreadPool : angle::NonCopyable { public: WorkerThreadPool(); virtual ~WorkerThreadPool(); static std::shared_ptr Create(bool multithreaded); static std::shared_ptr PostWorkerTask(std::shared_ptr pool, std::shared_ptr task); virtual void setMaxThreads(size_t maxThreads) = 0; virtual bool isAsync() = 0; private: virtual std::shared_ptr postWorkerTask(std::shared_ptr task) = 0; }; } # 55 "../../third_party/angle/src/libANGLE/Context.h" 2 namespace angle { class FrameCapture; struct FrontendFeatures; } namespace rx { class ContextImpl; class EGLImplFactory; } namespace egl { class AttributeMap; class Surface; struct Config; class Thread; } namespace gl { class Buffer; class Compiler; class FenceNV; class Framebuffer; class GLES1Renderer; class MemoryProgramCache; class MemoryObject; class Program; class ProgramPipeline; class Query; class Renderbuffer; class Sampler; class Semaphore; class Shader; class Sync; class Texture; class TransformFeedback; class VertexArray; struct VertexAttribute; class ErrorSet : angle::NonCopyable { public: explicit ErrorSet(Context *context); ~ErrorSet(); bool empty() const; GLenum popError(); void handleError(GLenum errorCode, const char *message, const char *file, const char *function, unsigned int line); void validationError(GLenum errorCode, const char *message); private: Context *mContext; std::set mErrors; }; enum class VertexAttribTypeCase { Invalid = 0, Valid = 1, ValidSize4Only = 2, ValidSize3or4 = 3, }; class StateCache final : angle::NonCopyable { public: StateCache(); ~StateCache(); void initialize(Context *context); AttributesMask getActiveBufferedAttribsMask() const { return mCachedActiveBufferedAttribsMask; } AttributesMask getActiveClientAttribsMask() const { return mCachedActiveClientAttribsMask; } AttributesMask getActiveDefaultAttribsMask() const { return mCachedActiveDefaultAttribsMask; } bool hasAnyEnabledClientAttrib() const { return mCachedHasAnyEnabledClientAttrib; } bool hasAnyActiveClientAttrib() const { return mCachedActiveClientAttribsMask.any(); } GLint64 getNonInstancedVertexElementLimit() const { return mCachedNonInstancedVertexElementLimit; } GLint64 getInstancedVertexElementLimit() const { return mCachedInstancedVertexElementLimit; } # 177 "../../third_party/angle/src/libANGLE/Context.h" bool hasBasicDrawStatesError(Context *context) const { if (mCachedBasicDrawStatesError == 0) { return false; } if (mCachedBasicDrawStatesError != kInvalidPointer) { return true; } return getBasicDrawStatesErrorImpl(context) != 0; } intptr_t getBasicDrawStatesError(Context *context) const { if (mCachedBasicDrawStatesError != kInvalidPointer) { return mCachedBasicDrawStatesError; } return getBasicDrawStatesErrorImpl(context); } intptr_t getBasicDrawElementsError(Context *context) const { if (mCachedBasicDrawElementsError != kInvalidPointer) { return mCachedBasicDrawElementsError; } return getBasicDrawElementsErrorImpl(context); } bool isValidDrawMode(PrimitiveMode primitiveMode) const { return mCachedValidDrawModes[primitiveMode]; } bool isValidBindTextureType(TextureType type) const { return mCachedValidBindTextureTypes[type]; } bool isValidDrawElementsType(DrawElementsType type) const { return mCachedValidDrawElementsTypes[type]; } bool isTransformFeedbackActiveUnpaused() const { return mCachedTransformFeedbackActiveUnpaused; } VertexAttribTypeCase getVertexAttribTypeValidation(VertexAttribType type) const { return mCachedVertexAttribTypesValidation[type]; } VertexAttribTypeCase getIntegerVertexAttribTypeValidation(VertexAttribType type) const { return mCachedIntegerVertexAttribTypesValidation[type]; } StorageBuffersMask getActiveShaderStorageBufferIndices() const { return mCachedActiveShaderStorageBufferIndices; } void onVertexArrayBindingChange(Context *context); void onProgramExecutableChange(Context *context); void onVertexArrayFormatChange(Context *context); void onVertexArrayBufferContentsChange(Context *context); void onVertexArrayStateChange(Context *context); void onVertexArrayBufferStateChange(Context *context); void onGLES1ClientStateChange(Context *context); void onDrawFramebufferChange(Context *context); void onContextCapChange(Context *context); void onStencilStateChange(Context *context); void onDefaultVertexAttributeChange(Context *context); void onActiveTextureChange(Context *context); void onQueryChange(Context *context); void onActiveTransformFeedbackChange(Context *context); void onUniformBufferStateChange(Context *context); void onColorMaskChange(Context *context); void onBufferBindingChange(Context *context); private: void updateActiveAttribsMask(Context *context); void updateVertexElementLimits(Context *context); void updateVertexElementLimitsImpl(Context *context); void updateValidDrawModes(Context *context); void updateValidBindTextureTypes(Context *context); void updateValidDrawElementsTypes(Context *context); void updateBasicDrawStatesError(); void updateBasicDrawElementsError(); void updateTransformFeedbackActiveUnpaused(Context *context); void updateVertexAttribTypesValidation(Context *context); void updateActiveShaderStorageBufferIndices(Context *context); void setValidDrawModes(bool pointsOK, bool linesOK, bool trisOK, bool lineAdjOK, bool triAdjOK); intptr_t getBasicDrawStatesErrorImpl(Context *context) const; intptr_t getBasicDrawElementsErrorImpl(Context *context) const; static constexpr intptr_t kInvalidPointer = 1; AttributesMask mCachedActiveBufferedAttribsMask; AttributesMask mCachedActiveClientAttribsMask; AttributesMask mCachedActiveDefaultAttribsMask; bool mCachedHasAnyEnabledClientAttrib; GLint64 mCachedNonInstancedVertexElementLimit; GLint64 mCachedInstancedVertexElementLimit; mutable intptr_t mCachedBasicDrawStatesError; mutable intptr_t mCachedBasicDrawElementsError; bool mCachedTransformFeedbackActiveUnpaused; StorageBuffersMask mCachedActiveShaderStorageBufferIndices; angle::PackedEnumMap() + 1> mCachedValidDrawModes; angle::PackedEnumMap() + 1> mCachedValidBindTextureTypes; angle::PackedEnumMap() + 1> mCachedValidDrawElementsTypes; angle::PackedEnumMap() + 1> mCachedVertexAttribTypesValidation; angle::PackedEnumMap() + 1> mCachedIntegerVertexAttribTypesValidation; }; class Context final : public egl::LabeledObject, angle::NonCopyable, public angle::ObserverInterface { public: Context(egl::Display *display, const egl::Config *config, const Context *shareContext, TextureManager *shareTextures, MemoryProgramCache *memoryProgramCache, const EGLenum clientType, const egl::AttributeMap &attribs, const egl::DisplayExtensions &displayExtensions, const egl::ClientExtensions &clientExtensions); int id() const { return mState.mID; } egl::Error onDestroy(const egl::Display *display); ~Context() override; void setLabel(EGLLabelKHR label) override; EGLLabelKHR getLabel() const override; egl::Error makeCurrent(egl::Display *display, egl::Surface *drawSurface, egl::Surface *readSurface); egl::Error unMakeCurrent(const egl::Display *display); BufferID createBuffer(); TextureID createTexture(); RenderbufferID createRenderbuffer(); ProgramPipelineID createProgramPipeline(); MemoryObjectID createMemoryObject(); SemaphoreID createSemaphore(); void deleteBuffer(BufferID buffer); void deleteTexture(TextureID texture); void deleteRenderbuffer(RenderbufferID renderbuffer); void deleteProgramPipeline(ProgramPipelineID pipeline); void deleteMemoryObject(MemoryObjectID memoryObject); void deleteSemaphore(SemaphoreID semaphore); bool isPathGenerated(PathID path) const; void bindReadFramebuffer(FramebufferID framebufferHandle); void bindDrawFramebuffer(FramebufferID framebufferHandle); Buffer *getBuffer(BufferID handle) const; FenceNV *getFenceNV(FenceNVID handle); Sync *getSync(GLsync handle) const; inline __attribute__((always_inline)) Texture *getTexture(TextureID handle) const { return mState.mTextureManager->getTexture(handle); } Framebuffer *getFramebuffer(FramebufferID handle) const; Renderbuffer *getRenderbuffer(RenderbufferID handle) const; VertexArray *getVertexArray(VertexArrayID handle) const; Sampler *getSampler(SamplerID handle) const; Query *getQuery(QueryID handle, bool create, QueryType type); Query *getQuery(QueryID handle) const; TransformFeedback *getTransformFeedback(TransformFeedbackID handle) const; ProgramPipeline *getProgramPipeline(ProgramPipelineID handle) const; MemoryObject *getMemoryObject(MemoryObjectID handle) const; Semaphore *getSemaphore(SemaphoreID handle) const; Texture *getTextureByType(TextureType type) const; Texture *getTextureByTarget(TextureTarget target) const; Texture *getSamplerTexture(unsigned int sampler, TextureType type) const; Compiler *getCompiler() const; bool isVertexArrayGenerated(VertexArrayID vertexArray); bool isTransformFeedbackGenerated(TransformFeedbackID transformFeedback); void getBooleanvImpl(GLenum pname, GLboolean *params); void getFloatvImpl(GLenum pname, GLfloat *params); void getIntegervImpl(GLenum pname, GLint *params); void getInteger64vImpl(GLenum pname, GLint64 *params); FramebufferID createFramebuffer(); void deleteFramebuffer(FramebufferID framebuffer); bool hasActiveTransformFeedback(ShaderProgramID program) const; void accum(GLenum op, GLfloat value); void begin(GLenum mode); void bitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap); void callList(GLuint list); void callLists(GLsizei n, GLenum type, const void *lists); void clearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); void clearDepth(GLdouble depth); void clearIndex(GLfloat c); void clipPlane(GLenum plane, const GLdouble *equation); void color3b(GLbyte red, GLbyte green, GLbyte blue); void color3bv(const GLbyte *v); void color3d(GLdouble red, GLdouble green, GLdouble blue); void color3dv(const GLdouble *v); void color3f(GLfloat red, GLfloat green, GLfloat blue); void color3fv(const GLfloat *v); void color3i(GLint red, GLint green, GLint blue); void color3iv(const GLint *v); void color3s(GLshort red, GLshort green, GLshort blue); void color3sv(const GLshort *v); void color3ub(GLubyte red, GLubyte green, GLubyte blue); void color3ubv(const GLubyte *v); void color3ui(GLuint red, GLuint green, GLuint blue); void color3uiv(const GLuint *v); void color3us(GLushort red, GLushort green, GLushort blue); void color3usv(const GLushort *v); void color4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); void color4bv(const GLbyte *v); void color4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); void color4dv(const GLdouble *v); void color4fv(const GLfloat *v); void color4i(GLint red, GLint green, GLint blue, GLint alpha); void color4iv(const GLint *v); void color4s(GLshort red, GLshort green, GLshort blue, GLshort alpha); void color4sv(const GLshort *v); void color4ubv(const GLubyte *v); void color4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha); void color4uiv(const GLuint *v); void color4us(GLushort red, GLushort green, GLushort blue, GLushort alpha); void color4usv(const GLushort *v); void colorMaterial(GLenum face, GLenum mode); void copyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); void deleteLists(GLuint list, GLsizei range); void depthRange(GLdouble n, GLdouble f); void drawBuffer(GLenum buf); void drawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); void edgeFlag(GLboolean flag); void edgeFlagv(const GLboolean *flag); void end(); void endList(); void evalCoord1d(GLdouble u); void evalCoord1dv(const GLdouble *u); void evalCoord1f(GLfloat u); void evalCoord1fv(const GLfloat *u); void evalCoord2d(GLdouble u, GLdouble v); void evalCoord2dv(const GLdouble *u); void evalCoord2f(GLfloat u, GLfloat v); void evalCoord2fv(const GLfloat *u); void evalMesh1(GLenum mode, GLint i1, GLint i2); void evalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); void evalPoint1(GLint i); void evalPoint2(GLint i, GLint j); void feedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer); void fogi(GLenum pname, GLint param); void fogiv(GLenum pname, const GLint *params); void frustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); GLuint genLists(GLsizei range); void getClipPlane(GLenum plane, GLdouble *equation); void getDoublev(GLenum pname, GLdouble *data); void getLightiv(GLenum light, GLenum pname, GLint *params); void getMapdv(GLenum target, GLenum query, GLdouble *v); void getMapfv(GLenum target, GLenum query, GLfloat *v); void getMapiv(GLenum target, GLenum query, GLint *v); void getMaterialiv(GLenum face, GLenum pname, GLint *params); void getPixelMapfv(GLenum map, GLfloat *values); void getPixelMapuiv(GLenum map, GLuint *values); void getPixelMapusv(GLenum map, GLushort *values); void getPolygonStipple(GLubyte *mask); void getTexGendv(GLenum coord, GLenum pname, GLdouble *params); void indexMask(GLuint mask); void indexd(GLdouble c); void indexdv(const GLdouble *c); void indexf(GLfloat c); void indexfv(const GLfloat *c); void indexi(GLint c); void indexiv(const GLint *c); void indexs(GLshort c); void indexsv(const GLshort *c); void initNames(); GLboolean isList(GLuint list); void lightModeli(GLenum pname, GLint param); void lightModeliv(GLenum pname, const GLint *params); void lighti(GLenum light, GLenum pname, GLint param); void lightiv(GLenum light, GLenum pname, const GLint *params); void lineStipple(GLint factor, GLushort pattern); void listBase(GLuint base); void loadMatrixd(const GLdouble *m); void loadName(GLuint name); void map1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); void map1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); void map2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); void map2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); void mapGrid1d(GLint un, GLdouble u1, GLdouble u2); void mapGrid1f(GLint un, GLfloat u1, GLfloat u2); void mapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); void mapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); void materiali(GLenum face, GLenum pname, GLint param); void materialiv(GLenum face, GLenum pname, const GLint *params); void multMatrixd(const GLdouble *m); void newList(GLuint list, GLenum mode); void normal3b(GLbyte nx, GLbyte ny, GLbyte nz); void normal3bv(const GLbyte *v); void normal3d(GLdouble nx, GLdouble ny, GLdouble nz); void normal3dv(const GLdouble *v); void normal3fv(const GLfloat *v); void normal3i(GLint nx, GLint ny, GLint nz); void normal3iv(const GLint *v); void normal3s(GLshort nx, GLshort ny, GLshort nz); void normal3sv(const GLshort *v); void ortho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); void passThrough(GLfloat token); void pixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values); void pixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values); void pixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values); void pixelStoref(GLenum pname, GLfloat param); void pixelTransferf(GLenum pname, GLfloat param); void pixelTransferi(GLenum pname, GLint param); void pixelZoom(GLfloat xfactor, GLfloat yfactor); void polygonMode(GLenum face, GLenum mode); void polygonStipple(const GLubyte *mask); void popAttrib(); void popName(); void pushAttrib(GLbitfield mask); void pushName(GLuint name); void rasterPos2d(GLdouble x, GLdouble y); void rasterPos2dv(const GLdouble *v); void rasterPos2f(GLfloat x, GLfloat y); void rasterPos2fv(const GLfloat *v); void rasterPos2i(GLint x, GLint y); void rasterPos2iv(const GLint *v); void rasterPos2s(GLshort x, GLshort y); void rasterPos2sv(const GLshort *v); void rasterPos3d(GLdouble x, GLdouble y, GLdouble z); void rasterPos3dv(const GLdouble *v); void rasterPos3f(GLfloat x, GLfloat y, GLfloat z); void rasterPos3fv(const GLfloat *v); void rasterPos3i(GLint x, GLint y, GLint z); void rasterPos3iv(const GLint *v); void rasterPos3s(GLshort x, GLshort y, GLshort z); void rasterPos3sv(const GLshort *v); void rasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w); void rasterPos4dv(const GLdouble *v); void rasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w); void rasterPos4fv(const GLfloat *v); void rasterPos4i(GLint x, GLint y, GLint z, GLint w); void rasterPos4iv(const GLint *v); void rasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w); void rasterPos4sv(const GLshort *v); void rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); void rectdv(const GLdouble *v1, const GLdouble *v2); void rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); void rectfv(const GLfloat *v1, const GLfloat *v2); void recti(GLint x1, GLint y1, GLint x2, GLint y2); void rectiv(const GLint *v1, const GLint *v2); void rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2); void rectsv(const GLshort *v1, const GLshort *v2); GLint renderMode(GLenum mode); void rotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z); void scaled(GLdouble x, GLdouble y, GLdouble z); void selectBuffer(GLsizei size, GLuint *buffer); void texCoord1d(GLdouble s); void texCoord1dv(const GLdouble *v); void texCoord1f(GLfloat s); void texCoord1fv(const GLfloat *v); void texCoord1i(GLint s); void texCoord1iv(const GLint *v); void texCoord1s(GLshort s); void texCoord1sv(const GLshort *v); void texCoord2d(GLdouble s, GLdouble t); void texCoord2dv(const GLdouble *v); void texCoord2f(GLfloat s, GLfloat t); void texCoord2fv(const GLfloat *v); void texCoord2i(GLint s, GLint t); void texCoord2iv(const GLint *v); void texCoord2s(GLshort s, GLshort t); void texCoord2sv(const GLshort *v); void texCoord3d(GLdouble s, GLdouble t, GLdouble r); void texCoord3dv(const GLdouble *v); void texCoord3f(GLfloat s, GLfloat t, GLfloat r); void texCoord3fv(const GLfloat *v); void texCoord3i(GLint s, GLint t, GLint r); void texCoord3iv(const GLint *v); void texCoord3s(GLshort s, GLshort t, GLshort r); void texCoord3sv(const GLshort *v); void texCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q); void texCoord4dv(const GLdouble *v); void texCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q); void texCoord4fv(const GLfloat *v); void texCoord4i(GLint s, GLint t, GLint r, GLint q); void texCoord4iv(const GLint *v); void texCoord4s(GLshort s, GLshort t, GLshort r, GLshort q); void texCoord4sv(const GLshort *v); void texGend(GLenum coord, GLenum pname, GLdouble param); void texGendv(GLenum coord, GLenum pname, const GLdouble *params); void texImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); void translated(GLdouble x, GLdouble y, GLdouble z); void vertex2d(GLdouble x, GLdouble y); void vertex2dv(const GLdouble *v); void vertex2f(GLfloat x, GLfloat y); void vertex2fv(const GLfloat *v); void vertex2i(GLint x, GLint y); void vertex2iv(const GLint *v); void vertex2s(GLshort x, GLshort y); void vertex2sv(const GLshort *v); void vertex3d(GLdouble x, GLdouble y, GLdouble z); void vertex3dv(const GLdouble *v); void vertex3f(GLfloat x, GLfloat y, GLfloat z); void vertex3fv(const GLfloat *v); void vertex3i(GLint x, GLint y, GLint z); void vertex3iv(const GLint *v); void vertex3s(GLshort x, GLshort y, GLshort z); void vertex3sv(const GLshort *v); void vertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w); void vertex4dv(const GLdouble *v); void vertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w); void vertex4fv(const GLfloat *v); void vertex4i(GLint x, GLint y, GLint z, GLint w); void vertex4iv(const GLint *v); void vertex4s(GLshort x, GLshort y, GLshort z, GLshort w); void vertex4sv(const GLshort *v); GLboolean areTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences); void arrayElement(GLint i); void copyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); void copyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); void edgeFlagPointer(GLsizei stride, const void *pointer); void indexPointer(GLenum type, GLsizei stride, const void *pointer); void indexub(GLubyte c); void indexubv(const GLubyte *c); void interleavedArrays(GLenum format, GLsizei stride, const void *pointer); void popClientAttrib(); void prioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities); void pushClientAttrib(GLbitfield mask); void texSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); void compressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); void compressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); void getCompressedTexImage(GLenum target, GLint level, void *img); void loadTransposeMatrixd(const GLdouble *m); void loadTransposeMatrixf(const GLfloat *m); void multTransposeMatrixd(const GLdouble *m); void multTransposeMatrixf(const GLfloat *m); void multiTexCoord1d(GLenum target, GLdouble s); void multiTexCoord1dv(GLenum target, const GLdouble *v); void multiTexCoord1f(GLenum target, GLfloat s); void multiTexCoord1fv(GLenum target, const GLfloat *v); void multiTexCoord1i(GLenum target, GLint s); void multiTexCoord1iv(GLenum target, const GLint *v); void multiTexCoord1s(GLenum target, GLshort s); void multiTexCoord1sv(GLenum target, const GLshort *v); void multiTexCoord2d(GLenum target, GLdouble s, GLdouble t); void multiTexCoord2dv(GLenum target, const GLdouble *v); void multiTexCoord2f(GLenum target, GLfloat s, GLfloat t); void multiTexCoord2fv(GLenum target, const GLfloat *v); void multiTexCoord2i(GLenum target, GLint s, GLint t); void multiTexCoord2iv(GLenum target, const GLint *v); void multiTexCoord2s(GLenum target, GLshort s, GLshort t); void multiTexCoord2sv(GLenum target, const GLshort *v); void multiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r); void multiTexCoord3dv(GLenum target, const GLdouble *v); void multiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r); void multiTexCoord3fv(GLenum target, const GLfloat *v); void multiTexCoord3i(GLenum target, GLint s, GLint t, GLint r); void multiTexCoord3iv(GLenum target, const GLint *v); void multiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r); void multiTexCoord3sv(GLenum target, const GLshort *v); void multiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); void multiTexCoord4dv(GLenum target, const GLdouble *v); void multiTexCoord4fv(GLenum target, const GLfloat *v); void multiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q); void multiTexCoord4iv(GLenum target, const GLint *v); void multiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); void multiTexCoord4sv(GLenum target, const GLshort *v); void fogCoordPointer(GLenum type, GLsizei stride, const void *pointer); void fogCoordd(GLdouble coord); void fogCoorddv(const GLdouble *coord); void fogCoordf(GLfloat coord); void fogCoordfv(const GLfloat *coord); void pointParameteri(GLenum pname, GLint param); void pointParameteriv(GLenum pname, const GLint *params); void secondaryColor3b(GLbyte red, GLbyte green, GLbyte blue); void secondaryColor3bv(const GLbyte *v); void secondaryColor3d(GLdouble red, GLdouble green, GLdouble blue); void secondaryColor3dv(const GLdouble *v); void secondaryColor3f(GLfloat red, GLfloat green, GLfloat blue); void secondaryColor3fv(const GLfloat *v); void secondaryColor3i(GLint red, GLint green, GLint blue); void secondaryColor3iv(const GLint *v); void secondaryColor3s(GLshort red, GLshort green, GLshort blue); void secondaryColor3sv(const GLshort *v); void secondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue); void secondaryColor3ubv(const GLubyte *v); void secondaryColor3ui(GLuint red, GLuint green, GLuint blue); void secondaryColor3uiv(const GLuint *v); void secondaryColor3us(GLushort red, GLushort green, GLushort blue); void secondaryColor3usv(const GLushort *v); void secondaryColorPointer(GLint size, GLenum type, GLsizei stride, const void *pointer); void windowPos2d(GLdouble x, GLdouble y); void windowPos2dv(const GLdouble *v); void windowPos2f(GLfloat x, GLfloat y); void windowPos2fv(const GLfloat *v); void windowPos2i(GLint x, GLint y); void windowPos2iv(const GLint *v); void windowPos2s(GLshort x, GLshort y); void windowPos2sv(const GLshort *v); void windowPos3d(GLdouble x, GLdouble y, GLdouble z); void windowPos3dv(const GLdouble *v); void windowPos3f(GLfloat x, GLfloat y, GLfloat z); void windowPos3fv(const GLfloat *v); void windowPos3i(GLint x, GLint y, GLint z); void windowPos3iv(const GLint *v); void windowPos3s(GLshort x, GLshort y, GLshort z); void windowPos3sv(const GLshort *v); void getBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data); void getVertexAttribdv(GLuint index, GLenum pname, GLdouble *params); void vertexAttrib1d(GLuint index, GLdouble x); void vertexAttrib1dv(GLuint index, const GLdouble *v); void vertexAttrib1s(GLuint index, GLshort x); void vertexAttrib1sv(GLuint index, const GLshort *v); void vertexAttrib2d(GLuint index, GLdouble x, GLdouble y); void vertexAttrib2dv(GLuint index, const GLdouble *v); void vertexAttrib2s(GLuint index, GLshort x, GLshort y); void vertexAttrib2sv(GLuint index, const GLshort *v); void vertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z); void vertexAttrib3dv(GLuint index, const GLdouble *v); void vertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z); void vertexAttrib3sv(GLuint index, const GLshort *v); void vertexAttrib4Nbv(GLuint index, const GLbyte *v); void vertexAttrib4Niv(GLuint index, const GLint *v); void vertexAttrib4Nsv(GLuint index, const GLshort *v); void vertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); void vertexAttrib4Nubv(GLuint index, const GLubyte *v); void vertexAttrib4Nuiv(GLuint index, const GLuint *v); void vertexAttrib4Nusv(GLuint index, const GLushort *v); void vertexAttrib4bv(GLuint index, const GLbyte *v); void vertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void vertexAttrib4dv(GLuint index, const GLdouble *v); void vertexAttrib4iv(GLuint index, const GLint *v); void vertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); void vertexAttrib4sv(GLuint index, const GLshort *v); void vertexAttrib4ubv(GLuint index, const GLubyte *v); void vertexAttrib4uiv(GLuint index, const GLuint *v); void vertexAttrib4usv(GLuint index, const GLushort *v); void beginConditionalRender(GLuint id, GLenum mode); void clampColor(GLenum target, GLenum clamp); void endConditionalRender(); void framebufferTexture1D(GLenum target, GLenum attachment, TextureTarget textargetPacked, TextureID texturePacked, GLint level); void vertexAttribI1i(GLuint index, GLint x); void vertexAttribI1iv(GLuint index, const GLint *v); void vertexAttribI1ui(GLuint index, GLuint x); void vertexAttribI1uiv(GLuint index, const GLuint *v); void vertexAttribI2i(GLuint index, GLint x, GLint y); void vertexAttribI2iv(GLuint index, const GLint *v); void vertexAttribI2ui(GLuint index, GLuint x, GLuint y); void vertexAttribI2uiv(GLuint index, const GLuint *v); void vertexAttribI3i(GLuint index, GLint x, GLint y, GLint z); void vertexAttribI3iv(GLuint index, const GLint *v); void vertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z); void vertexAttribI3uiv(GLuint index, const GLuint *v); void vertexAttribI4bv(GLuint index, const GLbyte *v); void vertexAttribI4sv(GLuint index, const GLshort *v); void vertexAttribI4ubv(GLuint index, const GLubyte *v); void vertexAttribI4usv(GLuint index, const GLushort *v); void getActiveUniformName(ShaderProgramID programPacked, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName); void primitiveRestartIndex(GLuint index); void texImage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); void texImage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); void colorP3ui(GLenum type, GLuint color); void colorP3uiv(GLenum type, const GLuint *color); void colorP4ui(GLenum type, GLuint color); void colorP4uiv(GLenum type, const GLuint *color); void multiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords); void multiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords); void multiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords); void multiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords); void multiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords); void multiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords); void multiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords); void multiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords); void normalP3ui(GLenum type, GLuint coords); void normalP3uiv(GLenum type, const GLuint *coords); void secondaryColorP3ui(GLenum type, GLuint color); void secondaryColorP3uiv(GLenum type, const GLuint *color); void texCoordP1ui(GLenum type, GLuint coords); void texCoordP1uiv(GLenum type, const GLuint *coords); void texCoordP2ui(GLenum type, GLuint coords); void texCoordP2uiv(GLenum type, const GLuint *coords); void texCoordP3ui(GLenum type, GLuint coords); void texCoordP3uiv(GLenum type, const GLuint *coords); void texCoordP4ui(GLenum type, GLuint coords); void texCoordP4uiv(GLenum type, const GLuint *coords); void vertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value); void vertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); void vertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value); void vertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); void vertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value); void vertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); void vertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value); void vertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); void vertexP2ui(GLenum type, GLuint value); void vertexP2uiv(GLenum type, const GLuint *value); void vertexP3ui(GLenum type, GLuint value); void vertexP3uiv(GLenum type, const GLuint *value); void vertexP4ui(GLenum type, GLuint value); void vertexP4uiv(GLenum type, const GLuint *value); void beginQueryIndexed(GLenum target, GLuint index, QueryID idPacked); void drawTransformFeedback(GLenum mode, TransformFeedbackID idPacked); void drawTransformFeedbackStream(GLenum mode, TransformFeedbackID idPacked, GLuint stream); void endQueryIndexed(GLenum target, GLuint index); void getActiveSubroutineName(ShaderProgramID programPacked, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name); void getActiveSubroutineUniformName(ShaderProgramID programPacked, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name); void getActiveSubroutineUniformiv(ShaderProgramID programPacked, GLenum shadertype, GLuint index, GLenum pname, GLint *values); void getProgramStageiv(ShaderProgramID programPacked, GLenum shadertype, GLenum pname, GLint *values); void getQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params); GLuint getSubroutineIndex(ShaderProgramID programPacked, GLenum shadertype, const GLchar *name); GLint getSubroutineUniformLocation(ShaderProgramID programPacked, GLenum shadertype, const GLchar *name); void getUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params); void getUniformdv(ShaderProgramID programPacked, GLint location, GLdouble *params); void patchParameterfv(GLenum pname, const GLfloat *values); void uniform1d(GLint location, GLdouble x); void uniform1dv(GLint location, GLsizei count, const GLdouble *value); void uniform2d(GLint location, GLdouble x, GLdouble y); void uniform2dv(GLint location, GLsizei count, const GLdouble *value); void uniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z); void uniform3dv(GLint location, GLsizei count, const GLdouble *value); void uniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void uniform4dv(GLint location, GLsizei count, const GLdouble *value); void uniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void uniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void uniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void uniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void uniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void uniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void uniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void uniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void uniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void uniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices); void depthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v); void depthRangeIndexed(GLuint index, GLdouble n, GLdouble f); void getDoublei_v(GLenum target, GLuint index, GLdouble *data); void getFloati_v(GLenum target, GLuint index, GLfloat *data); void getVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params); void programUniform1d(ShaderProgramID programPacked, GLint location, GLdouble v0); void programUniform1dv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLdouble *value); void programUniform2d(ShaderProgramID programPacked, GLint location, GLdouble v0, GLdouble v1); void programUniform2dv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLdouble *value); void programUniform3d(ShaderProgramID programPacked, GLint location, GLdouble v0, GLdouble v1, GLdouble v2); void programUniform3dv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLdouble *value); void programUniform4d(ShaderProgramID programPacked, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3); void programUniform4dv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLdouble *value); void programUniformMatrix2dv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void programUniformMatrix2x3dv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void programUniformMatrix2x4dv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void programUniformMatrix3dv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void programUniformMatrix3x2dv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void programUniformMatrix3x4dv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void programUniformMatrix4dv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void programUniformMatrix4x2dv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void programUniformMatrix4x3dv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); void scissorArrayv(GLuint first, GLsizei count, const GLint *v); void scissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); void scissorIndexedv(GLuint index, const GLint *v); void vertexAttribL1d(GLuint index, GLdouble x); void vertexAttribL1dv(GLuint index, const GLdouble *v); void vertexAttribL2d(GLuint index, GLdouble x, GLdouble y); void vertexAttribL2dv(GLuint index, const GLdouble *v); void vertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z); void vertexAttribL3dv(GLuint index, const GLdouble *v); void vertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void vertexAttribL4dv(GLuint index, const GLdouble *v); void vertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); void viewportArrayv(GLuint first, GLsizei count, const GLfloat *v); void viewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); void viewportIndexedfv(GLuint index, const GLfloat *v); void drawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); void drawTransformFeedbackInstanced(GLenum mode, TransformFeedbackID idPacked, GLsizei instancecount); void drawTransformFeedbackStreamInstanced(GLenum mode, TransformFeedbackID idPacked, GLuint stream, GLsizei instancecount); void getActiveAtomicCounterBufferiv(ShaderProgramID programPacked, GLuint bufferIndex, GLenum pname, GLint *params); void clearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data); void clearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); void getInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params); void invalidateBufferData(BufferID bufferPacked); void invalidateBufferSubData(BufferID bufferPacked, GLintptr offset, GLsizeiptr length); void invalidateTexImage(TextureID texturePacked, GLint level); void invalidateTexSubImage(TextureID texturePacked, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); void multiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride); void multiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride); void shaderStorageBlockBinding(ShaderProgramID programPacked, GLuint storageBlockIndex, GLuint storageBlockBinding); void textureView(TextureID texturePacked, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); void vertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); void bindBuffersBase(GLenum target, GLuint first, GLsizei count, const BufferID *buffersPacked); void bindBuffersRange(GLenum target, GLuint first, GLsizei count, const BufferID *buffersPacked, const GLintptr *offsets, const GLsizeiptr *sizes); void bindImageTextures(GLuint first, GLsizei count, const GLuint *textures); void bindSamplers(GLuint first, GLsizei count, const GLuint *samplers); void bindTextures(GLuint first, GLsizei count, const GLuint *textures); void bindVertexBuffers(GLuint first, GLsizei count, const BufferID *buffersPacked, const GLintptr *offsets, const GLsizei *strides); void bufferStorage(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); void clearTexImage(TextureID texturePacked, GLint level, GLenum format, GLenum type, const void *data); void clearTexSubImage(TextureID texturePacked, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); void bindTextureUnit(GLuint unit, TextureID texturePacked); void blitNamedFramebuffer(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); GLenum checkNamedFramebufferStatus(FramebufferID framebufferPacked, GLenum target); void clearNamedBufferData(BufferID bufferPacked, GLenum internalformat, GLenum format, GLenum type, const void *data); void clearNamedBufferSubData(BufferID bufferPacked, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); void clearNamedFramebufferfi(FramebufferID framebufferPacked, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); void clearNamedFramebufferfv(FramebufferID framebufferPacked, GLenum buffer, GLint drawbuffer, const GLfloat *value); void clearNamedFramebufferiv(FramebufferID framebufferPacked, GLenum buffer, GLint drawbuffer, const GLint *value); void clearNamedFramebufferuiv(FramebufferID framebufferPacked, GLenum buffer, GLint drawbuffer, const GLuint *value); void clipControl(GLenum origin, GLenum depth); void compressedTextureSubImage1D(TextureID texturePacked, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); void compressedTextureSubImage2D(TextureID texturePacked, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); void compressedTextureSubImage3D(TextureID texturePacked, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); void copyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); void copyTextureSubImage1D(TextureID texturePacked, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); void copyTextureSubImage2D(TextureID texturePacked, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); void copyTextureSubImage3D(TextureID texturePacked, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); void createBuffers(GLsizei n, BufferID *buffersPacked); void createFramebuffers(GLsizei n, GLuint *framebuffers); void createProgramPipelines(GLsizei n, GLuint *pipelines); void createQueries(GLenum target, GLsizei n, GLuint *ids); void createRenderbuffers(GLsizei n, RenderbufferID *renderbuffersPacked); void createSamplers(GLsizei n, GLuint *samplers); void createTextures(GLenum target, GLsizei n, GLuint *textures); void createTransformFeedbacks(GLsizei n, GLuint *ids); void createVertexArrays(GLsizei n, VertexArrayID *arraysPacked); void disableVertexArrayAttrib(VertexArrayID vaobjPacked, GLuint index); void enableVertexArrayAttrib(VertexArrayID vaobjPacked, GLuint index); void flushMappedNamedBufferRange(BufferID bufferPacked, GLintptr offset, GLsizeiptr length); void generateTextureMipmap(TextureID texturePacked); void getCompressedTextureImage(TextureID texturePacked, GLint level, GLsizei bufSize, void *pixels); void getCompressedTextureSubImage(TextureID texturePacked, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels); void getNamedBufferParameteri64v(BufferID bufferPacked, GLenum pname, GLint64 *params); void getNamedBufferParameteriv(BufferID bufferPacked, GLenum pname, GLint *params); void getNamedBufferPointerv(BufferID bufferPacked, GLenum pname, void **params); void getNamedBufferSubData(BufferID bufferPacked, GLintptr offset, GLsizeiptr size, void *data); void getNamedFramebufferAttachmentParameteriv(FramebufferID framebufferPacked, GLenum attachment, GLenum pname, GLint *params); void getNamedFramebufferParameteriv(FramebufferID framebufferPacked, GLenum pname, GLint *param); void getNamedRenderbufferParameteriv(RenderbufferID renderbufferPacked, GLenum pname, GLint *params); void getQueryBufferObjecti64v(GLuint id, BufferID bufferPacked, GLenum pname, GLintptr offset); void getQueryBufferObjectiv(GLuint id, BufferID bufferPacked, GLenum pname, GLintptr offset); void getQueryBufferObjectui64v(GLuint id, BufferID bufferPacked, GLenum pname, GLintptr offset); void getQueryBufferObjectuiv(GLuint id, BufferID bufferPacked, GLenum pname, GLintptr offset); void getTextureImage(TextureID texturePacked, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); void getTextureLevelParameterfv(TextureID texturePacked, GLint level, GLenum pname, GLfloat *params); void getTextureLevelParameteriv(TextureID texturePacked, GLint level, GLenum pname, GLint *params); void getTextureParameterIiv(TextureID texturePacked, GLenum pname, GLint *params); void getTextureParameterIuiv(TextureID texturePacked, GLenum pname, GLuint *params); void getTextureParameterfv(TextureID texturePacked, GLenum pname, GLfloat *params); void getTextureParameteriv(TextureID texturePacked, GLenum pname, GLint *params); void getTextureSubImage(TextureID texturePacked, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels); void getTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index, GLint64 *param); void getTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index, GLint *param); void getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param); void getVertexArrayIndexed64iv(VertexArrayID vaobjPacked, GLuint index, GLenum pname, GLint64 *param); void getVertexArrayIndexediv(VertexArrayID vaobjPacked, GLuint index, GLenum pname, GLint *param); void getVertexArrayiv(VertexArrayID vaobjPacked, GLenum pname, GLint *param); void getnColorTable(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table); void getnCompressedTexImage(GLenum target, GLint lod, GLsizei bufSize, void *pixels); void getnConvolutionFilter(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image); void getnHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values); void getnMapdv(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v); void getnMapfv(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v); void getnMapiv(GLenum target, GLenum query, GLsizei bufSize, GLint *v); void getnMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values); void getnPixelMapfv(GLenum map, GLsizei bufSize, GLfloat *values); void getnPixelMapuiv(GLenum map, GLsizei bufSize, GLuint *values); void getnPixelMapusv(GLenum map, GLsizei bufSize, GLushort *values); void getnPolygonStipple(GLsizei bufSize, GLubyte *pattern); void getnSeparableFilter(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span); void getnTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); void getnUniformdv(ShaderProgramID programPacked, GLint location, GLsizei bufSize, GLdouble *params); void invalidateNamedFramebufferData(FramebufferID framebufferPacked, GLsizei numAttachments, const GLenum *attachments); void invalidateNamedFramebufferSubData(FramebufferID framebufferPacked, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); void *mapNamedBuffer(BufferID bufferPacked, GLenum access); void *mapNamedBufferRange(BufferID bufferPacked, GLintptr offset, GLsizeiptr length, GLbitfield access); void namedBufferData(BufferID bufferPacked, GLsizeiptr size, const void *data, GLenum usage); void namedBufferStorage(BufferID bufferPacked, GLsizeiptr size, const void *data, GLbitfield flags); void namedBufferSubData(BufferID bufferPacked, GLintptr offset, GLsizeiptr size, const void *data); void namedFramebufferDrawBuffer(FramebufferID framebufferPacked, GLenum buf); void namedFramebufferDrawBuffers(FramebufferID framebufferPacked, GLsizei n, const GLenum *bufs); void namedFramebufferParameteri(FramebufferID framebufferPacked, GLenum pname, GLint param); void namedFramebufferReadBuffer(FramebufferID framebufferPacked, GLenum src); void namedFramebufferRenderbuffer(FramebufferID framebufferPacked, GLenum attachment, GLenum renderbuffertarget, RenderbufferID renderbufferPacked); void namedFramebufferTexture(FramebufferID framebufferPacked, GLenum attachment, TextureID texturePacked, GLint level); void namedFramebufferTextureLayer(FramebufferID framebufferPacked, GLenum attachment, TextureID texturePacked, GLint level, GLint layer); void namedRenderbufferStorage(RenderbufferID renderbufferPacked, GLenum internalformat, GLsizei width, GLsizei height); void namedRenderbufferStorageMultisample(RenderbufferID renderbufferPacked, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); void textureBarrier(); void textureBuffer(TextureID texturePacked, GLenum internalformat, BufferID bufferPacked); void textureBufferRange(TextureID texturePacked, GLenum internalformat, BufferID bufferPacked, GLintptr offset, GLsizeiptr size); void textureParameterIiv(TextureID texturePacked, GLenum pname, const GLint *params); void textureParameterIuiv(TextureID texturePacked, GLenum pname, const GLuint *params); void textureParameterf(TextureID texturePacked, GLenum pname, GLfloat param); void textureParameterfv(TextureID texturePacked, GLenum pname, const GLfloat *param); void textureParameteri(TextureID texturePacked, GLenum pname, GLint param); void textureParameteriv(TextureID texturePacked, GLenum pname, const GLint *param); void textureStorage1D(TextureID texturePacked, GLsizei levels, GLenum internalformat, GLsizei width); void textureStorage2D(TextureID texturePacked, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); void textureStorage2DMultisample(TextureID texturePacked, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); void textureStorage3D(TextureID texturePacked, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); void textureStorage3DMultisample(TextureID texturePacked, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); void textureSubImage1D(TextureID texturePacked, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); void textureSubImage2D(TextureID texturePacked, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); void textureSubImage3D(TextureID texturePacked, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); void transformFeedbackBufferBase(GLuint xfb, GLuint index, BufferID bufferPacked); void transformFeedbackBufferRange(GLuint xfb, GLuint index, BufferID bufferPacked, GLintptr offset, GLsizeiptr size); GLboolean unmapNamedBuffer(BufferID bufferPacked); void vertexArrayAttribBinding(VertexArrayID vaobjPacked, GLuint attribindex, GLuint bindingindex); void vertexArrayAttribFormat(VertexArrayID vaobjPacked, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); void vertexArrayAttribIFormat(VertexArrayID vaobjPacked, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); void vertexArrayAttribLFormat(VertexArrayID vaobjPacked, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); void vertexArrayBindingDivisor(VertexArrayID vaobjPacked, GLuint bindingindex, GLuint divisor); void vertexArrayElementBuffer(VertexArrayID vaobjPacked, BufferID bufferPacked); void vertexArrayVertexBuffer(VertexArrayID vaobjPacked, GLuint bindingindex, BufferID bufferPacked, GLintptr offset, GLsizei stride); void vertexArrayVertexBuffers(VertexArrayID vaobjPacked, GLuint first, GLsizei count, const BufferID *buffersPacked, const GLintptr *offsets, const GLsizei *strides); void multiDrawArraysIndirectCount(GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); void multiDrawElementsIndirectCount(GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); void polygonOffsetClamp(GLfloat factor, GLfloat units, GLfloat clamp); void specializeShader(GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue); void alphaFunc(AlphaTestFunc funcPacked, GLfloat ref); void alphaFuncx(AlphaTestFunc funcPacked, GLfixed ref); void clearColorx(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); void clearDepthx(GLfixed depth); void clientActiveTexture(GLenum texture); void clipPlanef(GLenum p, const GLfloat *eqn); void clipPlanex(GLenum plane, const GLfixed *equation); void color4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); void color4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); void color4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); void colorPointer(GLint size, VertexAttribType typePacked, GLsizei stride, const void *pointer); void depthRangex(GLfixed n, GLfixed f); void disableClientState(ClientVertexArrayType arrayPacked); void enableClientState(ClientVertexArrayType arrayPacked); void fogf(GLenum pname, GLfloat param); void fogfv(GLenum pname, const GLfloat *params); void fogx(GLenum pname, GLfixed param); void fogxv(GLenum pname, const GLfixed *param); void frustumf(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); void frustumx(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); void getClipPlanef(GLenum plane, GLfloat *equation); void getClipPlanex(GLenum plane, GLfixed *equation); void getFixedv(GLenum pname, GLfixed *params); void getLightfv(GLenum light, LightParameter pnamePacked, GLfloat *params); void getLightxv(GLenum light, LightParameter pnamePacked, GLfixed *params); void getMaterialfv(GLenum face, MaterialParameter pnamePacked, GLfloat *params); void getMaterialxv(GLenum face, MaterialParameter pnamePacked, GLfixed *params); void getTexEnvfv(TextureEnvTarget targetPacked, TextureEnvParameter pnamePacked, GLfloat *params); void getTexEnviv(TextureEnvTarget targetPacked, TextureEnvParameter pnamePacked, GLint *params); void getTexEnvxv(TextureEnvTarget targetPacked, TextureEnvParameter pnamePacked, GLfixed *params); void getTexParameterxv(TextureType targetPacked, GLenum pname, GLfixed *params); void lightModelf(GLenum pname, GLfloat param); void lightModelfv(GLenum pname, const GLfloat *params); void lightModelx(GLenum pname, GLfixed param); void lightModelxv(GLenum pname, const GLfixed *param); void lightf(GLenum light, LightParameter pnamePacked, GLfloat param); void lightfv(GLenum light, LightParameter pnamePacked, const GLfloat *params); void lightx(GLenum light, LightParameter pnamePacked, GLfixed param); void lightxv(GLenum light, LightParameter pnamePacked, const GLfixed *params); void lineWidthx(GLfixed width); void loadIdentity(); void loadMatrixf(const GLfloat *m); void loadMatrixx(const GLfixed *m); void logicOp(LogicalOperation opcodePacked); void materialf(GLenum face, MaterialParameter pnamePacked, GLfloat param); void materialfv(GLenum face, MaterialParameter pnamePacked, const GLfloat *params); void materialx(GLenum face, MaterialParameter pnamePacked, GLfixed param); void materialxv(GLenum face, MaterialParameter pnamePacked, const GLfixed *param); void matrixMode(MatrixType modePacked); void multMatrixf(const GLfloat *m); void multMatrixx(const GLfixed *m); void multiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); void multiTexCoord4x(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q); void normal3f(GLfloat nx, GLfloat ny, GLfloat nz); void normal3x(GLfixed nx, GLfixed ny, GLfixed nz); void normalPointer(VertexAttribType typePacked, GLsizei stride, const void *pointer); void orthof(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); void orthox(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); void pointParameterf(PointParameter pnamePacked, GLfloat param); void pointParameterfv(PointParameter pnamePacked, const GLfloat *params); void pointParameterx(PointParameter pnamePacked, GLfixed param); void pointParameterxv(PointParameter pnamePacked, const GLfixed *params); void pointSize(GLfloat size); void pointSizex(GLfixed size); void polygonOffsetx(GLfixed factor, GLfixed units); void popMatrix(); void pushMatrix(); void rotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); void rotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z); void sampleCoveragex(GLclampx value, GLboolean invert); void scalef(GLfloat x, GLfloat y, GLfloat z); void scalex(GLfixed x, GLfixed y, GLfixed z); void shadeModel(ShadingModel modePacked); void texCoordPointer(GLint size, VertexAttribType typePacked, GLsizei stride, const void *pointer); void texEnvf(TextureEnvTarget targetPacked, TextureEnvParameter pnamePacked, GLfloat param); void texEnvfv(TextureEnvTarget targetPacked, TextureEnvParameter pnamePacked, const GLfloat *params); void texEnvi(TextureEnvTarget targetPacked, TextureEnvParameter pnamePacked, GLint param); void texEnviv(TextureEnvTarget targetPacked, TextureEnvParameter pnamePacked, const GLint *params); void texEnvx(TextureEnvTarget targetPacked, TextureEnvParameter pnamePacked, GLfixed param); void texEnvxv(TextureEnvTarget targetPacked, TextureEnvParameter pnamePacked, const GLfixed *params); void texParameterx(TextureType targetPacked, GLenum pname, GLfixed param); void texParameterxv(TextureType targetPacked, GLenum pname, const GLfixed *params); void translatef(GLfloat x, GLfloat y, GLfloat z); void translatex(GLfixed x, GLfixed y, GLfixed z); void vertexPointer(GLint size, VertexAttribType typePacked, GLsizei stride, const void *pointer); void activeTexture(GLenum texture); void attachShader(ShaderProgramID programPacked, ShaderProgramID shaderPacked); void bindAttribLocation(ShaderProgramID programPacked, GLuint index, const GLchar *name); void bindBuffer(BufferBinding targetPacked, BufferID bufferPacked); void bindFramebuffer(GLenum target, FramebufferID framebufferPacked); void bindRenderbuffer(GLenum target, RenderbufferID renderbufferPacked); void bindTexture(TextureType targetPacked, TextureID texturePacked); void blendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); void blendEquation(GLenum mode); void blendEquationSeparate(GLenum modeRGB, GLenum modeAlpha); void blendFunc(GLenum sfactor, GLenum dfactor); void blendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); void bufferData(BufferBinding targetPacked, GLsizeiptr size, const void *data, BufferUsage usagePacked); void bufferSubData(BufferBinding targetPacked, GLintptr offset, GLsizeiptr size, const void *data); GLenum checkFramebufferStatus(GLenum target); void clear(GLbitfield mask); void clearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); void clearDepthf(GLfloat d); void clearStencil(GLint s); void colorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); void compileShader(ShaderProgramID shaderPacked); void compressedTexImage2D(TextureTarget targetPacked, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); void compressedTexSubImage2D(TextureTarget targetPacked, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); void copyTexImage2D(TextureTarget targetPacked, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); void copyTexSubImage2D(TextureTarget targetPacked, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); GLuint createProgram(); GLuint createShader(ShaderType typePacked); void cullFace(CullFaceMode modePacked); void deleteBuffers(GLsizei n, const BufferID *buffersPacked); void deleteFramebuffers(GLsizei n, const FramebufferID *framebuffersPacked); void deleteProgram(ShaderProgramID programPacked); void deleteRenderbuffers(GLsizei n, const RenderbufferID *renderbuffersPacked); void deleteShader(ShaderProgramID shaderPacked); void deleteTextures(GLsizei n, const TextureID *texturesPacked); void depthFunc(GLenum func); void depthMask(GLboolean flag); void depthRangef(GLfloat n, GLfloat f); void detachShader(ShaderProgramID programPacked, ShaderProgramID shaderPacked); void disable(GLenum cap); void disableVertexAttribArray(GLuint index); void drawArrays(PrimitiveMode modePacked, GLint first, GLsizei count); void drawElements(PrimitiveMode modePacked, GLsizei count, DrawElementsType typePacked, const void *indices); void enable(GLenum cap); void enableVertexAttribArray(GLuint index); void finish(); void flush(); void framebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, RenderbufferID renderbufferPacked); void framebufferTexture2D(GLenum target, GLenum attachment, TextureTarget textargetPacked, TextureID texturePacked, GLint level); void frontFace(GLenum mode); void genBuffers(GLsizei n, BufferID *buffersPacked); void genFramebuffers(GLsizei n, FramebufferID *framebuffersPacked); void genRenderbuffers(GLsizei n, RenderbufferID *renderbuffersPacked); void genTextures(GLsizei n, TextureID *texturesPacked); void generateMipmap(TextureType targetPacked); void getActiveAttrib(ShaderProgramID programPacked, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); void getActiveUniform(ShaderProgramID programPacked, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); void getAttachedShaders(ShaderProgramID programPacked, GLsizei maxCount, GLsizei *count, ShaderProgramID *shadersPacked); GLint getAttribLocation(ShaderProgramID programPacked, const GLchar *name); void getBooleanv(GLenum pname, GLboolean *data); void getBufferParameteriv(BufferBinding targetPacked, GLenum pname, GLint *params); GLenum getError(); void getFloatv(GLenum pname, GLfloat *data); void getFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params); void getIntegerv(GLenum pname, GLint *data); void getProgramInfoLog(ShaderProgramID programPacked, GLsizei bufSize, GLsizei *length, GLchar *infoLog); void getProgramiv(ShaderProgramID programPacked, GLenum pname, GLint *params); void getRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params); void getShaderInfoLog(ShaderProgramID shaderPacked, GLsizei bufSize, GLsizei *length, GLchar *infoLog); void getShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); void getShaderSource(ShaderProgramID shaderPacked, GLsizei bufSize, GLsizei *length, GLchar *source); void getShaderiv(ShaderProgramID shaderPacked, GLenum pname, GLint *params); const GLubyte *getString(GLenum name); void getTexParameterfv(TextureType targetPacked, GLenum pname, GLfloat *params); void getTexParameteriv(TextureType targetPacked, GLenum pname, GLint *params); GLint getUniformLocation(ShaderProgramID programPacked, const GLchar *name); void getUniformfv(ShaderProgramID programPacked, GLint location, GLfloat *params); void getUniformiv(ShaderProgramID programPacked, GLint location, GLint *params); void getVertexAttribPointerv(GLuint index, GLenum pname, void **pointer); void getVertexAttribfv(GLuint index, GLenum pname, GLfloat *params); void getVertexAttribiv(GLuint index, GLenum pname, GLint *params); void hint(GLenum target, GLenum mode); GLboolean isBuffer(BufferID bufferPacked); GLboolean isEnabled(GLenum cap); GLboolean isFramebuffer(FramebufferID framebufferPacked); GLboolean isProgram(ShaderProgramID programPacked); GLboolean isRenderbuffer(RenderbufferID renderbufferPacked); GLboolean isShader(ShaderProgramID shaderPacked); GLboolean isTexture(TextureID texturePacked); void lineWidth(GLfloat width); void linkProgram(ShaderProgramID programPacked); void pixelStorei(GLenum pname, GLint param); void polygonOffset(GLfloat factor, GLfloat units); void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); void releaseShaderCompiler(); void renderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); void sampleCoverage(GLfloat value, GLboolean invert); void scissor(GLint x, GLint y, GLsizei width, GLsizei height); void shaderBinary(GLsizei count, const ShaderProgramID *shadersPacked, GLenum binaryformat, const void *binary, GLsizei length); void shaderSource(ShaderProgramID shaderPacked, GLsizei count, const GLchar *const *string, const GLint *length); void stencilFunc(GLenum func, GLint ref, GLuint mask); void stencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask); void stencilMask(GLuint mask); void stencilMaskSeparate(GLenum face, GLuint mask); void stencilOp(GLenum fail, GLenum zfail, GLenum zpass); void stencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); void texImage2D(TextureTarget targetPacked, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); void texParameterf(TextureType targetPacked, GLenum pname, GLfloat param); void texParameterfv(TextureType targetPacked, GLenum pname, const GLfloat *params); void texParameteri(TextureType targetPacked, GLenum pname, GLint param); void texParameteriv(TextureType targetPacked, GLenum pname, const GLint *params); void texSubImage2D(TextureTarget targetPacked, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); void uniform1f(GLint location, GLfloat v0); void uniform1fv(GLint location, GLsizei count, const GLfloat *value); void uniform1i(GLint location, GLint v0); void uniform1iv(GLint location, GLsizei count, const GLint *value); void uniform2f(GLint location, GLfloat v0, GLfloat v1); void uniform2fv(GLint location, GLsizei count, const GLfloat *value); void uniform2i(GLint location, GLint v0, GLint v1); void uniform2iv(GLint location, GLsizei count, const GLint *value); void uniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); void uniform3fv(GLint location, GLsizei count, const GLfloat *value); void uniform3i(GLint location, GLint v0, GLint v1, GLint v2); void uniform3iv(GLint location, GLsizei count, const GLint *value); void uniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); void uniform4fv(GLint location, GLsizei count, const GLfloat *value); void uniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); void uniform4iv(GLint location, GLsizei count, const GLint *value); void uniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void uniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void uniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void useProgram(ShaderProgramID programPacked); void validateProgram(ShaderProgramID programPacked); void vertexAttrib1f(GLuint index, GLfloat x); void vertexAttrib1fv(GLuint index, const GLfloat *v); void vertexAttrib2f(GLuint index, GLfloat x, GLfloat y); void vertexAttrib2fv(GLuint index, const GLfloat *v); void vertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z); void vertexAttrib3fv(GLuint index, const GLfloat *v); void vertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); void vertexAttrib4fv(GLuint index, const GLfloat *v); void vertexAttribPointer(GLuint index, GLint size, VertexAttribType typePacked, GLboolean normalized, GLsizei stride, const void *pointer); void viewport(GLint x, GLint y, GLsizei width, GLsizei height); void beginQuery(QueryType targetPacked, QueryID idPacked); void beginTransformFeedback(PrimitiveMode primitiveModePacked); void bindBufferBase(BufferBinding targetPacked, GLuint index, BufferID bufferPacked); void bindBufferRange(BufferBinding targetPacked, GLuint index, BufferID bufferPacked, GLintptr offset, GLsizeiptr size); void bindSampler(GLuint unit, SamplerID samplerPacked); void bindTransformFeedback(GLenum target, TransformFeedbackID idPacked); void bindVertexArray(VertexArrayID arrayPacked); void blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); void clearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); void clearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value); void clearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value); void clearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value); GLenum clientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout); void compressedTexImage3D(TextureTarget targetPacked, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); void compressedTexSubImage3D(TextureTarget targetPacked, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); void copyBufferSubData(BufferBinding readTargetPacked, BufferBinding writeTargetPacked, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); void copyTexSubImage3D(TextureTarget targetPacked, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); void deleteQueries(GLsizei n, const QueryID *idsPacked); void deleteSamplers(GLsizei count, const SamplerID *samplersPacked); void deleteSync(GLsync sync); void deleteTransformFeedbacks(GLsizei n, const TransformFeedbackID *idsPacked); void deleteVertexArrays(GLsizei n, const VertexArrayID *arraysPacked); void drawArraysInstanced(PrimitiveMode modePacked, GLint first, GLsizei count, GLsizei instancecount); void drawBuffers(GLsizei n, const GLenum *bufs); void drawElementsInstanced(PrimitiveMode modePacked, GLsizei count, DrawElementsType typePacked, const void *indices, GLsizei instancecount); void drawRangeElements(PrimitiveMode modePacked, GLuint start, GLuint end, GLsizei count, DrawElementsType typePacked, const void *indices); void endQuery(QueryType targetPacked); void endTransformFeedback(); GLsync fenceSync(GLenum condition, GLbitfield flags); void flushMappedBufferRange(BufferBinding targetPacked, GLintptr offset, GLsizeiptr length); void framebufferTextureLayer(GLenum target, GLenum attachment, TextureID texturePacked, GLint level, GLint layer); void genQueries(GLsizei n, QueryID *idsPacked); void genSamplers(GLsizei count, SamplerID *samplersPacked); void genTransformFeedbacks(GLsizei n, TransformFeedbackID *idsPacked); void genVertexArrays(GLsizei n, VertexArrayID *arraysPacked); void getActiveUniformBlockName(ShaderProgramID programPacked, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); void getActiveUniformBlockiv(ShaderProgramID programPacked, GLuint uniformBlockIndex, GLenum pname, GLint *params); void getActiveUniformsiv(ShaderProgramID programPacked, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); void getBufferParameteri64v(BufferBinding targetPacked, GLenum pname, GLint64 *params); void getBufferPointerv(BufferBinding targetPacked, GLenum pname, void **params); GLint getFragDataLocation(ShaderProgramID programPacked, const GLchar *name); void getInteger64i_v(GLenum target, GLuint index, GLint64 *data); void getInteger64v(GLenum pname, GLint64 *data); void getIntegeri_v(GLenum target, GLuint index, GLint *data); void getInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params); void getProgramBinary(ShaderProgramID programPacked, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); void getQueryObjectuiv(QueryID idPacked, GLenum pname, GLuint *params); void getQueryiv(QueryType targetPacked, GLenum pname, GLint *params); void getSamplerParameterfv(SamplerID samplerPacked, GLenum pname, GLfloat *params); void getSamplerParameteriv(SamplerID samplerPacked, GLenum pname, GLint *params); const GLubyte *getStringi(GLenum name, GLuint index); void getSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); void getTransformFeedbackVarying(ShaderProgramID programPacked, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); GLuint getUniformBlockIndex(ShaderProgramID programPacked, const GLchar *uniformBlockName); void getUniformIndices(ShaderProgramID programPacked, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices); void getUniformuiv(ShaderProgramID programPacked, GLint location, GLuint *params); void getVertexAttribIiv(GLuint index, GLenum pname, GLint *params); void getVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params); void invalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments); void invalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); GLboolean isQuery(QueryID idPacked); GLboolean isSampler(SamplerID samplerPacked); GLboolean isSync(GLsync sync); GLboolean isTransformFeedback(TransformFeedbackID idPacked); GLboolean isVertexArray(VertexArrayID arrayPacked); void *mapBufferRange(BufferBinding targetPacked, GLintptr offset, GLsizeiptr length, GLbitfield access); void pauseTransformFeedback(); void programBinary(ShaderProgramID programPacked, GLenum binaryFormat, const void *binary, GLsizei length); void programParameteri(ShaderProgramID programPacked, GLenum pname, GLint value); void readBuffer(GLenum src); void renderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); void resumeTransformFeedback(); void samplerParameterf(SamplerID samplerPacked, GLenum pname, GLfloat param); void samplerParameterfv(SamplerID samplerPacked, GLenum pname, const GLfloat *param); void samplerParameteri(SamplerID samplerPacked, GLenum pname, GLint param); void samplerParameteriv(SamplerID samplerPacked, GLenum pname, const GLint *param); void texImage3D(TextureTarget targetPacked, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); void texStorage2D(TextureType targetPacked, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); void texStorage3D(TextureType targetPacked, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); void texSubImage3D(TextureTarget targetPacked, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); void transformFeedbackVaryings(ShaderProgramID programPacked, GLsizei count, const GLchar *const *varyings, GLenum bufferMode); void uniform1ui(GLint location, GLuint v0); void uniform1uiv(GLint location, GLsizei count, const GLuint *value); void uniform2ui(GLint location, GLuint v0, GLuint v1); void uniform2uiv(GLint location, GLsizei count, const GLuint *value); void uniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2); void uniform3uiv(GLint location, GLsizei count, const GLuint *value); void uniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); void uniform4uiv(GLint location, GLsizei count, const GLuint *value); void uniformBlockBinding(ShaderProgramID programPacked, GLuint uniformBlockIndex, GLuint uniformBlockBinding); void uniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void uniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void uniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void uniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void uniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void uniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GLboolean unmapBuffer(BufferBinding targetPacked); void vertexAttribDivisor(GLuint index, GLuint divisor); void vertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w); void vertexAttribI4iv(GLuint index, const GLint *v); void vertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); void vertexAttribI4uiv(GLuint index, const GLuint *v); void vertexAttribIPointer(GLuint index, GLint size, VertexAttribType typePacked, GLsizei stride, const void *pointer); void waitSync(GLsync sync, GLbitfield flags, GLuint64 timeout); void activeShaderProgram(ProgramPipelineID pipelinePacked, ShaderProgramID programPacked); void bindImageTexture(GLuint unit, TextureID texturePacked, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); void bindProgramPipeline(ProgramPipelineID pipelinePacked); void bindVertexBuffer(GLuint bindingindex, BufferID bufferPacked, GLintptr offset, GLsizei stride); GLuint createShaderProgramv(ShaderType typePacked, GLsizei count, const GLchar *const *strings); void deleteProgramPipelines(GLsizei n, const ProgramPipelineID *pipelinesPacked); void dispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); void dispatchComputeIndirect(GLintptr indirect); void drawArraysIndirect(PrimitiveMode modePacked, const void *indirect); void drawElementsIndirect(PrimitiveMode modePacked, DrawElementsType typePacked, const void *indirect); void framebufferParameteri(GLenum target, GLenum pname, GLint param); void genProgramPipelines(GLsizei n, ProgramPipelineID *pipelinesPacked); void getBooleani_v(GLenum target, GLuint index, GLboolean *data); void getFramebufferParameteriv(GLenum target, GLenum pname, GLint *params); void getMultisamplefv(GLenum pname, GLuint index, GLfloat *val); void getProgramInterfaceiv(ShaderProgramID programPacked, GLenum programInterface, GLenum pname, GLint *params); void getProgramPipelineInfoLog(ProgramPipelineID pipelinePacked, GLsizei bufSize, GLsizei *length, GLchar *infoLog); void getProgramPipelineiv(ProgramPipelineID pipelinePacked, GLenum pname, GLint *params); GLuint getProgramResourceIndex(ShaderProgramID programPacked, GLenum programInterface, const GLchar *name); GLint getProgramResourceLocation(ShaderProgramID programPacked, GLenum programInterface, const GLchar *name); void getProgramResourceName(ShaderProgramID programPacked, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); void getProgramResourceiv(ShaderProgramID programPacked, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params); void getTexLevelParameterfv(TextureTarget targetPacked, GLint level, GLenum pname, GLfloat *params); void getTexLevelParameteriv(TextureTarget targetPacked, GLint level, GLenum pname, GLint *params); GLboolean isProgramPipeline(ProgramPipelineID pipelinePacked); void memoryBarrier(GLbitfield barriers); void memoryBarrierByRegion(GLbitfield barriers); void programUniform1f(ShaderProgramID programPacked, GLint location, GLfloat v0); void programUniform1fv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLfloat *value); void programUniform1i(ShaderProgramID programPacked, GLint location, GLint v0); void programUniform1iv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLint *value); void programUniform1ui(ShaderProgramID programPacked, GLint location, GLuint v0); void programUniform1uiv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLuint *value); void programUniform2f(ShaderProgramID programPacked, GLint location, GLfloat v0, GLfloat v1); void programUniform2fv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLfloat *value); void programUniform2i(ShaderProgramID programPacked, GLint location, GLint v0, GLint v1); void programUniform2iv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLint *value); void programUniform2ui(ShaderProgramID programPacked, GLint location, GLuint v0, GLuint v1); void programUniform2uiv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLuint *value); void programUniform3f(ShaderProgramID programPacked, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); void programUniform3fv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLfloat *value); void programUniform3i(ShaderProgramID programPacked, GLint location, GLint v0, GLint v1, GLint v2); void programUniform3iv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLint *value); void programUniform3ui(ShaderProgramID programPacked, GLint location, GLuint v0, GLuint v1, GLuint v2); void programUniform3uiv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLuint *value); void programUniform4f(ShaderProgramID programPacked, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); void programUniform4fv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLfloat *value); void programUniform4i(ShaderProgramID programPacked, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); void programUniform4iv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLint *value); void programUniform4ui(ShaderProgramID programPacked, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); void programUniform4uiv(ShaderProgramID programPacked, GLint location, GLsizei count, const GLuint *value); void programUniformMatrix2fv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void programUniformMatrix2x3fv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void programUniformMatrix2x4fv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void programUniformMatrix3fv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void programUniformMatrix3x2fv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void programUniformMatrix3x4fv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void programUniformMatrix4fv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void programUniformMatrix4x2fv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void programUniformMatrix4x3fv(ShaderProgramID programPacked, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); void sampleMaski(GLuint maskNumber, GLbitfield mask); void texStorage2DMultisample(TextureType targetPacked, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); void useProgramStages(ProgramPipelineID pipelinePacked, GLbitfield stages, ShaderProgramID programPacked); void validateProgramPipeline(ProgramPipelineID pipelinePacked); void vertexAttribBinding(GLuint attribindex, GLuint bindingindex); void vertexAttribFormat(GLuint attribindex, GLint size, VertexAttribType typePacked, GLboolean normalized, GLuint relativeoffset); void vertexAttribIFormat(GLuint attribindex, GLint size, VertexAttribType typePacked, GLuint relativeoffset); void vertexBindingDivisor(GLuint bindingindex, GLuint divisor); void blendBarrier(); void blendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha); void blendEquationi(GLuint buf, GLenum mode); void blendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); void blendFunci(GLuint buf, GLenum src, GLenum dst); void colorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); void copyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); void debugMessageCallback(GLDEBUGPROC callback, const void *userParam); void debugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); void debugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); void disablei(GLenum target, GLuint index); void drawElementsBaseVertex(PrimitiveMode modePacked, GLsizei count, DrawElementsType typePacked, const void *indices, GLint basevertex); void drawElementsInstancedBaseVertex(PrimitiveMode modePacked, GLsizei count, DrawElementsType typePacked, const void *indices, GLsizei instancecount, GLint basevertex); void drawRangeElementsBaseVertex(PrimitiveMode modePacked, GLuint start, GLuint end, GLsizei count, DrawElementsType typePacked, const void *indices, GLint basevertex); void enablei(GLenum target, GLuint index); void framebufferTexture(GLenum target, GLenum attachment, TextureID texturePacked, GLint level); GLuint getDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); GLenum getGraphicsResetStatus(); void getObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); void getObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); void getPointerv(GLenum pname, void **params); void getSamplerParameterIiv(SamplerID samplerPacked, GLenum pname, GLint *params); void getSamplerParameterIuiv(SamplerID samplerPacked, GLenum pname, GLuint *params); void getTexParameterIiv(TextureType targetPacked, GLenum pname, GLint *params); void getTexParameterIuiv(TextureType targetPacked, GLenum pname, GLuint *params); void getnUniformfv(ShaderProgramID programPacked, GLint location, GLsizei bufSize, GLfloat *params); void getnUniformiv(ShaderProgramID programPacked, GLint location, GLsizei bufSize, GLint *params); void getnUniformuiv(ShaderProgramID programPacked, GLint location, GLsizei bufSize, GLuint *params); GLboolean isEnabledi(GLenum target, GLuint index); void minSampleShading(GLfloat value); void objectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label); void objectPtrLabel(const void *ptr, GLsizei length, const GLchar *label); void patchParameteri(GLenum pname, GLint value); void popDebugGroup(); void primitiveBoundingBox(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); void pushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message); void readnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); void samplerParameterIiv(SamplerID samplerPacked, GLenum pname, const GLint *param); void samplerParameterIuiv(SamplerID samplerPacked, GLenum pname, const GLuint *param); void texBuffer(GLenum target, GLenum internalformat, BufferID bufferPacked); void texBufferRange(GLenum target, GLenum internalformat, BufferID bufferPacked, GLintptr offset, GLsizeiptr size); void texParameterIiv(TextureType targetPacked, GLenum pname, const GLint *params); void texParameterIuiv(TextureType targetPacked, GLenum pname, const GLuint *params); void texStorage3DMultisample(TextureType targetPacked, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); void drawTexf(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); void drawTexfv(const GLfloat *coords); void drawTexi(GLint x, GLint y, GLint z, GLint width, GLint height); void drawTexiv(const GLint *coords); void drawTexs(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); void drawTexsv(const GLshort *coords); void drawTexx(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); void drawTexxv(const GLfixed *coords); void currentPaletteMatrix(GLuint matrixpaletteindex); void loadPaletteFromModelViewMatrix(); void matrixIndexPointer(GLint size, GLenum type, GLsizei stride, const void *pointer); void weightPointer(GLint size, GLenum type, GLsizei stride, const void *pointer); void pointSizePointer(VertexAttribType typePacked, GLsizei stride, const void *pointer); GLbitfield queryMatrixx(GLfixed *mantissa, GLint *exponent); void getTexGenfv(GLenum coord, GLenum pname, GLfloat *params); void getTexGeniv(GLenum coord, GLenum pname, GLint *params); void getTexGenxv(GLenum coord, GLenum pname, GLfixed *params); void texGenf(GLenum coord, GLenum pname, GLfloat param); void texGenfv(GLenum coord, GLenum pname, const GLfloat *params); void texGeni(GLenum coord, GLenum pname, GLint param); void texGeniv(GLenum coord, GLenum pname, const GLint *params); void texGenx(GLenum coord, GLenum pname, GLfixed param); void texGenxv(GLenum coord, GLenum pname, const GLfixed *params); void copyTexture3D(TextureID sourceIdPacked, GLint sourceLevel, TextureTarget destTargetPacked, TextureID destIdPacked, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); void copySubTexture3D(TextureID sourceIdPacked, GLint sourceLevel, TextureTarget destTargetPacked, TextureID destIdPacked, GLint destLevel, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLint z, GLint width, GLint height, GLint depth, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); void getTexImage(TextureTarget targetPacked, GLint level, GLenum format, GLenum type, void *pixels); void getRenderbufferImage(GLenum target, GLenum format, GLenum type, void *pixels); void requestExtension(const GLchar *name); void disableExtension(const GLchar *name); void getBooleanvRobust(GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *params); void getBufferParameterivRobust(BufferBinding targetPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getFloatvRobust(GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); void getFramebufferAttachmentParameterivRobust(GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getIntegervRobust(GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data); void getProgramivRobust(ShaderProgramID programPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getRenderbufferParameterivRobust(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getShaderivRobust(ShaderProgramID shaderPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getTexParameterfvRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); void getTexParameterivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getUniformfvRobust(ShaderProgramID programPacked, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params); void getUniformivRobust(ShaderProgramID programPacked, GLint location, GLsizei bufSize, GLsizei *length, GLint *params); void getVertexAttribfvRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); void getVertexAttribivRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getVertexAttribPointervRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer); void readPixelsRobust(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *pixels); void texImage2DRobust(TextureTarget targetPacked, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); void texParameterfvRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, const GLfloat *params); void texParameterivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, const GLint *params); void texSubImage2DRobust(TextureTarget targetPacked, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); void texImage3DRobust(TextureTarget targetPacked, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); void texSubImage3DRobust(TextureTarget targetPacked, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, const void *pixels); void compressedTexImage2DRobust( TextureTarget targetPacked, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); void compressedTexSubImage2DRobust( TextureTarget targetPacked, GLint level, GLsizei xoffset, GLsizei yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); void compressedTexImage3DRobust(TextureTarget targetPacked, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); void compressedTexSubImage3DRobust(TextureTarget targetPacked, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei dataSize, const GLvoid *data); void getQueryivRobust(QueryType targetPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getQueryObjectuivRobust(QueryID idPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); void getBufferPointervRobust(BufferBinding targetPacked, GLenum pname, GLsizei bufSize, GLsizei *length, void **params); void getIntegeri_vRobust(GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint *data); void getInternalformativRobust(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getVertexAttribIivRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getVertexAttribIuivRobust(GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); void getUniformuivRobust(ShaderProgramID programPacked, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params); void getActiveUniformBlockivRobust(ShaderProgramID programPacked, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getInteger64vRobust(GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data); void getInteger64i_vRobust(GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint64 *data); void getBufferParameteri64vRobust(BufferBinding targetPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params); void samplerParameterivRobust(SamplerID samplerPacked, GLuint pname, GLsizei bufSize, const GLint *param); void samplerParameterfvRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, const GLfloat *param); void getSamplerParameterivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getSamplerParameterfvRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); void getFramebufferParameterivRobust(GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getProgramInterfaceivRobust(ShaderProgramID programPacked, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getBooleani_vRobust(GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLboolean *data); void getMultisamplefvRobust(GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, GLfloat *val); void getTexLevelParameterivRobust(TextureTarget targetPacked, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getTexLevelParameterfvRobust(TextureTarget targetPacked, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params); void getPointervRobustANGLERobust(GLenum pname, GLsizei bufSize, GLsizei *length, void **params); void readnPixelsRobust(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *data); void getnUniformfvRobust(ShaderProgramID programPacked, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params); void getnUniformivRobust(ShaderProgramID programPacked, GLint location, GLsizei bufSize, GLsizei *length, GLint *params); void getnUniformuivRobust(ShaderProgramID programPacked, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params); void texParameterIivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, const GLint *params); void texParameterIuivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, const GLuint *params); void getTexParameterIivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getTexParameterIuivRobust(TextureType targetPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); void samplerParameterIivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, const GLint *param); void samplerParameterIuivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, const GLuint *param); void getSamplerParameterIivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getSamplerParameterIuivRobust(SamplerID samplerPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params); void getQueryObjectivRobust(QueryID idPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params); void getQueryObjecti64vRobust(QueryID idPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params); void getQueryObjectui64vRobust(QueryID idPacked, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params); void texImage2DExternal(TextureTarget targetPacked, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type); void invalidateTexture(TextureType targetPacked); void bindUniformLocation(ShaderProgramID programPacked, GLint location, const GLchar *name); void compressedCopyTexture(TextureID sourceIdPacked, TextureID destIdPacked); void copyTexture(TextureID sourceIdPacked, GLint sourceLevel, TextureTarget destTargetPacked, TextureID destIdPacked, GLint destLevel, GLint internalFormat, GLenum destType, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); void copySubTexture(TextureID sourceIdPacked, GLint sourceLevel, TextureTarget destTargetPacked, TextureID destIdPacked, GLint destLevel, GLint xoffset, GLint yoffset, GLint x, GLint y, GLint width, GLint height, GLboolean unpackFlipY, GLboolean unpackPremultiplyAlpha, GLboolean unpackUnmultiplyAlpha); void coverageModulation(GLenum components); void matrixLoadf(GLenum matrixMode, const GLfloat *matrix); void matrixLoadIdentity(GLenum matrixMode); void loseContext(GraphicsResetStatus currentPacked, GraphicsResetStatus otherPacked); GLuint genPaths(GLsizei range); void deletePaths(PathID firstPacked, GLsizei range); GLboolean isPath(PathID pathPacked); void pathCommands(PathID pathPacked, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); void pathParameterf(PathID pathPacked, GLenum pname, GLfloat value); void pathParameteri(PathID pathPacked, GLenum pname, GLint value); void getPathParameterfv(PathID pathPacked, GLenum pname, GLfloat *value); void getPathParameteriv(PathID pathPacked, GLenum pname, GLint *value); void pathStencilFunc(GLenum func, GLint ref, GLuint mask); void stencilFillPath(PathID pathPacked, GLenum fillMode, GLuint mask); void stencilStrokePath(PathID pathPacked, GLint reference, GLuint mask); void coverFillPath(PathID pathPacked, GLenum coverMode); void coverStrokePath(PathID pathPacked, GLenum coverMode); void stencilThenCoverFillPath(PathID pathPacked, GLenum fillMode, GLuint mask, GLenum coverMode); void stencilThenCoverStrokePath(PathID pathPacked, GLint reference, GLuint mask, GLenum coverMode); void coverFillPathInstanced(GLsizei numPath, GLenum pathNameType, const void *paths, PathID pathBasePacked, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); void coverStrokePathInstanced(GLsizei numPath, GLenum pathNameType, const void *paths, PathID pathBasePacked, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); void stencilStrokePathInstanced(GLsizei numPath, GLenum pathNameType, const void *paths, PathID pathBasePacked, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); void stencilFillPathInstanced(GLsizei numPaths, GLenum pathNameType, const void *paths, PathID pathBasePacked, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); void stencilThenCoverFillPathInstanced(GLsizei numPaths, GLenum pathNameType, const void *paths, PathID pathBasePacked, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); void stencilThenCoverStrokePathInstanced( GLsizei numPaths, GLenum pathNameType, const void *paths, PathID pathBasePacked, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); void bindFragmentInputLocation(ShaderProgramID programsPacked, GLint location, const GLchar *name); void programPathFragmentInputGen(ShaderProgramID programPacked, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); void drawArraysInstancedBaseInstance(PrimitiveMode modePacked, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance); void drawElementsInstancedBaseVertexBaseInstance( PrimitiveMode modePacked, GLsizei count, DrawElementsType typePacked, const GLvoid *indices, GLsizei instanceCounts, GLint baseVertex, GLuint baseInstance); void multiDrawArraysInstancedBaseInstance( PrimitiveMode modePacked, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawcount); void multiDrawElementsInstancedBaseVertexBaseInstance( PrimitiveMode modePacked, const GLsizei *counts, DrawElementsType typePacked, const GLvoid *const *indices, const GLsizei *instanceCounts, const GLint *baseVertices, const GLuint *baseInstances, GLsizei drawcount); void multiDrawArrays(PrimitiveMode modePacked, const GLint *firsts, const GLsizei *counts, GLsizei drawcount); void multiDrawArraysInstanced(PrimitiveMode modePacked, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, GLsizei drawcount); void multiDrawElements(PrimitiveMode modePacked, const GLsizei *counts, DrawElementsType typePacked, const GLvoid *const *indices, GLsizei drawcount); void multiDrawElementsInstanced(PrimitiveMode modePacked, const GLsizei *counts, DrawElementsType typePacked, const GLvoid *const *indices, const GLsizei *instanceCounts, GLsizei drawcount); void provokingVertex(ProvokingVertexConvention modePacked); void getTranslatedShaderSource(ShaderProgramID shaderPacked, GLsizei bufsize, GLsizei *length, GLchar *source); void bindFragDataLocation(ShaderProgramID programPacked, GLuint color, const GLchar *name); void bindFragDataLocationIndexed(ShaderProgramID programPacked, GLuint colorNumber, GLuint index, const GLchar *name); GLint getFragDataIndex(ShaderProgramID programPacked, const GLchar *name); GLint getProgramResourceLocationIndex(ShaderProgramID programPacked, GLenum programInterface, const GLchar *name); void insertEventMarker(GLsizei length, const GLchar *marker); void popGroupMarker(); void pushGroupMarker(GLsizei length, const GLchar *marker); void discardFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments); void getQueryObjecti64v(QueryID idPacked, GLenum pname, GLint64 *params); void getQueryObjectiv(QueryID idPacked, GLenum pname, GLint *params); void getQueryObjectui64v(QueryID idPacked, GLenum pname, GLuint64 *params); void queryCounter(QueryID idPacked, QueryType targetPacked); void multiDrawElementsBaseVertex(PrimitiveMode modePacked, const GLsizei *count, DrawElementsType typePacked, const void *const *indices, GLsizei primcount, const GLint *basevertex); void bufferStorageMem(TextureType targetPacked, GLsizeiptr size, MemoryObjectID memoryPacked, GLuint64 offset); void createMemoryObjects(GLsizei n, MemoryObjectID *memoryObjectsPacked); void deleteMemoryObjects(GLsizei n, const MemoryObjectID *memoryObjectsPacked); void getMemoryObjectParameteriv(MemoryObjectID memoryObjectPacked, GLenum pname, GLint *params); void getUnsignedBytev(GLenum pname, GLubyte *data); void getUnsignedBytei_v(GLenum target, GLuint index, GLubyte *data); GLboolean isMemoryObject(MemoryObjectID memoryObjectPacked); void memoryObjectParameteriv(MemoryObjectID memoryObjectPacked, GLenum pname, const GLint *params); void texStorageMem2D(TextureType targetPacked, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, MemoryObjectID memoryPacked, GLuint64 offset); void texStorageMem2DMultisample(TextureType targetPacked, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, MemoryObjectID memoryPacked, GLuint64 offset); void texStorageMem3D(TextureType targetPacked, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, MemoryObjectID memoryPacked, GLuint64 offset); void texStorageMem3DMultisample(TextureType targetPacked, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, MemoryObjectID memoryPacked, GLuint64 offset); void importMemoryFd(MemoryObjectID memoryPacked, GLuint64 size, HandleType handleTypePacked, GLint fd); void framebufferTexture2DMultisample(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); void deleteSemaphores(GLsizei n, const SemaphoreID *semaphoresPacked); void genSemaphores(GLsizei n, SemaphoreID *semaphoresPacked); void getSemaphoreParameterui64v(SemaphoreID semaphorePacked, GLenum pname, GLuint64 *params); GLboolean isSemaphore(SemaphoreID semaphorePacked); void semaphoreParameterui64v(SemaphoreID semaphorePacked, GLenum pname, const GLuint64 *params); void signalSemaphore(SemaphoreID semaphorePacked, GLuint numBufferBarriers, const BufferID *buffersPacked, GLuint numTextureBarriers, const TextureID *texturesPacked, const GLenum *dstLayouts); void waitSemaphore(SemaphoreID semaphorePacked, GLuint numBufferBarriers, const BufferID *buffersPacked, GLuint numTextureBarriers, const TextureID *texturesPacked, const GLenum *srcLayouts); void importSemaphoreFd(SemaphoreID semaphorePacked, HandleType handleTypePacked, GLint fd); void texStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); void maxShaderCompilerThreads(GLuint count); void deleteFencesNV(GLsizei n, const FenceNVID *fencesPacked); void finishFenceNV(FenceNVID fencePacked); void genFencesNV(GLsizei n, FenceNVID *fencesPacked); void getFenceivNV(FenceNVID fencePacked, GLenum pname, GLint *params); GLboolean isFenceNV(FenceNVID fencePacked); void setFenceNV(FenceNVID fencePacked, GLenum condition); GLboolean testFenceNV(FenceNVID fencePacked); void eGLImageTargetRenderbufferStorage(GLenum target, GLeglImageOES image); void eGLImageTargetTexture2D(TextureType targetPacked, GLeglImageOES image); void *mapBuffer(BufferBinding targetPacked, GLenum access); void framebufferTexture3D(GLenum target, GLenum attachment, TextureTarget textargetPacked, TextureID texturePacked, GLint level, GLint zoffset); void framebufferTextureMultiview(GLenum target, GLenum attachment, TextureID texturePacked, GLint level, GLint baseViewIndex, GLsizei numViews); void handleError(GLenum errorCode, const char *message, const char *file, const char *function, unsigned int line); void validationError(GLenum errorCode, const char *message); void markContextLost(GraphicsResetStatus status); bool isContextLost() const { return mContextLost; } GLenum getGraphicsResetStrategy() const { return mResetStrategy; } bool isResetNotificationEnabled(); const egl::Config *getConfig() const; EGLenum getClientType() const; EGLenum getRenderBuffer() const; const GLubyte *getString(GLenum name) const; const GLubyte *getStringi(GLenum name, GLuint index) const; size_t getExtensionStringCount() const; bool isExtensionRequestable(const char *name); bool isExtensionDisablable(const char *name); size_t getRequestableExtensionStringCount() const; void setExtensionEnabled(const char *name, bool enabled); void reinitializeAfterExtensionsChanged(); rx::ContextImpl *getImplementation() const { return mImplementation.get(); } [[nodiscard]] bool getScratchBuffer(size_t requestedSizeBytes, angle::MemoryBuffer **scratchBufferOut) const; [[nodiscard]] bool getZeroFilledBuffer(size_t requstedSizeBytes, angle::MemoryBuffer **zeroBufferOut) const; angle::ScratchBuffer *getScratchBuffer() const { return &mScratchBuffer; } angle::Result prepareForCopyImage(); angle::Result prepareForDispatch(); MemoryProgramCache *getMemoryProgramCache() const { return mMemoryProgramCache; } bool hasBeenCurrent() const { return mHasBeenCurrent; } egl::Display *getDisplay() const { return mDisplay; } egl::Surface *getCurrentDrawSurface() const { return mCurrentDrawSurface; } egl::Surface *getCurrentReadSurface() const { return mCurrentReadSurface; } bool isRobustResourceInitEnabled() const { return mState.isRobustResourceInitEnabled(); } bool isCurrentTransformFeedback(const TransformFeedback *tf) const; bool isCurrentVertexArray(const VertexArray *va) const { return mState.isCurrentVertexArray(va); } bool isShared() const { return mShared; } void setShared() { mShared = true; } const State &getState() const { return mState; } GLint getClientMajorVersion() const { return mState.getClientMajorVersion(); } GLint getClientMinorVersion() const { return mState.getClientMinorVersion(); } const Version &getClientVersion() const { return mState.getClientVersion(); } const Caps &getCaps() const { return mState.getCaps(); } const TextureCapsMap &getTextureCaps() const { return mState.getTextureCaps(); } const Extensions &getExtensions() const { return mState.getExtensions(); } const Limitations &getLimitations() const { return mState.getLimitations(); } bool skipValidation() const { return mSkipValidation; } bool isGLES1() const; bool getQueryParameterInfo(GLenum pname, GLenum *type, unsigned int *numParams) const; bool getIndexedQueryParameterInfo(GLenum target, GLenum *type, unsigned int *numParams) const; inline __attribute__((always_inline)) Program *getProgramResolveLink(ShaderProgramID handle) const { Program *program = mState.mShaderProgramManager->getProgram(handle); if (program) { program->resolveLink(this); } return program; } Program *getProgramNoResolveLink(ShaderProgramID handle) const; Shader *getShader(ShaderProgramID handle) const; inline __attribute__((always_inline)) bool isTextureGenerated(TextureID texture) const { return mState.mTextureManager->isHandleGenerated(texture); } inline __attribute__((always_inline)) bool isBufferGenerated(BufferID buffer) const { return mState.mBufferManager->isHandleGenerated(buffer); } bool isRenderbufferGenerated(RenderbufferID renderbuffer) const; bool isFramebufferGenerated(FramebufferID framebuffer) const; bool isProgramPipelineGenerated(ProgramPipelineID pipeline) const; bool usingDisplayTextureShareGroup() const; GLenum getConvertedRenderbufferFormat(GLenum internalformat) const; bool isWebGL() const { return mState.isWebGL(); } bool isWebGL1() const { return mState.isWebGL1(); } bool isValidBufferBinding(BufferBinding binding) const { return mValidBufferBindings[binding]; } int vertexArrayIndex(ClientVertexArrayType type) const; static int TexCoordArrayIndex(unsigned int unit); std::shared_ptr getWorkerThreadPool() const { return mThreadPool; } const StateCache &getStateCache() const { return mStateCache; } StateCache &getStateCache() { return mStateCache; } void onSubjectStateChange(angle::SubjectIndex index, angle::SubjectMessage message) override; void onSamplerUniformChange(size_t textureUnitIndex); bool isBufferAccessValidationEnabled() const { return mBufferAccessValidationEnabled; } const angle::FrontendFeatures &getFrontendFeatures() const; angle::FrameCapture *getFrameCapture() { return mFrameCapture.get(); } void onPostSwap() const; private: void initialize(); bool noopDraw(PrimitiveMode mode, GLsizei count); bool noopDrawInstanced(PrimitiveMode mode, GLsizei count, GLsizei instanceCount); angle::Result prepareForDraw(PrimitiveMode mode); angle::Result prepareForClear(GLbitfield mask); angle::Result prepareForClearBuffer(GLenum buffer, GLint drawbuffer); angle::Result syncState(const State::DirtyBits &bitMask, const State::DirtyObjects &objectMask); angle::Result syncDirtyBits(); angle::Result syncDirtyBits(const State::DirtyBits &bitMask); angle::Result syncDirtyObjects(const State::DirtyObjects &objectMask); angle::Result syncStateForReadPixels(); angle::Result syncStateForTexImage(); angle::Result syncStateForBlit(); angle::Result syncStateForPathOperation(); VertexArray *checkVertexArrayAllocation(VertexArrayID vertexArrayHandle); TransformFeedback *checkTransformFeedbackAllocation(TransformFeedbackID transformFeedback); angle::Result onProgramLink(Program *programObject); void detachBuffer(Buffer *buffer); void detachTexture(TextureID texture); void detachFramebuffer(FramebufferID framebuffer); void detachRenderbuffer(RenderbufferID renderbuffer); void detachVertexArray(VertexArrayID vertexArray); void detachTransformFeedback(TransformFeedbackID transformFeedback); void detachSampler(SamplerID sampler); void detachProgramPipeline(ProgramPipelineID pipeline); void tryGenPaths(GLsizei range, PathID *createdOut); egl::Error setDefaultFramebuffer(egl::Surface *drawSurface, egl::Surface *readSurface); egl::Error unsetDefaultFramebuffer(); void initRendererString(); void initVersionStrings(); void initExtensionStrings(); Extensions generateSupportedExtensions() const; void initCaps(); void updateCaps(); gl::LabeledObject *getLabeledObject(GLenum identifier, GLuint name) const; gl::LabeledObject *getLabeledObjectFromPtr(const void *ptr) const; void setUniform1iImpl(Program *program, GLint location, GLsizei count, const GLint *v); State mState; bool mShared; bool mSkipValidation; bool mDisplayTextureShareGroup; ErrorSet mErrors; angle::PackedEnumBitSet mValidBufferBindings; std::unique_ptr mImplementation; EGLLabelKHR mLabel; Extensions mSupportedExtensions; mutable BindingPointer mCompiler; const egl::Config *mConfig; TextureMap mZeroTextures; ResourceMap mFenceNVMap; HandleAllocator mFenceNVHandleAllocator; ResourceMap mQueryMap; HandleAllocator mQueryHandleAllocator; ResourceMap mVertexArrayMap; HandleAllocator mVertexArrayHandleAllocator; ResourceMap mTransformFeedbackMap; HandleAllocator mTransformFeedbackHandleAllocator; const char *mVersionString; const char *mShadingLanguageString; const char *mRendererString; const char *mExtensionString; std::vector mExtensionStrings; const char *mRequestableExtensionString; std::vector mRequestableExtensionStrings; std::unique_ptr mGLES1Renderer; bool mHasBeenCurrent; bool mContextLost; GraphicsResetStatus mResetStatus; bool mContextLostForced; GLenum mResetStrategy; const bool mRobustAccess; const bool mSurfacelessSupported; const bool mExplicitContextAvailable; egl::Surface *mCurrentDrawSurface; egl::Surface *mCurrentReadSurface; egl::Display *mDisplay; const bool mWebGLContext; bool mBufferAccessValidationEnabled; const bool mExtensionsEnabled; MemoryProgramCache *mMemoryProgramCache; State::DirtyObjects mDrawDirtyObjects; State::DirtyObjects mPathOperationDirtyObjects; StateCache mStateCache; State::DirtyBits mAllDirtyBits; State::DirtyBits mTexImageDirtyBits; State::DirtyObjects mTexImageDirtyObjects; State::DirtyBits mReadPixelsDirtyBits; State::DirtyObjects mReadPixelsDirtyObjects; State::DirtyBits mClearDirtyBits; State::DirtyObjects mClearDirtyObjects; State::DirtyBits mBlitDirtyBits; State::DirtyObjects mBlitDirtyObjects; State::DirtyBits mComputeDirtyBits; State::DirtyObjects mComputeDirtyObjects; State::DirtyBits mCopyImageDirtyBits; State::DirtyObjects mCopyImageDirtyObjects; angle::ObserverBinding mVertexArrayObserverBinding; angle::ObserverBinding mDrawFramebufferObserverBinding; angle::ObserverBinding mReadFramebufferObserverBinding; std::vector mUniformBufferObserverBindings; std::vector mSamplerObserverBindings; std::vector mImageObserverBindings; mutable angle::ScratchBuffer mScratchBuffer; mutable angle::ScratchBuffer mZeroFilledBuffer; std::shared_ptr mThreadPool; std::unique_ptr mFrameCapture; OverlayType mOverlay; }; } # 14 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp" 2 # 1 "../../third_party/angle/src/libANGLE/Context.inl.h" 1 # 14 "../../third_party/angle/src/libANGLE/Context.inl.h" # 1 "../../third_party/angle/src/libANGLE/GLES1Renderer.h" 1 # 21 "../../third_party/angle/src/libANGLE/GLES1Renderer.h" namespace gl { class Context; class GLES1State; class Program; class State; class Shader; class ShaderProgramManager; class GLES1Renderer final : angle::NonCopyable { public: GLES1Renderer(); ~GLES1Renderer(); void onDestroy(Context *context, State *state); angle::Result prepareForDraw(PrimitiveMode mode, Context *context, State *glState); static int VertexArrayIndex(ClientVertexArrayType type, const GLES1State &gles1); static int TexCoordArrayIndex(unsigned int unit); void drawTexture(Context *context, State *glState, float x, float y, float z, float width, float height); static constexpr int kTexUnitCount = 4; private: using Mat4Uniform = float[16]; using Vec4Uniform = float[4]; using Vec3Uniform = float[3]; Shader *getShader(ShaderProgramID handle) const; Program *getProgram(ShaderProgramID handle) const; angle::Result compileShader(Context *context, ShaderType shaderType, const char *src, ShaderProgramID *shaderOut); angle::Result linkProgram(Context *context, State *glState, ShaderProgramID vshader, ShaderProgramID fshader, const std::unordered_map &attribLocs, ShaderProgramID *programOut); angle::Result initializeRendererProgram(Context *context, State *glState); void setUniform1i(Context *context, Program *programObject, GLint loc, GLint value); void setUniform1iv(Context *context, Program *programObject, GLint loc, GLint count, const GLint *value); void setUniformMatrix4fv(Program *programObject, GLint loc, GLint count, GLboolean transpose, const GLfloat *value); void setUniform4fv(Program *programObject, GLint loc, GLint count, const GLfloat *value); void setUniform3fv(Program *programObject, GLint loc, GLint count, const GLfloat *value); void setUniform2fv(Program *programObject, GLint loc, GLint count, const GLfloat *value); void setUniform1f(Program *programObject, GLint loc, GLfloat value); void setUniform1fv(Program *programObject, GLint loc, GLint count, const GLfloat *value); void setAttributesEnabled(Context *context, State *glState, AttributesMask mask); static constexpr int kLightCount = 8; static constexpr int kClipPlaneCount = 6; static constexpr int kVertexAttribIndex = 0; static constexpr int kNormalAttribIndex = 1; static constexpr int kColorAttribIndex = 2; static constexpr int kPointSizeAttribIndex = 3; static constexpr int kTextureCoordAttribIndexBase = 4; bool mRendererProgramInitialized; ShaderProgramManager *mShaderPrograms; struct GLES1ProgramState { ShaderProgramID program; GLint projMatrixLoc; GLint modelviewMatrixLoc; GLint textureMatrixLoc; GLint modelviewInvTrLoc; GLint enableTexture2DLoc; GLint enableTextureCubeMapLoc; std::array tex2DSamplerLocs; std::array texCubeSamplerLocs; GLint textureFormatLoc; GLint textureEnvModeLoc; GLint combineRgbLoc; GLint combineAlphaLoc; GLint src0rgbLoc; GLint src0alphaLoc; GLint src1rgbLoc; GLint src1alphaLoc; GLint src2rgbLoc; GLint src2alphaLoc; GLint op0rgbLoc; GLint op0alphaLoc; GLint op1rgbLoc; GLint op1alphaLoc; GLint op2rgbLoc; GLint op2alphaLoc; GLint textureEnvColorLoc; GLint rgbScaleLoc; GLint alphaScaleLoc; GLint pointSpriteCoordReplaceLoc; GLint enableAlphaTestLoc; GLint alphaFuncLoc; GLint alphaTestRefLoc; GLint shadeModelFlatLoc; GLint enableLightingLoc; GLint enableRescaleNormalLoc; GLint enableNormalizeLoc; GLint enableColorMaterialLoc; GLint materialAmbientLoc; GLint materialDiffuseLoc; GLint materialSpecularLoc; GLint materialEmissiveLoc; GLint materialSpecularExponentLoc; GLint lightModelSceneAmbientLoc; GLint lightModelTwoSidedLoc; GLint lightEnablesLoc; GLint lightAmbientsLoc; GLint lightDiffusesLoc; GLint lightSpecularsLoc; GLint lightPositionsLoc; GLint lightDirectionsLoc; GLint lightSpotlightExponentsLoc; GLint lightSpotlightCutoffAnglesLoc; GLint lightAttenuationConstsLoc; GLint lightAttenuationLinearsLoc; GLint lightAttenuationQuadraticsLoc; GLint fogEnableLoc; GLint fogModeLoc; GLint fogDensityLoc; GLint fogStartLoc; GLint fogEndLoc; GLint fogColorLoc; GLint enableClipPlanesLoc; GLint clipPlaneEnablesLoc; GLint clipPlanesLoc; GLint pointRasterizationLoc; GLint pointSizeMinLoc; GLint pointSizeMaxLoc; GLint pointDistanceAttenuationLoc; GLint pointSpriteEnabledLoc; GLint enableDrawTextureLoc; GLint drawTextureCoordsLoc; GLint drawTextureDimsLoc; GLint drawTextureNormalizedCropRectLoc; }; struct GLES1UniformBuffers { std::array textureMatrices; std::array tex2DEnables; std::array texCubeEnables; std::array texEnvModes; std::array texCombineRgbs; std::array texCombineAlphas; std::array texCombineSrc0Rgbs; std::array texCombineSrc0Alphas; std::array texCombineSrc1Rgbs; std::array texCombineSrc1Alphas; std::array texCombineSrc2Rgbs; std::array texCombineSrc2Alphas; std::array texCombineOp0Rgbs; std::array texCombineOp0Alphas; std::array texCombineOp1Rgbs; std::array texCombineOp1Alphas; std::array texCombineOp2Rgbs; std::array texCombineOp2Alphas; std::array texEnvColors; std::array texEnvRgbScales; std::array texEnvAlphaScales; std::array pointSpriteCoordReplaces; std::array lightEnables; std::array lightAmbients; std::array lightDiffuses; std::array lightSpeculars; std::array lightPositions; std::array lightDirections; std::array spotlightExponents; std::array spotlightCutoffAngles; std::array attenuationConsts; std::array attenuationLinears; std::array attenuationQuadratics; std::array clipPlaneEnables; std::array clipPlanes; std::array texCropRects; }; GLES1UniformBuffers mUniformBuffers; GLES1ProgramState mProgramState; bool mDrawTextureEnabled = false; GLfloat mDrawTextureCoords[4] = {0.0f, 0.0f, 0.0f, 0.0f}; GLfloat mDrawTextureDims[2] = {0.0f, 0.0f}; }; } # 15 "../../third_party/angle/src/libANGLE/Context.inl.h" 2 # 1 "../../third_party/angle/src/libANGLE/renderer/ContextImpl.h" 1 # 17 "../../third_party/angle/src/libANGLE/renderer/ContextImpl.h" # 1 "../../third_party/angle/src/libANGLE/renderer/GLImplFactory.h" 1 # 16 "../../third_party/angle/src/libANGLE/renderer/GLImplFactory.h" # 1 "../../third_party/angle/src/libANGLE/Framebuffer.h" 1 # 25 "../../third_party/angle/src/libANGLE/Framebuffer.h" namespace rx { class GLImplFactory; class FramebufferImpl; class RenderbufferImpl; class SurfaceImpl; } namespace egl { class Display; class Surface; } namespace gl { struct Caps; class Context; struct Extensions; class Framebuffer; class ImageIndex; struct Rectangle; class Renderbuffer; class State; class Texture; class TextureCapsMap; enum class AttachmentSampleType { Resource, Emulated }; class FramebufferState final : angle::NonCopyable { public: FramebufferState(); explicit FramebufferState(const Caps &caps, FramebufferID id); ~FramebufferState(); const std::string &getLabel(); size_t getReadIndex() const; const FramebufferAttachment *getAttachment(const Context *context, GLenum attachment) const; const FramebufferAttachment *getReadAttachment() const; const FramebufferAttachment *getFirstNonNullAttachment() const; const FramebufferAttachment *getFirstColorAttachment() const; const FramebufferAttachment *getDepthOrStencilAttachment() const; const FramebufferAttachment *getStencilOrDepthStencilAttachment() const; const FramebufferAttachment *getColorAttachment(size_t colorAttachment) const; const FramebufferAttachment *getDepthAttachment() const; const FramebufferAttachment *getStencilAttachment() const; const FramebufferAttachment *getDepthStencilAttachment() const; const std::vector &getDrawBufferStates() const { return mDrawBufferStates; } DrawBufferMask getEnabledDrawBuffers() const { return mEnabledDrawBuffers; } GLenum getReadBufferState() const { return mReadBufferState; } const std::vector &getColorAttachments() const { return mColorAttachments; } bool attachmentsHaveSameDimensions() const; bool hasSeparateDepthAndStencilAttachments() const; bool colorAttachmentsAreUniqueImages() const; Box getDimensions() const; Extents getExtents() const; const FramebufferAttachment *getDrawBuffer(size_t drawBufferIdx) const; size_t getDrawBufferCount() const; GLint getDefaultWidth() const { return mDefaultWidth; } GLint getDefaultHeight() const { return mDefaultHeight; } GLint getDefaultSamples() const { return mDefaultSamples; } bool getDefaultFixedSampleLocations() const { return mDefaultFixedSampleLocations; } GLint getDefaultLayers() const { return mDefaultLayers; } bool hasDepth() const; bool hasStencil() const; bool isMultiview() const; inline __attribute__((always_inline)) GLsizei getNumViews() const { const FramebufferAttachment *attachment = getFirstNonNullAttachment(); if (attachment == nullptr) { return FramebufferAttachment::kDefaultNumViews; } return attachment->getNumViews(); } GLint getBaseViewIndex() const; FramebufferID id() const { return mId; } bool isDefault() const; private: const FramebufferAttachment *getWebGLDepthStencilAttachment() const; const FramebufferAttachment *getWebGLDepthAttachment() const; const FramebufferAttachment *getWebGLStencilAttachment() const; friend class Framebuffer; FramebufferID mId; std::string mLabel; std::vector mColorAttachments; FramebufferAttachment mDepthAttachment; FramebufferAttachment mStencilAttachment; std::vector mDrawBufferStates; GLenum mReadBufferState; DrawBufferMask mEnabledDrawBuffers; ComponentTypeMask mDrawBufferTypeMask; GLint mDefaultWidth; GLint mDefaultHeight; GLint mDefaultSamples; bool mDefaultFixedSampleLocations; GLint mDefaultLayers; FramebufferAttachment mWebGLDepthStencilAttachment; FramebufferAttachment mWebGLDepthAttachment; FramebufferAttachment mWebGLStencilAttachment; bool mWebGLDepthStencilConsistent; angle::BitSet mResourceNeedsInit; bool mDefaultFramebufferReadAttachmentInitialized; FramebufferAttachment mDefaultFramebufferReadAttachment; }; class Framebuffer final : public angle::ObserverInterface, public LabeledObject, public angle::Subject { public: Framebuffer(const Caps &caps, rx::GLImplFactory *factory, FramebufferID id); Framebuffer(const Context *context, egl::Surface *surface, egl::Surface *readSurface); Framebuffer(const Context *context, rx::GLImplFactory *factory, egl::Surface *readSurface); ~Framebuffer() override; void onDestroy(const Context *context); void setReadSurface(const Context *context, egl::Surface *readSurface); void setLabel(const Context *context, const std::string &label) override; const std::string &getLabel() const override; rx::FramebufferImpl *getImplementation() const { return mImpl; } FramebufferID id() const { return mState.mId; } void setAttachment(const Context *context, GLenum type, GLenum binding, const ImageIndex &textureIndex, FramebufferAttachmentObject *resource); void setAttachmentMultisample(const Context *context, GLenum type, GLenum binding, const ImageIndex &textureIndex, FramebufferAttachmentObject *resource, GLsizei samples); void setAttachmentMultiview(const Context *context, GLenum type, GLenum binding, const ImageIndex &textureIndex, FramebufferAttachmentObject *resource, GLsizei numViews, GLint baseViewIndex); void resetAttachment(const Context *context, GLenum binding); bool detachTexture(const Context *context, TextureID texture); bool detachRenderbuffer(const Context *context, RenderbufferID renderbuffer); const FramebufferAttachment *getColorAttachment(size_t colorAttachment) const; const FramebufferAttachment *getDepthAttachment() const; const FramebufferAttachment *getStencilAttachment() const; const FramebufferAttachment *getDepthStencilAttachment() const; const FramebufferAttachment *getDepthOrStencilAttachment() const; const FramebufferAttachment *getStencilOrDepthStencilAttachment() const; const FramebufferAttachment *getReadColorAttachment() const; GLenum getReadColorAttachmentType() const; const FramebufferAttachment *getFirstColorAttachment() const; const FramebufferAttachment *getFirstNonNullAttachment() const; const std::vector &getColorAttachments() const { return mState.mColorAttachments; } const FramebufferAttachment *getAttachment(const Context *context, GLenum attachment) const; bool isMultiview() const; bool readDisallowedByMultiview() const; GLsizei getNumViews() const; GLint getBaseViewIndex() const; Extents getExtents() const; size_t getDrawbufferStateCount() const; GLenum getDrawBufferState(size_t drawBuffer) const; const std::vector &getDrawBufferStates() const; void setDrawBuffers(size_t count, const GLenum *buffers); const FramebufferAttachment *getDrawBuffer(size_t drawBuffer) const; ComponentType getDrawbufferWriteType(size_t drawBuffer) const; ComponentTypeMask getDrawBufferTypeMask() const; DrawBufferMask getDrawBufferMask() const; bool hasEnabledDrawBuffer() const; GLenum getReadBufferState() const; void setReadBuffer(GLenum buffer); size_t getNumColorAttachments() const; bool hasDepth() const; bool hasStencil() const; bool usingExtendedDrawBuffers() const; int getSamples(const Context *context); int getResourceSamples(const Context *context); angle::Result getSamplePosition(const Context *context, size_t index, GLfloat *xy) const; GLint getDefaultWidth() const; GLint getDefaultHeight() const; GLint getDefaultSamples() const; bool getDefaultFixedSampleLocations() const; GLint getDefaultLayers() const; void setDefaultWidth(const Context *context, GLint defaultWidth); void setDefaultHeight(const Context *context, GLint defaultHeight); void setDefaultSamples(const Context *context, GLint defaultSamples); void setDefaultFixedSampleLocations(const Context *context, bool defaultFixedSampleLocations); void setDefaultLayers(GLint defaultLayers); void invalidateCompletenessCache(); inline __attribute__((always_inline)) bool cachedStatusValid() { return mCachedStatus.valid(); } inline __attribute__((always_inline)) GLenum checkStatus(const Context *context) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(!isDefault() || mCachedStatus.valid()); if (isDefault() || (!hasAnyDirtyBit() && mCachedStatus.valid())) { return mCachedStatus.value(); } return checkStatusImpl(context); } int getCachedSamples(const Context *context, AttachmentSampleType sampleType) const; inline __attribute__((always_inline)) bool isComplete(const Context *context) { return (checkStatus(context) == 0x8CD5); } bool hasValidDepthStencil() const; angle::Result discard(const Context *context, size_t count, const GLenum *attachments); angle::Result invalidate(const Context *context, size_t count, const GLenum *attachments); angle::Result invalidateSub(const Context *context, size_t count, const GLenum *attachments, const Rectangle &area); angle::Result clear(const Context *context, GLbitfield mask); angle::Result clearBufferfv(const Context *context, GLenum buffer, GLint drawbuffer, const GLfloat *values); angle::Result clearBufferuiv(const Context *context, GLenum buffer, GLint drawbuffer, const GLuint *values); angle::Result clearBufferiv(const Context *context, GLenum buffer, GLint drawbuffer, const GLint *values); angle::Result clearBufferfi(const Context *context, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); angle::Result getImplementationColorReadFormat(const Context *context, GLenum *formatOut); angle::Result getImplementationColorReadType(const Context *context, GLenum *typeOut); angle::Result readPixels(const Context *context, const Rectangle &area, GLenum format, GLenum type, void *pixels); angle::Result blit(const Context *context, const Rectangle &sourceArea, const Rectangle &destArea, GLbitfield mask, GLenum filter); bool isDefault() const { return mState.isDefault(); } enum DirtyBitType : size_t { DIRTY_BIT_COLOR_ATTACHMENT_0, DIRTY_BIT_COLOR_ATTACHMENT_MAX = DIRTY_BIT_COLOR_ATTACHMENT_0 + IMPLEMENTATION_MAX_FRAMEBUFFER_ATTACHMENTS, DIRTY_BIT_DEPTH_ATTACHMENT = DIRTY_BIT_COLOR_ATTACHMENT_MAX, DIRTY_BIT_STENCIL_ATTACHMENT, DIRTY_BIT_COLOR_BUFFER_CONTENTS_0, DIRTY_BIT_COLOR_BUFFER_CONTENTS_MAX = DIRTY_BIT_COLOR_BUFFER_CONTENTS_0 + IMPLEMENTATION_MAX_FRAMEBUFFER_ATTACHMENTS, DIRTY_BIT_DEPTH_BUFFER_CONTENTS, DIRTY_BIT_STENCIL_BUFFER_CONTENTS, DIRTY_BIT_DRAW_BUFFERS, DIRTY_BIT_READ_BUFFER, DIRTY_BIT_DEFAULT_WIDTH, DIRTY_BIT_DEFAULT_HEIGHT, DIRTY_BIT_DEFAULT_SAMPLES, DIRTY_BIT_DEFAULT_FIXED_SAMPLE_LOCATIONS, DIRTY_BIT_DEFAULT_LAYERS, DIRTY_BIT_UNKNOWN, DIRTY_BIT_MAX = DIRTY_BIT_UNKNOWN }; using DirtyBits = angle::BitSet; bool hasAnyDirtyBit() const { return mDirtyBits.any(); } bool hasActiveFloat32ColorAttachment() const { return (mFloat32ColorAttachmentBits & getDrawBufferMask()).any(); } bool hasResourceThatNeedsInit() const { return mState.mResourceNeedsInit.any(); } angle::Result syncState(const Context *context); void onSubjectStateChange(angle::SubjectIndex index, angle::SubjectMessage message) override; bool formsRenderingFeedbackLoopWith(const Context *context) const; bool formsCopyingFeedbackLoopWith(TextureID copyTextureID, GLint copyTextureLevel, GLint copyTextureLayer) const; angle::Result ensureClearAttachmentsInitialized(const Context *context, GLbitfield mask); angle::Result ensureClearBufferAttachmentsInitialized(const Context *context, GLenum buffer, GLint drawbuffer); angle::Result ensureDrawAttachmentsInitialized(const Context *context); angle::Result ensureReadAttachmentsInitialized(const Context *context); Box getDimensions() const; static const FramebufferID kDefaultDrawFramebufferHandle; private: bool detachResourceById(const Context *context, GLenum resourceType, GLuint resourceId); bool detachMatchingAttachment(const Context *context, FramebufferAttachment *attachment, GLenum matchType, GLuint matchId); GLenum checkStatusWithGLFrontEnd(const Context *context); GLenum checkStatusImpl(const Context *context); void setAttachment(const Context *context, GLenum type, GLenum binding, const ImageIndex &textureIndex, FramebufferAttachmentObject *resource, GLsizei numViews, GLuint baseViewIndex, bool isMultiview, GLsizei samples); void commitWebGL1DepthStencilIfConsistent(const Context *context, GLsizei numViews, GLuint baseViewIndex, bool isMultiview, GLsizei samples); void setAttachmentImpl(const Context *context, GLenum type, GLenum binding, const ImageIndex &textureIndex, FramebufferAttachmentObject *resource, GLsizei numViews, GLuint baseViewIndex, bool isMultiview, GLsizei samples); void updateAttachment(const Context *context, FramebufferAttachment *attachment, size_t dirtyBit, angle::ObserverBinding *onDirtyBinding, GLenum type, GLenum binding, const ImageIndex &textureIndex, FramebufferAttachmentObject *resource, GLsizei numViews, GLuint baseViewIndex, bool isMultiview, GLsizei samples); void markDrawAttachmentsInitialized(bool color, bool depth, bool stencil); void markBufferInitialized(GLenum bufferType, GLint bufferIndex); angle::Result ensureBufferInitialized(const Context *context, GLenum bufferType, GLint bufferIndex); bool partialClearNeedsInit(const Context *context, bool color, bool depth, bool stencil); bool partialBufferClearNeedsInit(const Context *context, GLenum bufferType); FramebufferAttachment *getAttachmentFromSubjectIndex(angle::SubjectIndex index); inline __attribute__((always_inline)) void updateFloat32ColorAttachmentBits(size_t index, const gl::InternalFormat *format) { mFloat32ColorAttachmentBits.set(index, format->type == 0x1406); } FramebufferState mState; rx::FramebufferImpl *mImpl; Optional mCachedStatus; std::vector mDirtyColorAttachmentBindings; angle::ObserverBinding mDirtyDepthAttachmentBinding; angle::ObserverBinding mDirtyStencilAttachmentBinding; DirtyBits mDirtyBits; DrawBufferMask mFloat32ColorAttachmentBits; DrawBufferMask mColorAttachmentBits; Optional mDirtyBitsGuard; }; } # 17 "../../third_party/angle/src/libANGLE/renderer/GLImplFactory.h" 2 # 1 "../../third_party/angle/src/libANGLE/Shader.h" 1 # 15 "../../third_party/angle/src/libANGLE/Shader.h" # 1 "/usr/include/c++/10/list" 1 3 # 58 "/usr/include/c++/10/list" 3 # 59 "/usr/include/c++/10/list" 3 # 1 "/usr/include/c++/10/bits/stl_list.h" 1 3 # 67 "/usr/include/c++/10/bits/stl_list.h" 3 # 67 "/usr/include/c++/10/bits/stl_list.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace __detail { struct _List_node_base { _List_node_base* _M_next; _List_node_base* _M_prev; static void swap(_List_node_base& __x, _List_node_base& __y) noexcept; void _M_transfer(_List_node_base* const __first, _List_node_base* const __last) noexcept; void _M_reverse() noexcept; void _M_hook(_List_node_base* const __position) noexcept; void _M_unhook() noexcept; }; struct _List_node_header : public _List_node_base { std::size_t _M_size; _List_node_header() noexcept { _M_init(); } _List_node_header(_List_node_header&& __x) noexcept : _List_node_base{ __x._M_next, __x._M_prev } , _M_size(__x._M_size) { if (__x._M_base()->_M_next == __x._M_base()) this->_M_next = this->_M_prev = this; else { this->_M_next->_M_prev = this->_M_prev->_M_next = this->_M_base(); __x._M_init(); } } void _M_move_nodes(_List_node_header&& __x) { _List_node_base* const __xnode = __x._M_base(); if (__xnode->_M_next == __xnode) _M_init(); else { _List_node_base* const __node = this->_M_base(); __node->_M_next = __xnode->_M_next; __node->_M_prev = __xnode->_M_prev; __node->_M_next->_M_prev = __node->_M_prev->_M_next = __node; _M_size = __x._M_size; __x._M_init(); } } void _M_init() noexcept { this->_M_next = this->_M_prev = this; this->_M_size = 0; } private: _List_node_base* _M_base() { return this; } }; } template struct _List_node : public __detail::_List_node_base { __gnu_cxx::__aligned_membuf<_Tp> _M_storage; _Tp* _M_valptr() { return _M_storage._M_ptr(); } _Tp const* _M_valptr() const { return _M_storage._M_ptr(); } }; template struct _List_iterator { typedef _List_iterator<_Tp> _Self; typedef _List_node<_Tp> _Node; typedef ptrdiff_t difference_type; typedef std::bidirectional_iterator_tag iterator_category; typedef _Tp value_type; typedef _Tp* pointer; typedef _Tp& reference; _List_iterator() noexcept : _M_node() { } explicit _List_iterator(__detail::_List_node_base* __x) noexcept : _M_node(__x) { } _Self _M_const_cast() const noexcept { return *this; } reference operator*() const noexcept { return *static_cast<_Node*>(_M_node)->_M_valptr(); } pointer operator->() const noexcept { return static_cast<_Node*>(_M_node)->_M_valptr(); } _Self& operator++() noexcept { _M_node = _M_node->_M_next; return *this; } _Self operator++(int) noexcept { _Self __tmp = *this; _M_node = _M_node->_M_next; return __tmp; } _Self& operator--() noexcept { _M_node = _M_node->_M_prev; return *this; } _Self operator--(int) noexcept { _Self __tmp = *this; _M_node = _M_node->_M_prev; return __tmp; } friend bool operator==(const _Self& __x, const _Self& __y) noexcept { return __x._M_node == __y._M_node; } friend bool operator!=(const _Self& __x, const _Self& __y) noexcept { return __x._M_node != __y._M_node; } __detail::_List_node_base* _M_node; }; template struct _List_const_iterator { typedef _List_const_iterator<_Tp> _Self; typedef const _List_node<_Tp> _Node; typedef _List_iterator<_Tp> iterator; typedef ptrdiff_t difference_type; typedef std::bidirectional_iterator_tag iterator_category; typedef _Tp value_type; typedef const _Tp* pointer; typedef const _Tp& reference; _List_const_iterator() noexcept : _M_node() { } explicit _List_const_iterator(const __detail::_List_node_base* __x) noexcept : _M_node(__x) { } _List_const_iterator(const iterator& __x) noexcept : _M_node(__x._M_node) { } iterator _M_const_cast() const noexcept { return iterator(const_cast<__detail::_List_node_base*>(_M_node)); } reference operator*() const noexcept { return *static_cast<_Node*>(_M_node)->_M_valptr(); } pointer operator->() const noexcept { return static_cast<_Node*>(_M_node)->_M_valptr(); } _Self& operator++() noexcept { _M_node = _M_node->_M_next; return *this; } _Self operator++(int) noexcept { _Self __tmp = *this; _M_node = _M_node->_M_next; return __tmp; } _Self& operator--() noexcept { _M_node = _M_node->_M_prev; return *this; } _Self operator--(int) noexcept { _Self __tmp = *this; _M_node = _M_node->_M_prev; return __tmp; } friend bool operator==(const _Self& __x, const _Self& __y) noexcept { return __x._M_node == __y._M_node; } friend bool operator!=(const _Self& __x, const _Self& __y) noexcept { return __x._M_node != __y._M_node; } const __detail::_List_node_base* _M_node; }; namespace __cxx11 { template class _List_base { protected: typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template rebind<_Tp>::other _Tp_alloc_type; typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tp_alloc_traits; typedef typename _Tp_alloc_traits::template rebind<_List_node<_Tp> >::other _Node_alloc_type; typedef __gnu_cxx::__alloc_traits<_Node_alloc_type> _Node_alloc_traits; static size_t _S_distance(const __detail::_List_node_base* __first, const __detail::_List_node_base* __last) { size_t __n = 0; while (__first != __last) { __first = __first->_M_next; ++__n; } return __n; } struct _List_impl : public _Node_alloc_type { __detail::_List_node_header _M_node; _List_impl() noexcept(is_nothrow_default_constructible<_Node_alloc_type>::value) : _Node_alloc_type() { } _List_impl(const _Node_alloc_type& __a) noexcept : _Node_alloc_type(__a) { } _List_impl(_List_impl&&) = default; _List_impl(_Node_alloc_type&& __a, _List_impl&& __x) : _Node_alloc_type(std::move(__a)), _M_node(std::move(__x._M_node)) { } _List_impl(_Node_alloc_type&& __a) noexcept : _Node_alloc_type(std::move(__a)) { } }; _List_impl _M_impl; size_t _M_get_size() const { return _M_impl._M_node._M_size; } void _M_set_size(size_t __n) { _M_impl._M_node._M_size = __n; } void _M_inc_size(size_t __n) { _M_impl._M_node._M_size += __n; } void _M_dec_size(size_t __n) { _M_impl._M_node._M_size -= __n; } size_t _M_distance(const __detail::_List_node_base* __first, const __detail::_List_node_base* __last) const { return _S_distance(__first, __last); } size_t _M_node_count() const { return _M_get_size(); } # 436 "/usr/include/c++/10/bits/stl_list.h" 3 typename _Node_alloc_traits::pointer _M_get_node() { return _Node_alloc_traits::allocate(_M_impl, 1); } void _M_put_node(typename _Node_alloc_traits::pointer __p) noexcept { _Node_alloc_traits::deallocate(_M_impl, __p, 1); } public: typedef _Alloc allocator_type; _Node_alloc_type& _M_get_Node_allocator() noexcept { return _M_impl; } const _Node_alloc_type& _M_get_Node_allocator() const noexcept { return _M_impl; } _List_base() = default; _List_base(const _Node_alloc_type& __a) noexcept : _M_impl(__a) { } _List_base(_List_base&&) = default; _List_base(_List_base&& __x, _Node_alloc_type&& __a) : _M_impl(std::move(__a)) { if (__x._M_get_Node_allocator() == _M_get_Node_allocator()) _M_move_nodes(std::move(__x)); } _List_base(_Node_alloc_type&& __a, _List_base&& __x) : _M_impl(std::move(__a), std::move(__x._M_impl)) { } _List_base(_Node_alloc_type&& __a) : _M_impl(std::move(__a)) { } void _M_move_nodes(_List_base&& __x) { _M_impl._M_node._M_move_nodes(std::move(__x._M_impl._M_node)); } ~_List_base() noexcept { _M_clear(); } void _M_clear() noexcept; void _M_init() noexcept { this->_M_impl._M_node._M_init(); } }; # 551 "/usr/include/c++/10/bits/stl_list.h" 3 template > class list : protected _List_base<_Tp, _Alloc> { # 564 "/usr/include/c++/10/bits/stl_list.h" 3 static_assert(is_same::type, _Tp>::value, "std::list must have a non-const, non-volatile value_type"); typedef _List_base<_Tp, _Alloc> _Base; typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; typedef typename _Base::_Tp_alloc_traits _Tp_alloc_traits; typedef typename _Base::_Node_alloc_type _Node_alloc_type; typedef typename _Base::_Node_alloc_traits _Node_alloc_traits; public: typedef _Tp value_type; typedef typename _Tp_alloc_traits::pointer pointer; typedef typename _Tp_alloc_traits::const_pointer const_pointer; typedef typename _Tp_alloc_traits::reference reference; typedef typename _Tp_alloc_traits::const_reference const_reference; typedef _List_iterator<_Tp> iterator; typedef _List_const_iterator<_Tp> 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: typedef _List_node<_Tp> _Node; using _Base::_M_impl; using _Base::_M_put_node; using _Base::_M_get_node; using _Base::_M_get_Node_allocator; # 626 "/usr/include/c++/10/bits/stl_list.h" 3 template _Node* _M_create_node(_Args&&... __args) { auto __p = this->_M_get_node(); auto& __alloc = _M_get_Node_allocator(); __allocated_ptr<_Node_alloc_type> __guard{__alloc, __p}; _Node_alloc_traits::construct(__alloc, __p->_M_valptr(), std::forward<_Args>(__args)...); __guard = nullptr; return __p; } static size_t _S_distance(const_iterator __first, const_iterator __last) { return std::distance(__first, __last); } size_t _M_node_count() const { return this->_M_get_size(); } # 661 "/usr/include/c++/10/bits/stl_list.h" 3 public: list() = default; # 678 "/usr/include/c++/10/bits/stl_list.h" 3 explicit list(const allocator_type& __a) noexcept : _Base(_Node_alloc_type(__a)) { } # 691 "/usr/include/c++/10/bits/stl_list.h" 3 explicit list(size_type __n, const allocator_type& __a = allocator_type()) : _Base(_Node_alloc_type(__a)) { _M_default_initialize(__n); } # 704 "/usr/include/c++/10/bits/stl_list.h" 3 list(size_type __n, const value_type& __value, const allocator_type& __a = allocator_type()) : _Base(_Node_alloc_type(__a)) { _M_fill_initialize(__n, __value); } # 731 "/usr/include/c++/10/bits/stl_list.h" 3 list(const list& __x) : _Base(_Node_alloc_traits:: _S_select_on_copy(__x._M_get_Node_allocator())) { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); } # 744 "/usr/include/c++/10/bits/stl_list.h" 3 list(list&&) = default; # 754 "/usr/include/c++/10/bits/stl_list.h" 3 list(initializer_list __l, const allocator_type& __a = allocator_type()) : _Base(_Node_alloc_type(__a)) { _M_initialize_dispatch(__l.begin(), __l.end(), __false_type()); } list(const list& __x, const allocator_type& __a) : _Base(_Node_alloc_type(__a)) { _M_initialize_dispatch(__x.begin(), __x.end(), __false_type()); } private: list(list&& __x, const allocator_type& __a, true_type) noexcept : _Base(_Node_alloc_type(__a), std::move(__x)) { } list(list&& __x, const allocator_type& __a, false_type) : _Base(_Node_alloc_type(__a)) { if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator()) this->_M_move_nodes(std::move(__x)); else insert(begin(), std::__make_move_if_noexcept_iterator(__x.begin()), std::__make_move_if_noexcept_iterator(__x.end())); } public: list(list&& __x, const allocator_type& __a) noexcept(_Node_alloc_traits::_S_always_equal()) : list(std::move(__x), __a, typename _Node_alloc_traits::is_always_equal{}) { } # 797 "/usr/include/c++/10/bits/stl_list.h" 3 template> list(_InputIterator __first, _InputIterator __last, const allocator_type& __a = allocator_type()) : _Base(_Node_alloc_type(__a)) { _M_initialize_dispatch(__first, __last, __false_type()); } # 823 "/usr/include/c++/10/bits/stl_list.h" 3 ~list() = default; # 834 "/usr/include/c++/10/bits/stl_list.h" 3 list& operator=(const list& __x); # 848 "/usr/include/c++/10/bits/stl_list.h" 3 list& operator=(list&& __x) noexcept(_Node_alloc_traits::_S_nothrow_move()) { constexpr bool __move_storage = _Node_alloc_traits::_S_propagate_on_move_assign() || _Node_alloc_traits::_S_always_equal(); _M_move_assign(std::move(__x), __bool_constant<__move_storage>()); return *this; } # 866 "/usr/include/c++/10/bits/stl_list.h" 3 list& operator=(initializer_list __l) { this->assign(__l.begin(), __l.end()); return *this; } # 884 "/usr/include/c++/10/bits/stl_list.h" 3 void assign(size_type __n, const value_type& __val) { _M_fill_assign(__n, __val); } # 901 "/usr/include/c++/10/bits/stl_list.h" 3 template> void assign(_InputIterator __first, _InputIterator __last) { _M_assign_dispatch(__first, __last, __false_type()); } # 925 "/usr/include/c++/10/bits/stl_list.h" 3 void assign(initializer_list __l) { this->_M_assign_dispatch(__l.begin(), __l.end(), __false_type()); } allocator_type get_allocator() const noexcept { return allocator_type(_Base::_M_get_Node_allocator()); } iterator begin() noexcept { return iterator(this->_M_impl._M_node._M_next); } const_iterator begin() const noexcept { return const_iterator(this->_M_impl._M_node._M_next); } iterator end() noexcept { return iterator(&this->_M_impl._M_node); } const_iterator end() const noexcept { return const_iterator(&this->_M_impl._M_node); } 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_node._M_next); } const_iterator cend() const noexcept { return const_iterator(&this->_M_impl._M_node); } const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(end()); } const_reverse_iterator crend() const noexcept { return const_reverse_iterator(begin()); } bool empty() const noexcept { return this->_M_impl._M_node._M_next == &this->_M_impl._M_node; } size_type size() const noexcept { return _M_node_count(); } size_type max_size() const noexcept { return _Node_alloc_traits::max_size(_M_get_Node_allocator()); } # 1074 "/usr/include/c++/10/bits/stl_list.h" 3 void resize(size_type __new_size); # 1087 "/usr/include/c++/10/bits/stl_list.h" 3 void resize(size_type __new_size, const value_type& __x); # 1109 "/usr/include/c++/10/bits/stl_list.h" 3 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; } # 1156 "/usr/include/c++/10/bits/stl_list.h" 3 void push_front(const value_type& __x) { this->_M_insert(begin(), __x); } void push_front(value_type&& __x) { this->_M_insert(begin(), std::move(__x)); } template void emplace_front(_Args&&... __args) { this->_M_insert(begin(), std::forward<_Args>(__args)...); } # 1192 "/usr/include/c++/10/bits/stl_list.h" 3 void pop_front() noexcept { this->_M_erase(begin()); } # 1206 "/usr/include/c++/10/bits/stl_list.h" 3 void push_back(const value_type& __x) { this->_M_insert(end(), __x); } void push_back(value_type&& __x) { this->_M_insert(end(), std::move(__x)); } template void emplace_back(_Args&&... __args) { this->_M_insert(end(), std::forward<_Args>(__args)...); } # 1241 "/usr/include/c++/10/bits/stl_list.h" 3 void pop_back() noexcept { this->_M_erase(iterator(this->_M_impl._M_node._M_prev)); } # 1258 "/usr/include/c++/10/bits/stl_list.h" 3 template iterator emplace(const_iterator __position, _Args&&... __args); # 1273 "/usr/include/c++/10/bits/stl_list.h" 3 iterator insert(const_iterator __position, const value_type& __x); # 1303 "/usr/include/c++/10/bits/stl_list.h" 3 iterator insert(const_iterator __position, value_type&& __x) { return emplace(__position, std::move(__x)); } # 1322 "/usr/include/c++/10/bits/stl_list.h" 3 iterator insert(const_iterator __p, initializer_list __l) { return this->insert(__p, __l.begin(), __l.end()); } # 1342 "/usr/include/c++/10/bits/stl_list.h" 3 iterator insert(const_iterator __position, size_type __n, const value_type& __x); # 1381 "/usr/include/c++/10/bits/stl_list.h" 3 template> iterator insert(const_iterator __position, _InputIterator __first, _InputIterator __last); # 1425 "/usr/include/c++/10/bits/stl_list.h" 3 iterator erase(const_iterator __position) noexcept; # 1450 "/usr/include/c++/10/bits/stl_list.h" 3 iterator erase(const_iterator __first, const_iterator __last) noexcept { while (__first != __last) __first = erase(__first); return __last._M_const_cast(); } # 1473 "/usr/include/c++/10/bits/stl_list.h" 3 void swap(list& __x) noexcept { __detail::_List_node_base::swap(this->_M_impl._M_node, __x._M_impl._M_node); size_t __xsize = __x._M_get_size(); __x._M_set_size(this->_M_get_size()); this->_M_set_size(__xsize); _Node_alloc_traits::_S_on_swap(this->_M_get_Node_allocator(), __x._M_get_Node_allocator()); } void clear() noexcept { _Base::_M_clear(); _Base::_M_init(); } # 1512 "/usr/include/c++/10/bits/stl_list.h" 3 void splice(const_iterator __position, list&& __x) noexcept { if (!__x.empty()) { _M_check_equal_allocators(__x); this->_M_transfer(__position._M_const_cast(), __x.begin(), __x.end()); this->_M_inc_size(__x._M_get_size()); __x._M_set_size(0); } } void splice(const_iterator __position, list& __x) noexcept { splice(__position, std::move(__x)); } # 1548 "/usr/include/c++/10/bits/stl_list.h" 3 void splice(const_iterator __position, list&& __x, const_iterator __i) noexcept # 1563 "/usr/include/c++/10/bits/stl_list.h" 3 { iterator __j = __i._M_const_cast(); ++__j; if (__position == __i || __position == __j) return; if (this != std::__addressof(__x)) _M_check_equal_allocators(__x); this->_M_transfer(__position._M_const_cast(), __i._M_const_cast(), __j); this->_M_inc_size(1); __x._M_dec_size(1); } # 1590 "/usr/include/c++/10/bits/stl_list.h" 3 void splice(const_iterator __position, list& __x, const_iterator __i) noexcept { splice(__position, std::move(__x), __i); } # 1609 "/usr/include/c++/10/bits/stl_list.h" 3 void splice(const_iterator __position, list&& __x, const_iterator __first, const_iterator __last) noexcept # 1629 "/usr/include/c++/10/bits/stl_list.h" 3 { if (__first != __last) { if (this != std::__addressof(__x)) _M_check_equal_allocators(__x); size_t __n = _S_distance(__first, __last); this->_M_inc_size(__n); __x._M_dec_size(__n); this->_M_transfer(__position._M_const_cast(), __first._M_const_cast(), __last._M_const_cast()); } } # 1659 "/usr/include/c++/10/bits/stl_list.h" 3 void splice(const_iterator __position, list& __x, const_iterator __first, const_iterator __last) noexcept { splice(__position, std::move(__x), __first, __last); } private: typedef void __remove_return_type; public: # 1688 "/usr/include/c++/10/bits/stl_list.h" 3 __remove_return_type remove(const _Tp& __value); # 1703 "/usr/include/c++/10/bits/stl_list.h" 3 template __remove_return_type remove_if(_Predicate); # 1717 "/usr/include/c++/10/bits/stl_list.h" 3 __remove_return_type unique(); # 1733 "/usr/include/c++/10/bits/stl_list.h" 3 template __remove_return_type unique(_BinaryPredicate); # 1749 "/usr/include/c++/10/bits/stl_list.h" 3 void merge(list&& __x); void merge(list& __x) { merge(std::move(__x)); } # 1774 "/usr/include/c++/10/bits/stl_list.h" 3 template void merge(list&& __x, _StrictWeakOrdering __comp); template void merge(list& __x, _StrictWeakOrdering __comp) { merge(std::move(__x), __comp); } # 1793 "/usr/include/c++/10/bits/stl_list.h" 3 void reverse() noexcept { this->_M_impl._M_node._M_reverse(); } void sort(); template void sort(_StrictWeakOrdering); protected: template void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) { _M_fill_initialize(static_cast(__n), __x); } template void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, __false_type) { for (; __first != __last; ++__first) emplace_back(*__first); } void _M_fill_initialize(size_type __n, const value_type& __x) { for (; __n; --__n) push_back(__x); } void _M_default_initialize(size_type __n) { for (; __n; --__n) emplace_back(); } void _M_default_append(size_type __n); # 1871 "/usr/include/c++/10/bits/stl_list.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); void _M_fill_assign(size_type __n, const value_type& __val); void _M_transfer(iterator __position, iterator __first, iterator __last) { __position._M_node->_M_transfer(__first._M_node, __last._M_node); } # 1903 "/usr/include/c++/10/bits/stl_list.h" 3 template void _M_insert(iterator __position, _Args&&... __args) { _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...); __tmp->_M_hook(__position._M_node); this->_M_inc_size(1); } void _M_erase(iterator __position) noexcept { this->_M_dec_size(1); __position._M_node->_M_unhook(); _Node* __n = static_cast<_Node*>(__position._M_node); _Node_alloc_traits::destroy(_M_get_Node_allocator(), __n->_M_valptr()); _M_put_node(__n); } void _M_check_equal_allocators(list& __x) noexcept { if (std::__alloc_neq:: _S_do_it(_M_get_Node_allocator(), __x._M_get_Node_allocator())) __builtin_abort(); } const_iterator _M_resize_pos(size_type& __new_size) const; void _M_move_assign(list&& __x, true_type) noexcept { this->_M_clear(); this->_M_move_nodes(std::move(__x)); std::__alloc_on_move(this->_M_get_Node_allocator(), __x._M_get_Node_allocator()); } void _M_move_assign(list&& __x, false_type) { if (__x._M_get_Node_allocator() == this->_M_get_Node_allocator()) _M_move_assign(std::move(__x), true_type{}); else _M_assign_dispatch(std::make_move_iterator(__x.begin()), std::make_move_iterator(__x.end()), __false_type{}); } }; # 1977 "/usr/include/c++/10/bits/stl_list.h" 3 } # 1989 "/usr/include/c++/10/bits/stl_list.h" 3 template inline bool operator==(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { if (__x.size() != __y.size()) return false; typedef typename list<_Tp, _Alloc>::const_iterator const_iterator; const_iterator __end1 = __x.end(); const_iterator __end2 = __y.end(); const_iterator __i1 = __x.begin(); const_iterator __i2 = __y.begin(); while (__i1 != __end1 && __i2 != __end2 && *__i1 == *__i2) { ++__i1; ++__i2; } return __i1 == __end1 && __i2 == __end2; } # 2023 "/usr/include/c++/10/bits/stl_list.h" 3 template inline bool operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return std::lexicographical_compare(__x.begin(), __x.end(), __y.begin(), __y.end()); } template inline bool operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return !(__x == __y); } template inline bool operator>(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return __y < __x; } template inline bool operator<=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return !(__y < __x); } template inline bool operator>=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) { return !(__x < __y); } template inline void swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y) noexcept(noexcept(__x.swap(__y))) { __x.swap(__y); } template inline ptrdiff_t __distance(std::_List_iterator<_Tp> __first, std::_List_iterator<_Tp> __last, input_iterator_tag __tag) { typedef std::_List_const_iterator<_Tp> _CIter; return std::__distance(_CIter(__first), _CIter(__last), __tag); } template inline ptrdiff_t __distance(std::_List_const_iterator<_Tp> __first, std::_List_const_iterator<_Tp> __last, input_iterator_tag) { typedef __detail::_List_node_header _Sentinel; std::_List_const_iterator<_Tp> __beyond = __last; ++__beyond; const bool __whole = __first == __beyond; if (__builtin_constant_p (__whole) && __whole) return static_cast(__last._M_node)->_M_size; ptrdiff_t __n = 0; while (__first != __last) { ++__first; ++__n; } return __n; } } # 64 "/usr/include/c++/10/list" 2 3 # 1 "/usr/include/c++/10/bits/list.tcc" 1 3 # 59 "/usr/include/c++/10/bits/list.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void _List_base<_Tp, _Alloc>:: _M_clear() noexcept { typedef _List_node<_Tp> _Node; __detail::_List_node_base* __cur = _M_impl._M_node._M_next; while (__cur != &_M_impl._M_node) { _Node* __tmp = static_cast<_Node*>(__cur); __cur = __tmp->_M_next; _Tp* __val = __tmp->_M_valptr(); _Node_alloc_traits::destroy(_M_get_Node_allocator(), __val); _M_put_node(__tmp); } } template template typename list<_Tp, _Alloc>::iterator list<_Tp, _Alloc>:: emplace(const_iterator __position, _Args&&... __args) { _Node* __tmp = _M_create_node(std::forward<_Args>(__args)...); __tmp->_M_hook(__position._M_const_cast()._M_node); this->_M_inc_size(1); return iterator(__tmp); } template typename list<_Tp, _Alloc>::iterator list<_Tp, _Alloc>:: insert(const_iterator __position, const value_type& __x) { _Node* __tmp = _M_create_node(__x); __tmp->_M_hook(__position._M_const_cast()._M_node); this->_M_inc_size(1); return iterator(__tmp); } template typename list<_Tp, _Alloc>::iterator list<_Tp, _Alloc>:: insert(const_iterator __position, size_type __n, const value_type& __x) { if (__n) { list __tmp(__n, __x, get_allocator()); iterator __it = __tmp.begin(); splice(__position, __tmp); return __it; } return __position._M_const_cast(); } template template typename list<_Tp, _Alloc>::iterator list<_Tp, _Alloc>:: insert(const_iterator __position, _InputIterator __first, _InputIterator __last) { list __tmp(__first, __last, get_allocator()); if (!__tmp.empty()) { iterator __it = __tmp.begin(); splice(__position, __tmp); return __it; } return __position._M_const_cast(); } template typename list<_Tp, _Alloc>::iterator list<_Tp, _Alloc>:: erase(const_iterator __position) noexcept { iterator __ret = iterator(__position._M_node->_M_next); _M_erase(__position._M_const_cast()); return __ret; } # 173 "/usr/include/c++/10/bits/list.tcc" 3 template typename list<_Tp, _Alloc>::const_iterator list<_Tp, _Alloc>:: _M_resize_pos(size_type& __new_size) const { const_iterator __i; const size_type __len = size(); if (__new_size < __len) { if (__new_size <= __len / 2) { __i = begin(); std::advance(__i, __new_size); } else { __i = end(); ptrdiff_t __num_erase = __len - __new_size; std::advance(__i, -__num_erase); } __new_size = 0; return __i; } else __i = end(); __new_size -= __len; return __i; } template void list<_Tp, _Alloc>:: _M_default_append(size_type __n) { size_type __i = 0; if (true) { for (; __i < __n; ++__i) emplace_back(); } if (false) { for (; __i; --__i) pop_back(); ; } } template void list<_Tp, _Alloc>:: resize(size_type __new_size) { const_iterator __i = _M_resize_pos(__new_size); if (__new_size) _M_default_append(__new_size); else erase(__i, end()); } template void list<_Tp, _Alloc>:: resize(size_type __new_size, const value_type& __x) { const_iterator __i = _M_resize_pos(__new_size); if (__new_size) insert(end(), __new_size, __x); else erase(__i, end()); } # 265 "/usr/include/c++/10/bits/list.tcc" 3 template list<_Tp, _Alloc>& list<_Tp, _Alloc>:: operator=(const list& __x) { if (this != std::__addressof(__x)) { if (_Node_alloc_traits::_S_propagate_on_copy_assign()) { auto& __this_alloc = this->_M_get_Node_allocator(); auto& __that_alloc = __x._M_get_Node_allocator(); if (!_Node_alloc_traits::_S_always_equal() && __this_alloc != __that_alloc) { clear(); } std::__alloc_on_copy(__this_alloc, __that_alloc); } _M_assign_dispatch(__x.begin(), __x.end(), __false_type()); } return *this; } template void list<_Tp, _Alloc>:: _M_fill_assign(size_type __n, const value_type& __val) { iterator __i = begin(); for (; __i != end() && __n > 0; ++__i, --__n) *__i = __val; if (__n > 0) insert(end(), __n, __val); else erase(__i, end()); } template template void list<_Tp, _Alloc>:: _M_assign_dispatch(_InputIterator __first2, _InputIterator __last2, __false_type) { iterator __first1 = begin(); iterator __last1 = end(); for (; __first1 != __last1 && __first2 != __last2; ++__first1, (void)++__first2) *__first1 = *__first2; if (__first2 == __last2) erase(__first1, __last1); else insert(__last1, __first2, __last2); } template typename list<_Tp, _Alloc>::__remove_return_type list<_Tp, _Alloc>:: remove(const value_type& __value) { size_type __removed __attribute__((__unused__)) = 0; iterator __first = begin(); iterator __last = end(); iterator __extra = __last; while (__first != __last) { iterator __next = __first; ++__next; if (*__first == __value) { if (std::__addressof(*__first) != std::__addressof(__value)) { _M_erase(__first); ; } else __extra = __first; } __first = __next; } if (__extra != __last) { _M_erase(__extra); ; } return ; } template typename list<_Tp, _Alloc>::__remove_return_type list<_Tp, _Alloc>:: unique() { iterator __first = begin(); iterator __last = end(); if (__first == __last) return ; size_type __removed __attribute__((__unused__)) = 0; iterator __next = __first; while (++__next != __last) { if (*__first == *__next) { _M_erase(__next); ; } else __first = __next; __next = __first; } return ; } template void list<_Tp, _Alloc>:: merge(list&& __x) { if (this != std::__addressof(__x)) { _M_check_equal_allocators(__x); iterator __first1 = begin(); iterator __last1 = end(); iterator __first2 = __x.begin(); iterator __last2 = __x.end(); const size_t __orig_size = __x.size(); if (true) { while (__first1 != __last1 && __first2 != __last2) if (*__first2 < *__first1) { iterator __next = __first2; _M_transfer(__first1, __first2, ++__next); __first2 = __next; } else ++__first1; if (__first2 != __last2) _M_transfer(__last1, __first2, __last2); this->_M_inc_size(__x._M_get_size()); __x._M_set_size(0); } if (false) { const size_t __dist = std::distance(__first2, __last2); this->_M_inc_size(__orig_size - __dist); __x._M_set_size(__dist); ; } } } template template void list<_Tp, _Alloc>:: merge(list&& __x, _StrictWeakOrdering __comp) { if (this != std::__addressof(__x)) { _M_check_equal_allocators(__x); iterator __first1 = begin(); iterator __last1 = end(); iterator __first2 = __x.begin(); iterator __last2 = __x.end(); const size_t __orig_size = __x.size(); if (true) { while (__first1 != __last1 && __first2 != __last2) if (__comp(*__first2, *__first1)) { iterator __next = __first2; _M_transfer(__first1, __first2, ++__next); __first2 = __next; } else ++__first1; if (__first2 != __last2) _M_transfer(__last1, __first2, __last2); this->_M_inc_size(__x._M_get_size()); __x._M_set_size(0); } if (false) { const size_t __dist = std::distance(__first2, __last2); this->_M_inc_size(__orig_size - __dist); __x._M_set_size(__dist); ; } } } template void list<_Tp, _Alloc>:: sort() { if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) { list __carry; list __tmp[64]; list * __fill = __tmp; list * __counter; if (true) { do { __carry.splice(__carry.begin(), *this, begin()); for(__counter = __tmp; __counter != __fill && !__counter->empty(); ++__counter) { __counter->merge(__carry); __carry.swap(*__counter); } __carry.swap(*__counter); if (__counter == __fill) ++__fill; } while ( !empty() ); for (__counter = __tmp + 1; __counter != __fill; ++__counter) __counter->merge(*(__counter - 1)); swap( *(__fill - 1) ); } if (false) { this->splice(this->end(), __carry); for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i) this->splice(this->end(), __tmp[__i]); ; } } } template template typename list<_Tp, _Alloc>::__remove_return_type list<_Tp, _Alloc>:: remove_if(_Predicate __pred) { size_type __removed __attribute__((__unused__)) = 0; iterator __first = begin(); iterator __last = end(); while (__first != __last) { iterator __next = __first; ++__next; if (__pred(*__first)) { _M_erase(__first); ; } __first = __next; } return ; } template template typename list<_Tp, _Alloc>::__remove_return_type list<_Tp, _Alloc>:: unique(_BinaryPredicate __binary_pred) { iterator __first = begin(); iterator __last = end(); if (__first == __last) return ; size_type __removed __attribute__((__unused__)) = 0; iterator __next = __first; while (++__next != __last) { if (__binary_pred(*__first, *__next)) { _M_erase(__next); ; } else __first = __next; __next = __first; } return ; } template template void list<_Tp, _Alloc>:: sort(_StrictWeakOrdering __comp) { if (this->_M_impl._M_node._M_next != &this->_M_impl._M_node && this->_M_impl._M_node._M_next->_M_next != &this->_M_impl._M_node) { list __carry; list __tmp[64]; list * __fill = __tmp; list * __counter; if (true) { do { __carry.splice(__carry.begin(), *this, begin()); for(__counter = __tmp; __counter != __fill && !__counter->empty(); ++__counter) { __counter->merge(__carry, __comp); __carry.swap(*__counter); } __carry.swap(*__counter); if (__counter == __fill) ++__fill; } while ( !empty() ); for (__counter = __tmp + 1; __counter != __fill; ++__counter) __counter->merge(*(__counter - 1), __comp); swap(*(__fill - 1)); } if (false) { this->splice(this->end(), __carry); for (int __i = 0; __i < sizeof(__tmp)/sizeof(__tmp[0]); ++__i) this->splice(this->end(), __tmp[__i]); ; } } } } # 65 "/usr/include/c++/10/list" 2 3 # 16 "../../third_party/angle/src/libANGLE/Shader.h" 2 # 25 "../../third_party/angle/src/libANGLE/Shader.h" # 1 "../../third_party/angle/src/libANGLE/Compiler.h" 1 # 20 "../../third_party/angle/src/libANGLE/Compiler.h" # 20 "../../third_party/angle/src/libANGLE/Compiler.h" namespace rx { class CompilerImpl; class GLImplFactory; } namespace gl { class ShCompilerInstance; class State; class Compiler final : public RefCountObjectNoID { public: Compiler(rx::GLImplFactory *implFactory, const State &data); ShCompilerInstance getInstance(ShaderType shaderType); void putInstance(ShCompilerInstance &&instance); ShShaderOutput getShaderOutputType() const { return mOutputType; } private: ~Compiler() override; std::unique_ptr mImplementation; ShShaderSpec mSpec; ShShaderOutput mOutputType; ShBuiltInResources mResources; ShaderMap> mPools; }; class ShCompilerInstance final : public angle::NonCopyable { public: ShCompilerInstance(); ShCompilerInstance(ShHandle handle, ShShaderOutput outputType, ShaderType shaderType); ~ShCompilerInstance(); void destroy(); ShCompilerInstance(ShCompilerInstance &&other); ShCompilerInstance &operator=(ShCompilerInstance &&other); ShHandle getHandle(); ShaderType getShaderType() const; const std::string &getBuiltinResourcesString(); ShShaderOutput getShaderOutputType() const; private: ShHandle mHandle; ShShaderOutput mOutputType; ShaderType mShaderType; }; } # 26 "../../third_party/angle/src/libANGLE/Shader.h" 2 namespace rx { class GLImplFactory; class ShaderImpl; class ShaderSh; class WaitableCompileEvent; } namespace angle { class WaitableEvent; class WorkerThreadPool; } namespace gl { class CompileTask; class Context; struct Limitations; class ShaderProgramManager; class State; enum class CompileStatus { NOT_COMPILED, COMPILE_REQUESTED, COMPILED, }; class ShaderState final : angle::NonCopyable { public: ShaderState(ShaderType shaderType); ~ShaderState(); const std::string &getLabel() const { return mLabel; } const std::string &getSource() const { return mSource; } const std::string &getTranslatedSource() const { return mTranslatedSource; } ShaderType getShaderType() const { return mShaderType; } int getShaderVersion() const { return mShaderVersion; } const std::vector &getInputVaryings() const { return mInputVaryings; } const std::vector &getOutputVaryings() const { return mOutputVaryings; } const std::vector &getUniforms() const { return mUniforms; } const std::vector &getUniformBlocks() const { return mUniformBlocks; } const std::vector &getShaderStorageBlocks() const { return mShaderStorageBlocks; } const std::vector &getActiveAttributes() const { return mActiveAttributes; } const std::vector &getAllAttributes() const { return mAllAttributes; } const std::vector &getActiveOutputVariables() const { return mActiveOutputVariables; } bool compilePending() const { return mCompileStatus == CompileStatus::COMPILE_REQUESTED; } private: friend class Shader; std::string mLabel; ShaderType mShaderType; int mShaderVersion; std::string mTranslatedSource; std::string mSource; sh::WorkGroupSize mLocalSize; std::vector mInputVaryings; std::vector mOutputVaryings; std::vector mUniforms; std::vector mUniformBlocks; std::vector mShaderStorageBlocks; std::vector mAllAttributes; std::vector mActiveAttributes; std::vector mActiveOutputVariables; int mNumViews; Optional mGeometryShaderInputPrimitiveType; Optional mGeometryShaderOutputPrimitiveType; Optional mGeometryShaderMaxVertices; int mGeometryShaderInvocations; CompileStatus mCompileStatus; }; class Shader final : angle::NonCopyable, public LabeledObject { public: Shader(ShaderProgramManager *manager, rx::GLImplFactory *implFactory, const gl::Limitations &rendererLimitations, ShaderType type, ShaderProgramID handle); void onDestroy(const Context *context); void setLabel(const Context *context, const std::string &label) override; const std::string &getLabel() const override; ShaderType getType() const { return mType; } ShaderProgramID getHandle() const; rx::ShaderImpl *getImplementation() const { return mImplementation.get(); } void setSource(GLsizei count, const char *const *string, const GLint *length); int getInfoLogLength(); void getInfoLog(GLsizei bufSize, GLsizei *length, char *infoLog); int getSourceLength() const; const std::string &getSourceString() const { return mState.getSource(); } void getSource(GLsizei bufSize, GLsizei *length, char *buffer) const; int getTranslatedSourceLength(); int getTranslatedSourceWithDebugInfoLength(); const std::string &getTranslatedSource(); void getTranslatedSource(GLsizei bufSize, GLsizei *length, char *buffer); void getTranslatedSourceWithDebugInfo(GLsizei bufSize, GLsizei *length, char *buffer); void compile(const Context *context); bool isCompiled(); bool isCompleted(); void addRef(); void release(const Context *context); unsigned int getRefCount() const; bool isFlaggedForDeletion() const; void flagForDeletion(); int getShaderVersion(); const std::vector &getInputVaryings(); const std::vector &getOutputVaryings(); const std::vector &getUniforms(); const std::vector &getUniformBlocks(); const std::vector &getShaderStorageBlocks(); const std::vector &getActiveAttributes(); const std::vector &getAllAttributes(); const std::vector &getActiveOutputVariables(); std::string getTransformFeedbackVaryingMappedName(const std::string &tfVaryingName); const sh::WorkGroupSize &getWorkGroupSize(); int getNumViews(); Optional getGeometryShaderInputPrimitiveType(); Optional getGeometryShaderOutputPrimitiveType(); int getGeometryShaderInvocations(); Optional getGeometryShaderMaxVertices(); const std::string &getCompilerResourcesString() const; private: struct CompilingState; ~Shader() override; static void GetSourceImpl(const std::string &source, GLsizei bufSize, GLsizei *length, char *buffer); void resolveCompile(); ShaderState mState; std::unique_ptr mImplementation; const gl::Limitations &mRendererLimitations; const ShaderProgramID mHandle; const ShaderType mType; unsigned int mRefCount; bool mDeleteStatus; std::string mInfoLog; BindingPointer mBoundCompiler; std::unique_ptr mCompilingState; std::string mCompilerResourcesString; ShaderProgramManager *mResourceManager; GLuint mCurrentMaxComputeWorkGroupInvocations; unsigned int mMaxComputeSharedMemory; }; bool CompareShaderVar(const sh::ShaderVariable &x, const sh::ShaderVariable &y); const char *GetShaderTypeString(ShaderType type); } # 22 "../../third_party/angle/src/libANGLE/renderer/GLImplFactory.h" 2 namespace gl { class State; } namespace rx { class BufferImpl; class CompilerImpl; class ContextImpl; class FenceNVImpl; class SyncImpl; class FramebufferImpl; class MemoryObjectImpl; class OverlayImpl; class PathImpl; class ProgramImpl; class ProgramPipelineImpl; class QueryImpl; class RenderbufferImpl; class SamplerImpl; class SemaphoreImpl; class ShaderImpl; class TextureImpl; class TransformFeedbackImpl; class VertexArrayImpl; class GLImplFactory : angle::NonCopyable { public: GLImplFactory() {} virtual ~GLImplFactory() {} virtual CompilerImpl *createCompiler() = 0; virtual ShaderImpl *createShader(const gl::ShaderState &data) = 0; virtual ProgramImpl *createProgram(const gl::ProgramState &data) = 0; virtual FramebufferImpl *createFramebuffer(const gl::FramebufferState &data) = 0; virtual TextureImpl *createTexture(const gl::TextureState &state) = 0; virtual RenderbufferImpl *createRenderbuffer(const gl::RenderbufferState &state) = 0; virtual BufferImpl *createBuffer(const gl::BufferState &state) = 0; virtual VertexArrayImpl *createVertexArray(const gl::VertexArrayState &data) = 0; virtual QueryImpl *createQuery(gl::QueryType type) = 0; virtual FenceNVImpl *createFenceNV() = 0; virtual SyncImpl *createSync() = 0; virtual TransformFeedbackImpl *createTransformFeedback( const gl::TransformFeedbackState &state) = 0; virtual SamplerImpl *createSampler(const gl::SamplerState &state) = 0; virtual ProgramPipelineImpl *createProgramPipeline(const gl::ProgramPipelineState &data) = 0; virtual std::vector createPaths(GLsizei range) = 0; virtual MemoryObjectImpl *createMemoryObject() = 0; virtual SemaphoreImpl *createSemaphore() = 0; virtual OverlayImpl *createOverlay(const gl::OverlayState &state) = 0; }; } # 18 "../../third_party/angle/src/libANGLE/renderer/ContextImpl.h" 2 namespace gl { class ErrorSet; class MemoryProgramCache; class Path; class Semaphore; struct Workarounds; } namespace rx { class ContextImpl : public GLImplFactory { public: ContextImpl(const gl::State &state, gl::ErrorSet *errorSet); ~ContextImpl() override; virtual void onDestroy(const gl::Context *context) {} virtual angle::Result initialize() = 0; virtual angle::Result flush(const gl::Context *context) = 0; virtual angle::Result finish(const gl::Context *context) = 0; virtual angle::Result drawArrays(const gl::Context *context, gl::PrimitiveMode mode, GLint first, GLsizei count) = 0; virtual angle::Result drawArraysInstanced(const gl::Context *context, gl::PrimitiveMode mode, GLint first, GLsizei count, GLsizei instanceCount) = 0; virtual angle::Result drawArraysInstancedBaseInstance(const gl::Context *context, gl::PrimitiveMode mode, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance) = 0; virtual angle::Result drawElements(const gl::Context *context, gl::PrimitiveMode mode, GLsizei count, gl::DrawElementsType type, const void *indices) = 0; virtual angle::Result drawElementsBaseVertex(const gl::Context *context, gl::PrimitiveMode mode, GLsizei count, gl::DrawElementsType type, const void *indices, GLint baseVertex) = 0; virtual angle::Result drawElementsInstanced(const gl::Context *context, gl::PrimitiveMode mode, GLsizei count, gl::DrawElementsType type, const void *indices, GLsizei instances) = 0; virtual angle::Result drawElementsInstancedBaseVertex(const gl::Context *context, gl::PrimitiveMode mode, GLsizei count, gl::DrawElementsType type, const void *indices, GLsizei instances, GLint baseVertex) = 0; virtual angle::Result drawElementsInstancedBaseVertexBaseInstance(const gl::Context *context, gl::PrimitiveMode mode, GLsizei count, gl::DrawElementsType type, const void *indices, GLsizei instances, GLint baseVertex, GLuint baseInstance) = 0; virtual angle::Result drawRangeElements(const gl::Context *context, gl::PrimitiveMode mode, GLuint start, GLuint end, GLsizei count, gl::DrawElementsType type, const void *indices) = 0; virtual angle::Result drawRangeElementsBaseVertex(const gl::Context *context, gl::PrimitiveMode mode, GLuint start, GLuint end, GLsizei count, gl::DrawElementsType type, const void *indices, GLint baseVertex) = 0; virtual angle::Result drawArraysIndirect(const gl::Context *context, gl::PrimitiveMode mode, const void *indirect) = 0; virtual angle::Result drawElementsIndirect(const gl::Context *context, gl::PrimitiveMode mode, gl::DrawElementsType type, const void *indirect) = 0; virtual void stencilFillPath(const gl::Path *path, GLenum fillMode, GLuint mask); virtual void stencilStrokePath(const gl::Path *path, GLint reference, GLuint mask); virtual void coverFillPath(const gl::Path *path, GLenum coverMode); virtual void coverStrokePath(const gl::Path *path, GLenum coverMode); virtual void stencilThenCoverFillPath(const gl::Path *path, GLenum fillMode, GLuint mask, GLenum coverMode); virtual void stencilThenCoverStrokePath(const gl::Path *path, GLint reference, GLuint mask, GLenum coverMode); virtual void coverFillPathInstanced(const std::vector &paths, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); virtual void coverStrokePathInstanced(const std::vector &paths, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); virtual void stencilFillPathInstanced(const std::vector &paths, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); virtual void stencilStrokePathInstanced(const std::vector &paths, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); virtual void stencilThenCoverFillPathInstanced(const std::vector &paths, GLenum coverMode, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); virtual void stencilThenCoverStrokePathInstanced(const std::vector &paths, GLenum coverMode, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); virtual gl::GraphicsResetStatus getResetStatus() = 0; virtual std::string getVendorString() const = 0; virtual std::string getRendererDescription() const = 0; virtual void insertEventMarker(GLsizei length, const char *marker) = 0; virtual void pushGroupMarker(GLsizei length, const char *marker) = 0; virtual void popGroupMarker() = 0; virtual void pushDebugGroup(GLenum source, GLuint id, const std::string &message) = 0; virtual void popDebugGroup() = 0; virtual void setMaxShaderCompilerThreads(GLuint count) {} virtual void invalidateTexture(gl::TextureType target); virtual angle::Result syncState(const gl::Context *context, const gl::State::DirtyBits &dirtyBits, const gl::State::DirtyBits &bitMask) = 0; virtual GLint getGPUDisjoint() = 0; virtual GLint64 getTimestamp() = 0; virtual angle::Result onMakeCurrent(const gl::Context *context) = 0; virtual angle::Result onUnMakeCurrent(const gl::Context *context); virtual gl::Caps getNativeCaps() const = 0; virtual const gl::TextureCapsMap &getNativeTextureCaps() const = 0; virtual const gl::Extensions &getNativeExtensions() const = 0; virtual const gl::Limitations &getNativeLimitations() const = 0; virtual angle::Result dispatchCompute(const gl::Context *context, GLuint numGroupsX, GLuint numGroupsY, GLuint numGroupsZ) = 0; virtual angle::Result dispatchComputeIndirect(const gl::Context *context, GLintptr indirect) = 0; virtual angle::Result memoryBarrier(const gl::Context *context, GLbitfield barriers) = 0; virtual angle::Result memoryBarrierByRegion(const gl::Context *context, GLbitfield barriers) = 0; const gl::State &getState() const { return mState; } int getClientMajorVersion() const { return mState.getClientMajorVersion(); } int getClientMinorVersion() const { return mState.getClientMinorVersion(); } const gl::Caps &getCaps() const { return mState.getCaps(); } const gl::TextureCapsMap &getTextureCaps() const { return mState.getTextureCaps(); } const gl::Extensions &getExtensions() const { return mState.getExtensions(); } const gl::Limitations &getLimitations() const { return mState.getLimitations(); } void setMemoryProgramCache(gl::MemoryProgramCache *memoryProgramCache); void handleError(GLenum errorCode, const char *message, const char *file, const char *function, unsigned int line); protected: const gl::State &mState; gl::MemoryProgramCache *mMemoryProgramCache; gl::ErrorSet *mErrors; }; } # 16 "../../third_party/angle/src/libANGLE/Context.inl.h" 2 namespace gl { constexpr angle::PackedEnumMap kMinimumPrimitiveCounts = {{ {PrimitiveMode::Points, 1}, {PrimitiveMode::Lines, 2}, {PrimitiveMode::LineLoop, 2}, {PrimitiveMode::LineStrip, 2}, {PrimitiveMode::Triangles, 3}, {PrimitiveMode::TriangleStrip, 3}, {PrimitiveMode::TriangleFan, 3}, {PrimitiveMode::LinesAdjacency, 2}, {PrimitiveMode::LineStripAdjacency, 2}, {PrimitiveMode::TrianglesAdjacency, 3}, {PrimitiveMode::TriangleStripAdjacency, 3}, }}; inline __attribute__((always_inline)) void MarkTransformFeedbackBufferUsage(const Context *context, GLsizei count, GLsizei instanceCount) { if (context->getStateCache().isTransformFeedbackActiveUnpaused()) { TransformFeedback *transformFeedback = context->getState().getCurrentTransformFeedback(); transformFeedback->onVerticesDrawn(context, count, instanceCount); } } inline __attribute__((always_inline)) void MarkShaderStorageBufferUsage(const Context *context) { for (size_t index : context->getStateCache().getActiveShaderStorageBufferIndices()) { gl::Buffer *buffer = context->getState().getIndexedShaderStorageBuffer(index).get(); if (buffer) { buffer->onDataChanged(); } } } inline __attribute__((always_inline)) bool Context::noopDraw(PrimitiveMode mode, GLsizei count) { return count < kMinimumPrimitiveCounts[mode]; } inline __attribute__((always_inline)) angle::Result Context::syncDirtyBits() { const State::DirtyBits &dirtyBits = mState.getDirtyBits(); do { auto ANGLE_LOCAL_VAR = mImplementation->syncState(this, dirtyBits, mAllDirtyBits); if (__builtin_expect(!!(IsError(ANGLE_LOCAL_VAR)), 0)) { return ANGLE_LOCAL_VAR;; } } while (0); mState.clearDirtyBits(); return angle::Result::Continue; } inline __attribute__((always_inline)) angle::Result Context::syncDirtyBits(const State::DirtyBits &bitMask) { const State::DirtyBits &dirtyBits = (mState.getDirtyBits() & bitMask); do { auto ANGLE_LOCAL_VAR = mImplementation->syncState(this, dirtyBits, bitMask); if (__builtin_expect(!!(IsError(ANGLE_LOCAL_VAR)), 0)) { return ANGLE_LOCAL_VAR;; } } while (0); mState.clearDirtyBits(dirtyBits); return angle::Result::Continue; } inline __attribute__((always_inline)) angle::Result Context::syncDirtyObjects(const State::DirtyObjects &objectMask) { return mState.syncDirtyObjects(this, objectMask); } inline __attribute__((always_inline)) angle::Result Context::prepareForDraw(PrimitiveMode mode) { if (mGLES1Renderer) { do { auto ANGLE_LOCAL_VAR = mGLES1Renderer->prepareForDraw(mode, this, &mState); if (__builtin_expect(!!(IsError(ANGLE_LOCAL_VAR)), 0)) { return ANGLE_LOCAL_VAR;; } } while (0); } do { auto ANGLE_LOCAL_VAR = syncDirtyObjects(mDrawDirtyObjects); if (__builtin_expect(!!(IsError(ANGLE_LOCAL_VAR)), 0)) { return ANGLE_LOCAL_VAR;; } } while (0); true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(!isRobustResourceInitEnabled() || !mState.getDrawFramebuffer()->hasResourceThatNeedsInit()) ; return syncDirtyBits(); } inline __attribute__((always_inline)) void Context::drawArrays(PrimitiveMode mode, GLint first, GLsizei count) { if (noopDraw(mode, count)) { return; } do { auto ANGLE_LOCAL_VAR = prepareForDraw(mode); if (__builtin_expect(!!(IsError(ANGLE_LOCAL_VAR)), 0)) { (void)(ANGLE_LOCAL_VAR); return;; } } while (0); do { auto ANGLE_LOCAL_VAR = mImplementation->drawArrays(this, mode, first, count); if (__builtin_expect(!!(IsError(ANGLE_LOCAL_VAR)), 0)) { (void)(ANGLE_LOCAL_VAR); return;; } } while (0); MarkTransformFeedbackBufferUsage(this, count, 1); } inline __attribute__((always_inline)) void Context::drawElements(PrimitiveMode mode, GLsizei count, DrawElementsType type, const void *indices) { if (noopDraw(mode, count)) { return; } do { auto ANGLE_LOCAL_VAR = prepareForDraw(mode); if (__builtin_expect(!!(IsError(ANGLE_LOCAL_VAR)), 0)) { (void)(ANGLE_LOCAL_VAR); return;; } } while (0); do { auto ANGLE_LOCAL_VAR = mImplementation->drawElements(this, mode, count, type, indices); if (__builtin_expect(!!(IsError(ANGLE_LOCAL_VAR)), 0)) { (void)(ANGLE_LOCAL_VAR); return;; } } while (0); } inline __attribute__((always_inline)) void StateCache::onBufferBindingChange(Context *context) { updateBasicDrawStatesError(); updateBasicDrawElementsError(); } inline __attribute__((always_inline)) void Context::bindBuffer(BufferBinding target, BufferID buffer) { Buffer *bufferObject = mState.mBufferManager->checkBufferAllocation(mImplementation.get(), buffer); mState.setBufferBinding(this, target, bufferObject); mStateCache.onBufferBindingChange(this); } } # 15 "../../third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp" 2 # 1 "../../third_party/angle/src/libANGLE/capture_gles_ext_autogen.h" 1 # 15 "../../third_party/angle/src/libANGLE/capture_gles_ext_autogen.h" # 1 "../../third_party/angle/src/libANGLE/FrameCapture.h" 1 # 16 "../../third_party/angle/src/libANGLE/FrameCapture.h" # 1 "../../third_party/angle/src/libANGLE/entry_points_utils.h" 1 # 17 "../../third_party/angle/src/libANGLE/entry_points_utils.h" # 1 "../../third_party/angle/src/libANGLE/Display.h" 1 # 18 "../../third_party/angle/src/libANGLE/Display.h" # 1 "../../third_party/angle/src/libANGLE/BlobCache.h" 1 # 14 "../../third_party/angle/src/libANGLE/BlobCache.h" # 1 "/usr/include/c++/10/cstring" 1 3 # 39 "/usr/include/c++/10/cstring" 3 # 40 "/usr/include/c++/10/cstring" 3 # 71 "/usr/include/c++/10/cstring" 3 # 71 "/usr/include/c++/10/cstring" 3 extern "C++" { namespace std __attribute__ ((__visibility__ ("default"))) { using ::memchr; using ::memcmp; using ::memcpy; using ::memmove; using ::memset; using ::strcat; using ::strcmp; using ::strcoll; using ::strcpy; using ::strcspn; using ::strerror; using ::strlen; using ::strncat; using ::strncmp; using ::strncpy; using ::strspn; using ::strtok; using ::strxfrm; using ::strchr; using ::strpbrk; using ::strrchr; using ::strstr; # 122 "/usr/include/c++/10/cstring" 3 } } # 15 "../../third_party/angle/src/libANGLE/BlobCache.h" 2 # 1 "../../third_party/angle/src/common/third_party/base/anglebase/sha1.h" 1 # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 9 "../../third_party/angle/src/common/third_party/base/anglebase/sha1.h" 2 # 1 "../../third_party/angle/src/common/third_party/base/anglebase/base_export.h" 1 # 13 "../../third_party/angle/src/common/third_party/base/anglebase/sha1.h" 2 # 14 "../../third_party/angle/src/common/third_party/base/anglebase/sha1.h" namespace angle { namespace base { static const size_t kSHA1Length = 20; std::string SHA1HashString(const std::string &str); void SHA1HashBytes(const unsigned char *data, size_t len, unsigned char *hash); } } # 17 "../../third_party/angle/src/libANGLE/BlobCache.h" 2 # 1 "../../third_party/angle/src/common/hash_utils.h" 1 # 12 "../../third_party/angle/src/common/hash_utils.h" # 1 "../../third_party/angle/src/common/third_party/xxhash/xxhash.h" 1 # 71 "../../third_party/angle/src/common/third_party/xxhash/xxhash.h" extern "C" { # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 78 "../../third_party/angle/src/common/third_party/xxhash/xxhash.h" 2 typedef enum { XXH_OK = 0, XXH_ERROR } XXH_errorcode; # 159 "../../third_party/angle/src/common/third_party/xxhash/xxhash.h" unsigned XXH_versionNumber(void); typedef unsigned int XXH32_hash_t; XXH32_hash_t XXH32(const void *input, size_t length, unsigned int seed); typedef struct XXH32_state_s XXH32_state_t; XXH32_state_t *XXH32_createState(void); XXH_errorcode XXH32_freeState(XXH32_state_t *statePtr); void XXH32_copyState(XXH32_state_t *dst_state, const XXH32_state_t *src_state); XXH_errorcode XXH32_reset(XXH32_state_t *statePtr, unsigned int seed); XXH_errorcode XXH32_update(XXH32_state_t *statePtr, const void *input, size_t length); XXH32_hash_t XXH32_digest(const XXH32_state_t *statePtr); # 209 "../../third_party/angle/src/common/third_party/xxhash/xxhash.h" typedef struct { unsigned char digest[4]; } XXH32_canonical_t; void XXH32_canonicalFromHash(XXH32_canonical_t *dst, XXH32_hash_t hash); XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canonical_t *src); # 227 "../../third_party/angle/src/common/third_party/xxhash/xxhash.h" typedef unsigned long long XXH64_hash_t; XXH64_hash_t XXH64(const void *input, size_t length, unsigned long long seed); typedef struct XXH64_state_s XXH64_state_t; XXH64_state_t *XXH64_createState(void); XXH_errorcode XXH64_freeState(XXH64_state_t *statePtr); void XXH64_copyState(XXH64_state_t *dst_state, const XXH64_state_t *src_state); XXH_errorcode XXH64_reset(XXH64_state_t *statePtr, unsigned long long seed); XXH_errorcode XXH64_update(XXH64_state_t *statePtr, const void *input, size_t length); XXH64_hash_t XXH64_digest(const XXH64_state_t *statePtr); typedef struct { unsigned char digest[8]; } XXH64_canonical_t; void XXH64_canonicalFromHash(XXH64_canonical_t *dst, XXH64_hash_t hash); XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canonical_t *src); # 338 "../../third_party/angle/src/common/third_party/xxhash/xxhash.h" } # 13 "../../third_party/angle/src/common/hash_utils.h" 2 namespace angle { inline std::size_t ComputeGenericHash(const void *key, size_t keySize) { static constexpr unsigned int kSeed = 0xABCDEF98; true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(keySize % 4 == 0); return XXH64(key, keySize, kSeed); } template std::size_t ComputeGenericHash(const T &key) { static_assert(sizeof(key) % 4 == 0, "ComputeGenericHash requires aligned types"); return ComputeGenericHash(&key, sizeof(key)); } } # 19 "../../third_party/angle/src/libANGLE/BlobCache.h" 2 # 1 "../../third_party/angle/src/libANGLE/SizedMRUCache.h" 1 # 11 "../../third_party/angle/src/libANGLE/SizedMRUCache.h" # 1 "../../third_party/angle/src/common/third_party/base/anglebase/containers/mru_cache.h" 1 # 19 "../../third_party/angle/src/common/third_party/base/anglebase/containers/mru_cache.h" # 1 "/usr/lib/gcc/x86_64-redhat-linux/10/include/stddef.h" 1 3 4 # 20 "../../third_party/angle/src/common/third_party/base/anglebase/containers/mru_cache.h" 2 # 1 "/usr/include/c++/10/functional" 1 3 # 46 "/usr/include/c++/10/functional" 3 # 47 "/usr/include/c++/10/functional" 3 # 59 "/usr/include/c++/10/functional" 3 # 1 "/usr/include/c++/10/bits/std_function.h" 1 3 # 33 "/usr/include/c++/10/bits/std_function.h" 3 # 34 "/usr/include/c++/10/bits/std_function.h" 3 # 47 "/usr/include/c++/10/bits/std_function.h" 3 # 47 "/usr/include/c++/10/bits/std_function.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { class bad_function_call : public std::exception { public: virtual ~bad_function_call() noexcept; const char* what() const noexcept; }; template struct __is_location_invariant : is_trivially_copyable<_Tp>::type { }; class _Undefined_class; union _Nocopy_types { void* _M_object; const void* _M_const_object; void (*_M_function_pointer)(); void (_Undefined_class::*_M_member_pointer)(); }; union [[gnu::may_alias]] _Any_data { void* _M_access() { return &_M_pod_data[0]; } const void* _M_access() const { return &_M_pod_data[0]; } template _Tp& _M_access() { return *static_cast<_Tp*>(_M_access()); } template const _Tp& _M_access() const { return *static_cast(_M_access()); } _Nocopy_types _M_unused; char _M_pod_data[sizeof(_Nocopy_types)]; }; enum _Manager_operation { __get_type_info, __get_functor_ptr, __clone_functor, __destroy_functor }; template class function; class _Function_base { public: static const size_t _M_max_size = sizeof(_Nocopy_types); static const size_t _M_max_align = __alignof__(_Nocopy_types); template class _Base_manager { protected: static const bool __stored_locally = (__is_location_invariant<_Functor>::value && sizeof(_Functor) <= _M_max_size && __alignof__(_Functor) <= _M_max_align && (_M_max_align % __alignof__(_Functor) == 0)); typedef integral_constant _Local_storage; static _Functor* _M_get_pointer(const _Any_data& __source) { if (__stored_locally) { const _Functor& __f = __source._M_access<_Functor>(); return const_cast<_Functor*>(std::__addressof(__f)); } else return __source._M_access<_Functor*>(); } static void _M_clone(_Any_data& __dest, const _Any_data& __source, true_type) { ::new (__dest._M_access()) _Functor(__source._M_access<_Functor>()); } static void _M_clone(_Any_data& __dest, const _Any_data& __source, false_type) { __dest._M_access<_Functor*>() = new _Functor(*__source._M_access()); } static void _M_destroy(_Any_data& __victim, true_type) { __victim._M_access<_Functor>().~_Functor(); } static void _M_destroy(_Any_data& __victim, false_type) { delete __victim._M_access<_Functor*>(); } public: static bool _M_manager(_Any_data& __dest, const _Any_data& __source, _Manager_operation __op) { switch (__op) { case __get_functor_ptr: __dest._M_access<_Functor*>() = _M_get_pointer(__source); break; case __clone_functor: _M_clone(__dest, __source, _Local_storage()); break; case __destroy_functor: _M_destroy(__dest, _Local_storage()); break; } return false; } static void _M_init_functor(_Any_data& __functor, _Functor&& __f) { _M_init_functor(__functor, std::move(__f), _Local_storage()); } template static bool _M_not_empty_function(const function<_Signature>& __f) { return static_cast(__f); } template static bool _M_not_empty_function(_Tp* __fp) { return __fp != nullptr; } template static bool _M_not_empty_function(_Tp _Class::* __mp) { return __mp != nullptr; } template static bool _M_not_empty_function(const _Tp&) { return true; } private: static void _M_init_functor(_Any_data& __functor, _Functor&& __f, true_type) { ::new (__functor._M_access()) _Functor(std::move(__f)); } static void _M_init_functor(_Any_data& __functor, _Functor&& __f, false_type) { __functor._M_access<_Functor*>() = new _Functor(std::move(__f)); } }; _Function_base() : _M_manager(nullptr) { } ~_Function_base() { if (_M_manager) _M_manager(_M_functor, _M_functor, __destroy_functor); } bool _M_empty() const { return !_M_manager; } typedef bool (*_Manager_type)(_Any_data&, const _Any_data&, _Manager_operation); _Any_data _M_functor; _Manager_type _M_manager; }; template class _Function_handler; template class _Function_handler<_Res(_ArgTypes...), _Functor> : public _Function_base::_Base_manager<_Functor> { typedef _Function_base::_Base_manager<_Functor> _Base; public: static bool _M_manager(_Any_data& __dest, const _Any_data& __source, _Manager_operation __op) { switch (__op) { case __get_functor_ptr: __dest._M_access<_Functor*>() = _Base::_M_get_pointer(__source); break; default: _Base::_M_manager(__dest, __source, __op); } return false; } static _Res _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) { return std::__invoke_r<_Res>(*_Base::_M_get_pointer(__functor), std::forward<_ArgTypes>(__args)...); } }; template class function<_Res(_ArgTypes...)> : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>, private _Function_base { template> struct _Callable : __is_invocable_impl<_Res2, _Res>::type { }; template struct _Callable : false_type { }; template using _Requires = typename enable_if<_Cond::value, _Tp>::type; public: typedef _Res result_type; function() noexcept : _Function_base() { } function(nullptr_t) noexcept : _Function_base() { } # 348 "/usr/include/c++/10/bits/std_function.h" 3 function(const function& __x); # 357 "/usr/include/c++/10/bits/std_function.h" 3 function(function&& __x) noexcept : _Function_base() { __x.swap(*this); } # 378 "/usr/include/c++/10/bits/std_function.h" 3 template>, void>, typename = _Requires<_Callable<_Functor>, void>> function(_Functor); # 395 "/usr/include/c++/10/bits/std_function.h" 3 function& operator=(const function& __x) { function(__x).swap(*this); return *this; } # 413 "/usr/include/c++/10/bits/std_function.h" 3 function& operator=(function&& __x) noexcept { function(std::move(__x)).swap(*this); return *this; } # 427 "/usr/include/c++/10/bits/std_function.h" 3 function& operator=(nullptr_t) noexcept { if (_M_manager) { _M_manager(_M_functor, _M_functor, __destroy_functor); _M_manager = nullptr; _M_invoker = nullptr; } return *this; } # 455 "/usr/include/c++/10/bits/std_function.h" 3 template _Requires<_Callable::type>, function&> operator=(_Functor&& __f) { function(std::forward<_Functor>(__f)).swap(*this); return *this; } template function& operator=(reference_wrapper<_Functor> __f) noexcept { function(__f).swap(*this); return *this; } # 481 "/usr/include/c++/10/bits/std_function.h" 3 void swap(function& __x) noexcept { std::swap(_M_functor, __x._M_functor); std::swap(_M_manager, __x._M_manager); std::swap(_M_invoker, __x._M_invoker); } # 498 "/usr/include/c++/10/bits/std_function.h" 3 explicit operator bool() const noexcept { return !_M_empty(); } # 511 "/usr/include/c++/10/bits/std_function.h" 3 _Res operator()(_ArgTypes... __args) const; # 543 "/usr/include/c++/10/bits/std_function.h" 3 private: using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...); _Invoker_type _M_invoker; }; # 586 "/usr/include/c++/10/bits/std_function.h" 3 template function<_Res(_ArgTypes...)>:: function(const function& __x) : _Function_base() { if (static_cast(__x)) { __x._M_manager(_M_functor, __x._M_functor, __clone_functor); _M_invoker = __x._M_invoker; _M_manager = __x._M_manager; } } template template function<_Res(_ArgTypes...)>:: function(_Functor __f) : _Function_base() { typedef _Function_handler<_Res(_ArgTypes...), _Functor> _My_handler; if (_My_handler::_M_not_empty_function(__f)) { _My_handler::_M_init_functor(_M_functor, std::move(__f)); _M_invoker = &_My_handler::_M_invoke; _M_manager = &_My_handler::_M_manager; } } template _Res function<_Res(_ArgTypes...)>:: operator()(_ArgTypes... __args) const { if (_M_empty()) __throw_bad_function_call(); return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...); } # 678 "/usr/include/c++/10/bits/std_function.h" 3 template inline bool operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept { return !static_cast(__f); } template inline bool operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept { return !static_cast(__f); } # 696 "/usr/include/c++/10/bits/std_function.h" 3 template inline bool operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept { return static_cast(__f); } template inline bool operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept { return static_cast(__f); } # 717 "/usr/include/c++/10/bits/std_function.h" 3 template inline void swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept { __x.swap(__y); } # 736 "/usr/include/c++/10/bits/std_function.h" 3 } # 60 "/usr/include/c++/10/functional" 2 3 # 72 "/usr/include/c++/10/functional" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 93 "/usr/include/c++/10/functional" 3 template::value> class _Mem_fn_base : public _Mem_fn_traits<_MemFunPtr>::__maybe_type { using _Traits = _Mem_fn_traits<_MemFunPtr>; using _Arity = typename _Traits::__arity; using _Varargs = typename _Traits::__vararg; template friend struct _Bind_check_arity; _MemFunPtr _M_pmf; public: using result_type = typename _Traits::__result_type; explicit constexpr _Mem_fn_base(_MemFunPtr __pmf) noexcept : _M_pmf(__pmf) { } template auto operator()(_Args&&... __args) const noexcept(noexcept( std::__invoke(_M_pmf, std::forward<_Args>(__args)...))) -> decltype(std::__invoke(_M_pmf, std::forward<_Args>(__args)...)) { return std::__invoke(_M_pmf, std::forward<_Args>(__args)...); } }; template class _Mem_fn_base<_MemObjPtr, false> { using _Arity = integral_constant; using _Varargs = false_type; template friend struct _Bind_check_arity; _MemObjPtr _M_pm; public: explicit constexpr _Mem_fn_base(_MemObjPtr __pm) noexcept : _M_pm(__pm) { } template auto operator()(_Tp&& __obj) const noexcept(noexcept(std::__invoke(_M_pm, std::forward<_Tp>(__obj)))) -> decltype(std::__invoke(_M_pm, std::forward<_Tp>(__obj))) { return std::__invoke(_M_pm, std::forward<_Tp>(__obj)); } }; template struct _Mem_fn; template struct _Mem_fn<_Res _Class::*> : _Mem_fn_base<_Res _Class::*> { using _Mem_fn_base<_Res _Class::*>::_Mem_fn_base; }; # 167 "/usr/include/c++/10/functional" 3 template inline _Mem_fn<_Tp _Class::*> mem_fn(_Tp _Class::* __pm) noexcept { return _Mem_fn<_Tp _Class::*>(__pm); } # 183 "/usr/include/c++/10/functional" 3 template struct is_bind_expression : public false_type { }; # 194 "/usr/include/c++/10/functional" 3 template struct is_placeholder : public integral_constant { }; # 209 "/usr/include/c++/10/functional" 3 template struct _Placeholder { }; namespace placeholders { extern const _Placeholder<1> _1; extern const _Placeholder<2> _2; extern const _Placeholder<3> _3; extern const _Placeholder<4> _4; extern const _Placeholder<5> _5; extern const _Placeholder<6> _6; extern const _Placeholder<7> _7; extern const _Placeholder<8> _8; extern const _Placeholder<9> _9; extern const _Placeholder<10> _10; extern const _Placeholder<11> _11; extern const _Placeholder<12> _12; extern const _Placeholder<13> _13; extern const _Placeholder<14> _14; extern const _Placeholder<15> _15; extern const _Placeholder<16> _16; extern const _Placeholder<17> _17; extern const _Placeholder<18> _18; extern const _Placeholder<19> _19; extern const _Placeholder<20> _20; extern const _Placeholder<21> _21; extern const _Placeholder<22> _22; extern const _Placeholder<23> _23; extern const _Placeholder<24> _24; extern const _Placeholder<25> _25; extern const _Placeholder<26> _26; extern const _Placeholder<27> _27; extern const _Placeholder<28> _28; extern const _Placeholder<29> _29; } template struct is_placeholder<_Placeholder<_Num> > : public integral_constant { }; template struct is_placeholder > : public integral_constant { }; template using _Safe_tuple_element_t = typename enable_if<(__i < tuple_size<_Tuple>::value), tuple_element<__i, _Tuple>>::type::type; # 285 "/usr/include/c++/10/functional" 3 template::value, bool _IsPlaceholder = (is_placeholder<_Arg>::value > 0)> class _Mu; template class _Mu, false, false> { public: template _Tp& operator()(_CVRef& __arg, _Tuple&) const volatile { return __arg.get(); } }; template class _Mu<_Arg, true, false> { public: template auto operator()(_CVArg& __arg, tuple<_Args...>& __tuple) const volatile -> decltype(__arg(declval<_Args>()...)) { typedef typename _Build_index_tuple::__type _Indexes; return this->__call(__arg, __tuple, _Indexes()); } private: template auto __call(_CVArg& __arg, tuple<_Args...>& __tuple, const _Index_tuple<_Indexes...>&) const volatile -> decltype(__arg(declval<_Args>()...)) { return __arg(std::get<_Indexes>(std::move(__tuple))...); } }; template class _Mu<_Arg, false, true> { public: template _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&& operator()(const volatile _Arg&, _Tuple& __tuple) const volatile { return ::std::get<(is_placeholder<_Arg>::value - 1)>(std::move(__tuple)); } }; template class _Mu<_Arg, false, false> { public: template _CVArg&& operator()(_CVArg&& __arg, _Tuple&) const volatile { return std::forward<_CVArg>(__arg); } }; template inline auto __volget(volatile tuple<_Tp...>& __tuple) -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile& { return std::get<_Ind>(const_cast&>(__tuple)); } template inline auto __volget(const volatile tuple<_Tp...>& __tuple) -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile& { return std::get<_Ind>(const_cast&>(__tuple)); } template struct _Bind; template class _Bind<_Functor(_Bound_args...)> : public _Weak_result_type<_Functor> { typedef typename _Build_index_tuple::__type _Bound_indexes; _Functor _M_f; tuple<_Bound_args...> _M_bound_args; template _Result __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) { return std::__invoke(_M_f, _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)... ); } template _Result __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const { return std::__invoke(_M_f, _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)... ); } template _Result __call_v(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile { return std::__invoke(_M_f, _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)... ); } template _Result __call_c_v(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const volatile { return std::__invoke(_M_f, _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)... ); } template using _Mu_type = decltype( _Mu::type>()( std::declval<_BoundArg&>(), std::declval<_CallArgs&>()) ); template using _Res_type_impl = typename result_of< _Fn&(_Mu_type<_BArgs, _CallArgs>&&...) >::type; template using _Res_type = _Res_type_impl<_Functor, _CallArgs, _Bound_args...>; template using __dependent = typename enable_if::value+1), _Functor>::type; template class __cv_quals> using _Res_type_cv = _Res_type_impl< typename __cv_quals<__dependent<_CallArgs>>::type, _CallArgs, typename __cv_quals<_Bound_args>::type...>; public: template explicit _Bind(const _Functor& __f, _Args&&... __args) : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...) { } template explicit _Bind(_Functor&& __f, _Args&&... __args) : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...) { } _Bind(const _Bind&) = default; _Bind(_Bind&&) = default; template>> _Result operator()(_Args&&... __args) { return this->__call<_Result>( std::forward_as_tuple(std::forward<_Args>(__args)...), _Bound_indexes()); } template, add_const>> _Result operator()(_Args&&... __args) const { return this->__call_c<_Result>( std::forward_as_tuple(std::forward<_Args>(__args)...), _Bound_indexes()); } # 523 "/usr/include/c++/10/functional" 3 template, add_volatile>> _Result operator()(_Args&&... __args) volatile { return this->__call_v<_Result>( std::forward_as_tuple(std::forward<_Args>(__args)...), _Bound_indexes()); } template, add_cv>> _Result operator()(_Args&&... __args) const volatile { return this->__call_c_v<_Result>( std::forward_as_tuple(std::forward<_Args>(__args)...), _Bound_indexes()); } }; template struct _Bind_result; template class _Bind_result<_Result, _Functor(_Bound_args...)> { typedef typename _Build_index_tuple::__type _Bound_indexes; _Functor _M_f; tuple<_Bound_args...> _M_bound_args; template _Res __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) { return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>() (std::get<_Indexes>(_M_bound_args), __args)...); } template _Res __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const { return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>() (std::get<_Indexes>(_M_bound_args), __args)...); } template _Res __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile { return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>() (__volget<_Indexes>(_M_bound_args), __args)...); } template _Res __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const volatile { return std::__invoke_r<_Res>(_M_f, _Mu<_Bound_args>() (__volget<_Indexes>(_M_bound_args), __args)...); } public: typedef _Result result_type; template explicit _Bind_result(const _Functor& __f, _Args&&... __args) : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...) { } template explicit _Bind_result(_Functor&& __f, _Args&&... __args) : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...) { } _Bind_result(const _Bind_result&) = default; _Bind_result(_Bind_result&&) = default; template result_type operator()(_Args&&... __args) { return this->__call<_Result>( std::forward_as_tuple(std::forward<_Args>(__args)...), _Bound_indexes()); } template result_type operator()(_Args&&... __args) const { return this->__call<_Result>( std::forward_as_tuple(std::forward<_Args>(__args)...), _Bound_indexes()); } template result_type operator()(_Args&&... __args) volatile { return this->__call<_Result>( std::forward_as_tuple(std::forward<_Args>(__args)...), _Bound_indexes()); } template result_type operator()(_Args&&... __args) const volatile { return this->__call<_Result>( std::forward_as_tuple(std::forward<_Args>(__args)...), _Bound_indexes()); } }; template struct is_bind_expression<_Bind<_Signature> > : public true_type { }; template struct is_bind_expression > : public true_type { }; template struct is_bind_expression > : public true_type { }; template struct is_bind_expression> : public true_type { }; template struct is_bind_expression<_Bind_result<_Result, _Signature>> : public true_type { }; template struct is_bind_expression> : public true_type { }; template struct is_bind_expression> : public true_type { }; template struct is_bind_expression> : public true_type { }; template struct _Bind_check_arity { }; template struct _Bind_check_arity<_Ret (*)(_Args...), _BoundArgs...> { static_assert(sizeof...(_BoundArgs) == sizeof...(_Args), "Wrong number of arguments for function"); }; template struct _Bind_check_arity<_Ret (*)(_Args......), _BoundArgs...> { static_assert(sizeof...(_BoundArgs) >= sizeof...(_Args), "Wrong number of arguments for function"); }; template struct _Bind_check_arity<_Tp _Class::*, _BoundArgs...> { using _Arity = typename _Mem_fn<_Tp _Class::*>::_Arity; using _Varargs = typename _Mem_fn<_Tp _Class::*>::_Varargs; static_assert(_Varargs::value ? sizeof...(_BoundArgs) >= _Arity::value + 1 : sizeof...(_BoundArgs) == _Arity::value + 1, "Wrong number of arguments for pointer-to-member"); }; template::type> using __is_socketlike = __or_, is_enum<_Tp2>>; template struct _Bind_helper : _Bind_check_arity::type, _BoundArgs...> { typedef typename decay<_Func>::type __func_type; typedef _Bind<__func_type(typename decay<_BoundArgs>::type...)> type; }; template struct _Bind_helper { }; template inline typename _Bind_helper<__is_socketlike<_Func>::value, _Func, _BoundArgs...>::type bind(_Func&& __f, _BoundArgs&&... __args) { typedef _Bind_helper __helper_type; return typename __helper_type::type(std::forward<_Func>(__f), std::forward<_BoundArgs>(__args)...); } template struct _Bindres_helper : _Bind_check_arity::type, _BoundArgs...> { typedef typename decay<_Func>::type __functor_type; typedef _Bind_result<_Result, __functor_type(typename decay<_BoundArgs>::type...)> type; }; template inline typename _Bindres_helper<_Result, _Func, _BoundArgs...>::type bind(_Func&& __f, _BoundArgs&&... __args) { typedef _Bindres_helper<_Result, _Func, _BoundArgs...> __helper_type; return typename __helper_type::type(std::forward<_Func>(__f), std::forward<_BoundArgs>(__args)...); } # 918 "/usr/include/c++/10/functional" 3 template class _Not_fn { template using __inv_res_t = typename __invoke_result<_Fn2, _Args...>::type; template static decltype(!std::declval<_Tp>()) _S_not() noexcept(noexcept(!std::declval<_Tp>())); public: template constexpr _Not_fn(_Fn2&& __fn, int) : _M_fn(std::forward<_Fn2>(__fn)) { } _Not_fn(const _Not_fn& __fn) = default; _Not_fn(_Not_fn&& __fn) = default; ~_Not_fn() = default; # 952 "/usr/include/c++/10/functional" 3 template decltype(_S_not<__inv_res_t<_Fn &, _Args...>>()) operator()(_Args&&... __args) & noexcept(__is_nothrow_invocable<_Fn &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &, _Args...>>())) { return !std::__invoke(std::forward< _Fn & >(_M_fn), std::forward<_Args>(__args)...); } template decltype(_S_not<__inv_res_t<_Fn const &, _Args...>>()) operator()(_Args&&... __args) const & noexcept(__is_nothrow_invocable<_Fn const &, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &, _Args...>>())) { return !std::__invoke(std::forward< _Fn const & >(_M_fn), std::forward<_Args>(__args)...); } template decltype(_S_not<__inv_res_t<_Fn &&, _Args...>>()) operator()(_Args&&... __args) && noexcept(__is_nothrow_invocable<_Fn &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn && >(_M_fn), std::forward<_Args>(__args)...); } template decltype(_S_not<__inv_res_t<_Fn const &&, _Args...>>()) operator()(_Args&&... __args) const && noexcept(__is_nothrow_invocable<_Fn const &&, _Args...>::value && noexcept(_S_not<__inv_res_t<_Fn const &&, _Args...>>())) { return !std::__invoke(std::forward< _Fn const && >(_M_fn), std::forward<_Args>(__args)...); } private: _Fn _M_fn; }; template struct __is_byte_like : false_type { }; template struct __is_byte_like<_Tp, equal_to<_Tp>> : __bool_constant::value> { }; template struct __is_byte_like<_Tp, equal_to> : __bool_constant::value> { }; # 1275 "/usr/include/c++/10/functional" 3 } # 23 "../../third_party/angle/src/common/third_party/base/anglebase/containers/mru_cache.h" 2 # 1 "../../third_party/angle/src/common/third_party/base/anglebase/macros.h" 1 # 30 "../../third_party/angle/src/common/third_party/base/anglebase/containers/mru_cache.h" 2 # 31 "../../third_party/angle/src/common/third_party/base/anglebase/containers/mru_cache.h" namespace angle { namespace base { template struct MRUCacheStandardMap { typedef std::map Type; }; template class MapType = MRUCacheStandardMap> class MRUCacheBase { public: typedef std::pair value_type; private: typedef std::list PayloadList; typedef typename MapType::Type KeyIndex; public: typedef typename PayloadList::size_type size_type; typedef typename PayloadList::iterator iterator; typedef typename PayloadList::const_iterator const_iterator; typedef typename PayloadList::reverse_iterator reverse_iterator; typedef typename PayloadList::const_reverse_iterator const_reverse_iterator; enum { NO_AUTO_EVICT = 0 }; explicit MRUCacheBase(size_type max_size) : max_size_(max_size) {} virtual ~MRUCacheBase() {} size_type max_size() const { return max_size_; } template iterator Put(const KeyType &key, Payload &&payload) { typename KeyIndex::iterator index_iter = index_.find(key); if (index_iter != index_.end()) { Erase(index_iter->second); } else if (max_size_ != NO_AUTO_EVICT) { ShrinkToSize(max_size_ - 1); } ordering_.emplace_front(key, std::forward(payload)); index_.emplace(key, ordering_.begin()); return ordering_.begin(); } iterator Get(const KeyType &key) { typename KeyIndex::iterator index_iter = index_.find(key); if (index_iter == index_.end()) return end(); typename PayloadList::iterator iter = index_iter->second; ordering_.splice(ordering_.begin(), ordering_, iter); return ordering_.begin(); } iterator Peek(const KeyType &key) { typename KeyIndex::const_iterator index_iter = index_.find(key); if (index_iter == index_.end()) return end(); return index_iter->second; } const_iterator Peek(const KeyType &key) const { typename KeyIndex::const_iterator index_iter = index_.find(key); if (index_iter == index_.end()) return end(); return index_iter->second; } void Swap(MRUCacheBase &other) { ordering_.swap(other.ordering_); index_.swap(other.index_); std::swap(max_size_, other.max_size_); } iterator Erase(iterator pos) { index_.erase(pos->first); return ordering_.erase(pos); } reverse_iterator Erase(reverse_iterator pos) { return reverse_iterator(Erase((++pos).base())); } void ShrinkToSize(size_type new_size) { for (size_type i = size(); i > new_size; i--) Erase(rbegin()); } void Clear() { index_.clear(); ordering_.clear(); } size_type size() const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(index_.size() == ordering_.size()); return index_.size(); } iterator begin() { return ordering_.begin(); } const_iterator begin() const { return ordering_.begin(); } iterator end() { return ordering_.end(); } const_iterator end() const { return ordering_.end(); } reverse_iterator rbegin() { return ordering_.rbegin(); } const_reverse_iterator rbegin() const { return ordering_.rbegin(); } reverse_iterator rend() { return ordering_.rend(); } const_reverse_iterator rend() const { return ordering_.rend(); } bool empty() const { return ordering_.empty(); } private: PayloadList ordering_; KeyIndex index_; size_type max_size_; MRUCacheBase(const MRUCacheBase &) = delete; void operator=(const MRUCacheBase &) = delete; }; template > class MRUCache : public MRUCacheBase { private: using ParentType = MRUCacheBase; public: explicit MRUCache(typename ParentType::size_type max_size) : ParentType(max_size) {} virtual ~MRUCache() {} private: MRUCache(const MRUCache &) = delete; void operator=(const MRUCache &) = delete; }; template struct MRUCacheHashMap { typedef std::unordered_map Type; }; template > class HashingMRUCache : public MRUCacheBase { private: using ParentType = MRUCacheBase; public: explicit HashingMRUCache(typename ParentType::size_type max_size) : ParentType(max_size) {} virtual ~HashingMRUCache() {} private: HashingMRUCache(const HashingMRUCache &) = delete; void operator=(const HashingMRUCache &) = delete; }; } } # 12 "../../third_party/angle/src/libANGLE/SizedMRUCache.h" 2 namespace angle { template class SizedMRUCache final : angle::NonCopyable { public: SizedMRUCache(size_t maximumTotalSize) : mMaximumTotalSize(maximumTotalSize), mCurrentSize(0), mStore(SizedMRUCacheStore::NO_AUTO_EVICT) {} const Value *put(const Key &key, Value &&value, size_t size) { if (size > mMaximumTotalSize) { return nullptr; } eraseByKey(key); auto retVal = mStore.Put(key, ValueAndSize(std::move(value), size)); mCurrentSize += size; shrinkToSize(mMaximumTotalSize); return &retVal->second.value; } bool get(const Key &key, const Value **valueOut) { const auto &iter = mStore.Get(key); if (iter == mStore.end()) { return false; } *valueOut = &iter->second.value; return true; } bool getAt(size_t index, const Key **keyOut, const Value **valueOut) { if (index < mStore.size()) { auto it = mStore.begin(); std::advance(it, index); *keyOut = &it->first; *valueOut = &it->second.value; return true; } *valueOut = nullptr; return false; } bool empty() const { return mStore.empty(); } void clear() { mStore.Clear(); mCurrentSize = 0; } bool eraseByKey(const Key &key) { auto existing = mStore.Peek(key); if (existing != mStore.end()) { mCurrentSize -= existing->second.size; mStore.Erase(existing); return true; } return false; } size_t entryCount() const { return mStore.size(); } size_t size() const { return mCurrentSize; } void resize(size_t maximumTotalSize) { clear(); mMaximumTotalSize = maximumTotalSize; } size_t shrinkToSize(size_t limit) { size_t initialSize = mCurrentSize; while (mCurrentSize > limit) { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(!mStore.empty()); auto iter = mStore.rbegin(); mCurrentSize -= iter->second.size; mStore.Erase(iter); } return (initialSize - mCurrentSize); } size_t maxSize() const { return mMaximumTotalSize; } private: struct ValueAndSize { ValueAndSize() : value(), size(0) {} ValueAndSize(Value &&value, size_t size) : value(std::move(value)), size(size) {} ValueAndSize(ValueAndSize &&other) : ValueAndSize() { *this = std::move(other); } ValueAndSize &operator=(ValueAndSize &&other) { std::swap(value, other.value); std::swap(size, other.size); return *this; } Value value; size_t size; }; using SizedMRUCacheStore = base::HashingMRUCache; size_t mMaximumTotalSize; size_t mCurrentSize; SizedMRUCacheStore mStore; }; template void TrimCache(size_t maxStates, size_t gcLimit, const char *name, T *cache) { const size_t kGarbageCollectionLimit = maxStates / 2 + gcLimit; if (cache->size() >= kGarbageCollectionLimit) { !((::gl::priv::ShouldCreatePlatformLogMessage(::gl::LOG_WARN))) ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (::gl::LogMessage(__FUNCTION__, 153, ::gl::LOG_WARN).stream()) << "Overflowed the " << name << " cache limit of " << (maxStates / 2) << " elements, removing the least recently used to make room."; cache->ShrinkToSize(maxStates / 2); } } } # 21 "../../third_party/angle/src/libANGLE/BlobCache.h" 2 namespace gl { class Context; } namespace egl { static constexpr size_t kBlobCacheKeyLength = angle::base::kSHA1Length; using BlobCacheKey = std::array; } namespace std { template <> struct hash { size_t operator()(const egl::BlobCacheKey &key) const { return angle::ComputeGenericHash(key.data(), key.size()); } }; } namespace egl { class BlobCache final : angle::NonCopyable { public: static constexpr size_t kKeyLength = kBlobCacheKeyLength; using Key = BlobCacheKey; class Value { public: Value() : mPtr(nullptr), mSize(0) {} Value(const uint8_t *ptr, size_t sz) : mPtr(ptr), mSize(sz) {} const uint8_t *data() { return mPtr; } size_t size() { return mSize; } const uint8_t &operator[](size_t pos) const { true ? static_cast(0) : ::gl::priv::LogMessageVoidify() & (*::gl::priv::gSwallowStream) << !(pos < mSize); return mPtr[pos]; } private: const uint8_t *mPtr; size_t mSize; }; enum class CacheSource { Memory, Disk, }; explicit BlobCache(size_t maxCacheSizeBytes); ~BlobCache(); void put(const BlobCache::Key &key, angle::MemoryBuffer &&value); void putApplication(const BlobCache::Key &key, const angle::MemoryBuffer &value); void populate(const BlobCache::Key &key, angle::MemoryBuffer &&value, CacheSource source = CacheSource::Disk); [[nodiscard]] bool get(angle::ScratchBuffer *scratchBuffer, const BlobCache::Key &key, BlobCache::Value *valueOut); [[nodiscard]] bool getAt(size_t index, const BlobCache::Key **keyOut, BlobCache::Value *valueOut); void remove(cons