# 0 "example.cc" # 1 "/home/chenglulu/work/benchmark/cpu2006-v1.1/benchspec/CPU2006/450.soplex/build/build_base_O2.0001//" # 0 "" #define __STDC__ 1 # 0 "" #define __cplusplus 199711L # 0 "" #define __STDC_HOSTED__ 1 # 0 "" #define __GNUC__ 14 # 0 "" #define __GNUC_MINOR__ 0 # 0 "" #define __GNUC_PATCHLEVEL__ 0 # 0 "" #define __VERSION__ "14.0.0 20240103 (experimental)" # 0 "" #define __ATOMIC_RELAXED 0 # 0 "" #define __ATOMIC_SEQ_CST 5 # 0 "" #define __ATOMIC_ACQUIRE 2 # 0 "" #define __ATOMIC_RELEASE 3 # 0 "" #define __ATOMIC_ACQ_REL 4 # 0 "" #define __ATOMIC_CONSUME 1 # 0 "" #define __OPTIMIZE__ 1 # 0 "" #define __FINITE_MATH_ONLY__ 0 # 0 "" #define _LP64 1 # 0 "" #define __LP64__ 1 # 0 "" #define __SIZEOF_INT__ 4 # 0 "" #define __SIZEOF_LONG__ 8 # 0 "" #define __SIZEOF_LONG_LONG__ 8 # 0 "" #define __SIZEOF_SHORT__ 2 # 0 "" #define __SIZEOF_FLOAT__ 4 # 0 "" #define __SIZEOF_DOUBLE__ 8 # 0 "" #define __SIZEOF_LONG_DOUBLE__ 16 # 0 "" #define __SIZEOF_SIZE_T__ 8 # 0 "" #define __CHAR_BIT__ 8 # 0 "" #define __BIGGEST_ALIGNMENT__ 32 # 0 "" #define __ORDER_LITTLE_ENDIAN__ 1234 # 0 "" #define __ORDER_BIG_ENDIAN__ 4321 # 0 "" #define __ORDER_PDP_ENDIAN__ 3412 # 0 "" #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ # 0 "" #define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ # 0 "" #define __SIZEOF_POINTER__ 8 # 0 "" #define __GNUC_EXECUTION_CHARSET_NAME "UTF-8" # 0 "" #define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-32LE" # 0 "" #define __GNUG__ 14 # 0 "" #define __SIZE_TYPE__ long unsigned int # 0 "" #define __PTRDIFF_TYPE__ long int # 0 "" #define __WCHAR_TYPE__ int # 0 "" #define __WINT_TYPE__ unsigned int # 0 "" #define __INTMAX_TYPE__ long int # 0 "" #define __UINTMAX_TYPE__ long unsigned int # 0 "" #define __CHAR16_TYPE__ short unsigned int # 0 "" #define __CHAR32_TYPE__ unsigned int # 0 "" #define __SIG_ATOMIC_TYPE__ int # 0 "" #define __INT8_TYPE__ signed char # 0 "" #define __INT16_TYPE__ short int # 0 "" #define __INT32_TYPE__ int # 0 "" #define __INT64_TYPE__ long int # 0 "" #define __UINT8_TYPE__ unsigned char # 0 "" #define __UINT16_TYPE__ short unsigned int # 0 "" #define __UINT32_TYPE__ unsigned int # 0 "" #define __UINT64_TYPE__ long unsigned int # 0 "" #define __INT_LEAST8_TYPE__ signed char # 0 "" #define __INT_LEAST16_TYPE__ short int # 0 "" #define __INT_LEAST32_TYPE__ int # 0 "" #define __INT_LEAST64_TYPE__ long int # 0 "" #define __UINT_LEAST8_TYPE__ unsigned char # 0 "" #define __UINT_LEAST16_TYPE__ short unsigned int # 0 "" #define __UINT_LEAST32_TYPE__ unsigned int # 0 "" #define __UINT_LEAST64_TYPE__ long unsigned int # 0 "" #define __INT_FAST8_TYPE__ signed char # 0 "" #define __INT_FAST16_TYPE__ long int # 0 "" #define __INT_FAST32_TYPE__ long int # 0 "" #define __INT_FAST64_TYPE__ long int # 0 "" #define __UINT_FAST8_TYPE__ unsigned char # 0 "" #define __UINT_FAST16_TYPE__ long unsigned int # 0 "" #define __UINT_FAST32_TYPE__ long unsigned int # 0 "" #define __UINT_FAST64_TYPE__ long unsigned int # 0 "" #define __INTPTR_TYPE__ long int # 0 "" #define __UINTPTR_TYPE__ long unsigned int # 0 "" #define __GXX_WEAK__ 1 # 0 "" #define __DEPRECATED 1 # 0 "" #define __GXX_RTTI 1 # 0 "" #define __cpp_rtti 199711L # 0 "" #define __cpp_binary_literals 201304L # 0 "" #define __cpp_hex_float 201603L # 0 "" #define __cpp_runtime_arrays 198712L # 0 "" #define __cpp_threadsafe_static_init 200806L # 0 "" #define __EXCEPTIONS 1 # 0 "" #define __cpp_exceptions 199711L # 0 "" #define __GXX_ABI_VERSION 1019 # 0 "" #define __SCHAR_MAX__ 0x7f # 0 "" #define __SHRT_MAX__ 0x7fff # 0 "" #define __INT_MAX__ 0x7fffffff # 0 "" #define __LONG_MAX__ 0x7fffffffffffffffL # 0 "" #define __LONG_LONG_MAX__ 0x7fffffffffffffffLL # 0 "" #define __WCHAR_MAX__ 0x7fffffff # 0 "" #define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) # 0 "" #define __WINT_MAX__ 0xffffffffU # 0 "" #define __WINT_MIN__ 0U # 0 "" #define __PTRDIFF_MAX__ 0x7fffffffffffffffL # 0 "" #define __SIZE_MAX__ 0xffffffffffffffffUL # 0 "" #define __SCHAR_WIDTH__ 8 # 0 "" #define __SHRT_WIDTH__ 16 # 0 "" #define __INT_WIDTH__ 32 # 0 "" #define __LONG_WIDTH__ 64 # 0 "" #define __LONG_LONG_WIDTH__ 64 # 0 "" #define __WCHAR_WIDTH__ 32 # 0 "" #define __WINT_WIDTH__ 32 # 0 "" #define __PTRDIFF_WIDTH__ 64 # 0 "" #define __SIZE_WIDTH__ 64 # 0 "" #define __INTMAX_MAX__ 0x7fffffffffffffffL # 0 "" #define __INTMAX_C(c) c ## L # 0 "" #define __UINTMAX_MAX__ 0xffffffffffffffffUL # 0 "" #define __UINTMAX_C(c) c ## UL # 0 "" #define __INTMAX_WIDTH__ 64 # 0 "" #define __SIG_ATOMIC_MAX__ 0x7fffffff # 0 "" #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) # 0 "" #define __SIG_ATOMIC_WIDTH__ 32 # 0 "" #define __INT8_MAX__ 0x7f # 0 "" #define __INT16_MAX__ 0x7fff # 0 "" #define __INT32_MAX__ 0x7fffffff # 0 "" #define __INT64_MAX__ 0x7fffffffffffffffL # 0 "" #define __UINT8_MAX__ 0xff # 0 "" #define __UINT16_MAX__ 0xffff # 0 "" #define __UINT32_MAX__ 0xffffffffU # 0 "" #define __UINT64_MAX__ 0xffffffffffffffffUL # 0 "" #define __INT_LEAST8_MAX__ 0x7f # 0 "" #define __INT8_C(c) c # 0 "" #define __INT_LEAST8_WIDTH__ 8 # 0 "" #define __INT_LEAST16_MAX__ 0x7fff # 0 "" #define __INT16_C(c) c # 0 "" #define __INT_LEAST16_WIDTH__ 16 # 0 "" #define __INT_LEAST32_MAX__ 0x7fffffff # 0 "" #define __INT32_C(c) c # 0 "" #define __INT_LEAST32_WIDTH__ 32 # 0 "" #define __INT_LEAST64_MAX__ 0x7fffffffffffffffL # 0 "" #define __INT64_C(c) c ## L # 0 "" #define __INT_LEAST64_WIDTH__ 64 # 0 "" #define __UINT_LEAST8_MAX__ 0xff # 0 "" #define __UINT8_C(c) c # 0 "" #define __UINT_LEAST16_MAX__ 0xffff # 0 "" #define __UINT16_C(c) c # 0 "" #define __UINT_LEAST32_MAX__ 0xffffffffU # 0 "" #define __UINT32_C(c) c ## U # 0 "" #define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL # 0 "" #define __UINT64_C(c) c ## UL # 0 "" #define __INT_FAST8_MAX__ 0x7f # 0 "" #define __INT_FAST8_WIDTH__ 8 # 0 "" #define __INT_FAST16_MAX__ 0x7fffffffffffffffL # 0 "" #define __INT_FAST16_WIDTH__ 64 # 0 "" #define __INT_FAST32_MAX__ 0x7fffffffffffffffL # 0 "" #define __INT_FAST32_WIDTH__ 64 # 0 "" #define __INT_FAST64_MAX__ 0x7fffffffffffffffL # 0 "" #define __INT_FAST64_WIDTH__ 64 # 0 "" #define __UINT_FAST8_MAX__ 0xff # 0 "" #define __UINT_FAST16_MAX__ 0xffffffffffffffffUL # 0 "" #define __UINT_FAST32_MAX__ 0xffffffffffffffffUL # 0 "" #define __UINT_FAST64_MAX__ 0xffffffffffffffffUL # 0 "" #define __INTPTR_MAX__ 0x7fffffffffffffffL # 0 "" #define __INTPTR_WIDTH__ 64 # 0 "" #define __UINTPTR_MAX__ 0xffffffffffffffffUL # 0 "" #define __GCC_IEC_559 2 # 0 "" #define __GCC_IEC_559_COMPLEX 2 # 0 "" #define __FLT_EVAL_METHOD__ 0 # 0 "" #define __FLT_EVAL_METHOD_TS_18661_3__ 0 # 0 "" #define __DEC_EVAL_METHOD__ 2 # 0 "" #define __FLT_RADIX__ 2 # 0 "" #define __FLT_MANT_DIG__ 24 # 0 "" #define __FLT_DIG__ 6 # 0 "" #define __FLT_MIN_EXP__ (-125) # 0 "" #define __FLT_MIN_10_EXP__ (-37) # 0 "" #define __FLT_MAX_EXP__ 128 # 0 "" #define __FLT_MAX_10_EXP__ 38 # 0 "" #define __FLT_DECIMAL_DIG__ 9 # 0 "" #define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F # 0 "" #define __FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F # 0 "" #define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F # 0 "" #define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F # 0 "" #define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F # 0 "" #define __FLT_HAS_DENORM__ 1 # 0 "" #define __FLT_HAS_INFINITY__ 1 # 0 "" #define __FLT_HAS_QUIET_NAN__ 1 # 0 "" #define __FP_FAST_FMAF 1 # 0 "" #define __FLT_IS_IEC_60559__ 1 # 0 "" #define __DBL_MANT_DIG__ 53 # 0 "" #define __DBL_DIG__ 15 # 0 "" #define __DBL_MIN_EXP__ (-1021) # 0 "" #define __DBL_MIN_10_EXP__ (-307) # 0 "" #define __DBL_MAX_EXP__ 1024 # 0 "" #define __DBL_MAX_10_EXP__ 308 # 0 "" #define __DBL_DECIMAL_DIG__ 17 # 0 "" #define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L) # 0 "" #define __DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L) # 0 "" #define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L) # 0 "" #define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L) # 0 "" #define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L) # 0 "" #define __DBL_HAS_DENORM__ 1 # 0 "" #define __DBL_HAS_INFINITY__ 1 # 0 "" #define __DBL_HAS_QUIET_NAN__ 1 # 0 "" #define __FP_FAST_FMA 1 # 0 "" #define __DBL_IS_IEC_60559__ 1 # 0 "" #define __LDBL_MANT_DIG__ 113 # 0 "" #define __LDBL_DIG__ 33 # 0 "" #define __LDBL_MIN_EXP__ (-16381) # 0 "" #define __LDBL_MIN_10_EXP__ (-4931) # 0 "" #define __LDBL_MAX_EXP__ 16384 # 0 "" #define __LDBL_MAX_10_EXP__ 4932 # 0 "" #define __DECIMAL_DIG__ 36 # 0 "" #define __LDBL_DECIMAL_DIG__ 36 # 0 "" #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L # 0 "" #define __LDBL_NORM_MAX__ 1.18973149535723176508575932662800702e+4932L # 0 "" #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L # 0 "" #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L # 0 "" #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L # 0 "" #define __LDBL_HAS_DENORM__ 1 # 0 "" #define __LDBL_HAS_INFINITY__ 1 # 0 "" #define __LDBL_HAS_QUIET_NAN__ 1 # 0 "" #define __LDBL_IS_IEC_60559__ 1 # 0 "" #define __FLT32_MANT_DIG__ 24 # 0 "" #define __FLT32_DIG__ 6 # 0 "" #define __FLT32_MIN_EXP__ (-125) # 0 "" #define __FLT32_MIN_10_EXP__ (-37) # 0 "" #define __FLT32_MAX_EXP__ 128 # 0 "" #define __FLT32_MAX_10_EXP__ 38 # 0 "" #define __FLT32_DECIMAL_DIG__ 9 # 0 "" #define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32 # 0 "" #define __FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32 # 0 "" #define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32 # 0 "" #define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32 # 0 "" #define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32 # 0 "" #define __FLT32_HAS_DENORM__ 1 # 0 "" #define __FLT32_HAS_INFINITY__ 1 # 0 "" #define __FLT32_HAS_QUIET_NAN__ 1 # 0 "" #define __FP_FAST_FMAF32 1 # 0 "" #define __FLT32_IS_IEC_60559__ 1 # 0 "" #define __FLT64_MANT_DIG__ 53 # 0 "" #define __FLT64_DIG__ 15 # 0 "" #define __FLT64_MIN_EXP__ (-1021) # 0 "" #define __FLT64_MIN_10_EXP__ (-307) # 0 "" #define __FLT64_MAX_EXP__ 1024 # 0 "" #define __FLT64_MAX_10_EXP__ 308 # 0 "" #define __FLT64_DECIMAL_DIG__ 17 # 0 "" #define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64 # 0 "" #define __FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64 # 0 "" #define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64 # 0 "" #define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64 # 0 "" #define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64 # 0 "" #define __FLT64_HAS_DENORM__ 1 # 0 "" #define __FLT64_HAS_INFINITY__ 1 # 0 "" #define __FLT64_HAS_QUIET_NAN__ 1 # 0 "" #define __FP_FAST_FMAF64 1 # 0 "" #define __FLT64_IS_IEC_60559__ 1 # 0 "" #define __FLT128_MANT_DIG__ 113 # 0 "" #define __FLT128_DIG__ 33 # 0 "" #define __FLT128_MIN_EXP__ (-16381) # 0 "" #define __FLT128_MIN_10_EXP__ (-4931) # 0 "" #define __FLT128_MAX_EXP__ 16384 # 0 "" #define __FLT128_MAX_10_EXP__ 4932 # 0 "" #define __FLT128_DECIMAL_DIG__ 36 # 0 "" #define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128 # 0 "" #define __FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128 # 0 "" #define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128 # 0 "" #define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128 # 0 "" #define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128 # 0 "" #define __FLT128_HAS_DENORM__ 1 # 0 "" #define __FLT128_HAS_INFINITY__ 1 # 0 "" #define __FLT128_HAS_QUIET_NAN__ 1 # 0 "" #define __FLT128_IS_IEC_60559__ 1 # 0 "" #define __FLT32X_MANT_DIG__ 53 # 0 "" #define __FLT32X_DIG__ 15 # 0 "" #define __FLT32X_MIN_EXP__ (-1021) # 0 "" #define __FLT32X_MIN_10_EXP__ (-307) # 0 "" #define __FLT32X_MAX_EXP__ 1024 # 0 "" #define __FLT32X_MAX_10_EXP__ 308 # 0 "" #define __FLT32X_DECIMAL_DIG__ 17 # 0 "" #define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x # 0 "" #define __FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x # 0 "" #define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x # 0 "" #define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x # 0 "" #define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x # 0 "" #define __FLT32X_HAS_DENORM__ 1 # 0 "" #define __FLT32X_HAS_INFINITY__ 1 # 0 "" #define __FLT32X_HAS_QUIET_NAN__ 1 # 0 "" #define __FP_FAST_FMAF32x 1 # 0 "" #define __FLT32X_IS_IEC_60559__ 1 # 0 "" #define __FLT64X_MANT_DIG__ 113 # 0 "" #define __FLT64X_DIG__ 33 # 0 "" #define __FLT64X_MIN_EXP__ (-16381) # 0 "" #define __FLT64X_MIN_10_EXP__ (-4931) # 0 "" #define __FLT64X_MAX_EXP__ 16384 # 0 "" #define __FLT64X_MAX_10_EXP__ 4932 # 0 "" #define __FLT64X_DECIMAL_DIG__ 36 # 0 "" #define __FLT64X_MAX__ 1.18973149535723176508575932662800702e+4932F64x # 0 "" #define __FLT64X_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F64x # 0 "" #define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x # 0 "" #define __FLT64X_EPSILON__ 1.92592994438723585305597794258492732e-34F64x # 0 "" #define __FLT64X_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F64x # 0 "" #define __FLT64X_HAS_DENORM__ 1 # 0 "" #define __FLT64X_HAS_INFINITY__ 1 # 0 "" #define __FLT64X_HAS_QUIET_NAN__ 1 # 0 "" #define __FLT64X_IS_IEC_60559__ 1 # 0 "" #define __SFRACT_FBIT__ 7 # 0 "" #define __SFRACT_IBIT__ 0 # 0 "" #define __SFRACT_MIN__ (-0.5HR-0.5HR) # 0 "" #define __SFRACT_MAX__ 0X7FP-7HR # 0 "" #define __SFRACT_EPSILON__ 0x1P-7HR # 0 "" #define __USFRACT_FBIT__ 8 # 0 "" #define __USFRACT_IBIT__ 0 # 0 "" #define __USFRACT_MIN__ 0.0UHR # 0 "" #define __USFRACT_MAX__ 0XFFP-8UHR # 0 "" #define __USFRACT_EPSILON__ 0x1P-8UHR # 0 "" #define __FRACT_FBIT__ 15 # 0 "" #define __FRACT_IBIT__ 0 # 0 "" #define __FRACT_MIN__ (-0.5R-0.5R) # 0 "" #define __FRACT_MAX__ 0X7FFFP-15R # 0 "" #define __FRACT_EPSILON__ 0x1P-15R # 0 "" #define __UFRACT_FBIT__ 16 # 0 "" #define __UFRACT_IBIT__ 0 # 0 "" #define __UFRACT_MIN__ 0.0UR # 0 "" #define __UFRACT_MAX__ 0XFFFFP-16UR # 0 "" #define __UFRACT_EPSILON__ 0x1P-16UR # 0 "" #define __LFRACT_FBIT__ 31 # 0 "" #define __LFRACT_IBIT__ 0 # 0 "" #define __LFRACT_MIN__ (-0.5LR-0.5LR) # 0 "" #define __LFRACT_MAX__ 0X7FFFFFFFP-31LR # 0 "" #define __LFRACT_EPSILON__ 0x1P-31LR # 0 "" #define __ULFRACT_FBIT__ 32 # 0 "" #define __ULFRACT_IBIT__ 0 # 0 "" #define __ULFRACT_MIN__ 0.0ULR # 0 "" #define __ULFRACT_MAX__ 0XFFFFFFFFP-32ULR # 0 "" #define __ULFRACT_EPSILON__ 0x1P-32ULR # 0 "" #define __LLFRACT_FBIT__ 63 # 0 "" #define __LLFRACT_IBIT__ 0 # 0 "" #define __LLFRACT_MIN__ (-0.5LLR-0.5LLR) # 0 "" #define __LLFRACT_MAX__ 0X7FFFFFFFFFFFFFFFP-63LLR # 0 "" #define __LLFRACT_EPSILON__ 0x1P-63LLR # 0 "" #define __ULLFRACT_FBIT__ 64 # 0 "" #define __ULLFRACT_IBIT__ 0 # 0 "" #define __ULLFRACT_MIN__ 0.0ULLR # 0 "" #define __ULLFRACT_MAX__ 0XFFFFFFFFFFFFFFFFP-64ULLR # 0 "" #define __ULLFRACT_EPSILON__ 0x1P-64ULLR # 0 "" #define __SACCUM_FBIT__ 7 # 0 "" #define __SACCUM_IBIT__ 8 # 0 "" #define __SACCUM_MIN__ (-0X1P7HK-0X1P7HK) # 0 "" #define __SACCUM_MAX__ 0X7FFFP-7HK # 0 "" #define __SACCUM_EPSILON__ 0x1P-7HK # 0 "" #define __USACCUM_FBIT__ 8 # 0 "" #define __USACCUM_IBIT__ 8 # 0 "" #define __USACCUM_MIN__ 0.0UHK # 0 "" #define __USACCUM_MAX__ 0XFFFFP-8UHK # 0 "" #define __USACCUM_EPSILON__ 0x1P-8UHK # 0 "" #define __ACCUM_FBIT__ 15 # 0 "" #define __ACCUM_IBIT__ 16 # 0 "" #define __ACCUM_MIN__ (-0X1P15K-0X1P15K) # 0 "" #define __ACCUM_MAX__ 0X7FFFFFFFP-15K # 0 "" #define __ACCUM_EPSILON__ 0x1P-15K # 0 "" #define __UACCUM_FBIT__ 16 # 0 "" #define __UACCUM_IBIT__ 16 # 0 "" #define __UACCUM_MIN__ 0.0UK # 0 "" #define __UACCUM_MAX__ 0XFFFFFFFFP-16UK # 0 "" #define __UACCUM_EPSILON__ 0x1P-16UK # 0 "" #define __LACCUM_FBIT__ 31 # 0 "" #define __LACCUM_IBIT__ 32 # 0 "" #define __LACCUM_MIN__ (-0X1P31LK-0X1P31LK) # 0 "" #define __LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK # 0 "" #define __LACCUM_EPSILON__ 0x1P-31LK # 0 "" #define __ULACCUM_FBIT__ 32 # 0 "" #define __ULACCUM_IBIT__ 32 # 0 "" #define __ULACCUM_MIN__ 0.0ULK # 0 "" #define __ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK # 0 "" #define __ULACCUM_EPSILON__ 0x1P-32ULK # 0 "" #define __LLACCUM_FBIT__ 63 # 0 "" #define __LLACCUM_IBIT__ 64 # 0 "" #define __LLACCUM_MIN__ (-0X1P63LLK-0X1P63LLK) # 0 "" #define __LLACCUM_MAX__ 0X7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFP-63LLK # 0 "" #define __LLACCUM_EPSILON__ 0x1P-63LLK # 0 "" #define __ULLACCUM_FBIT__ 64 # 0 "" #define __ULLACCUM_IBIT__ 64 # 0 "" #define __ULLACCUM_MIN__ 0.0ULLK # 0 "" #define __ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFP-64ULLK # 0 "" #define __ULLACCUM_EPSILON__ 0x1P-64ULLK # 0 "" #define __QQ_FBIT__ 7 # 0 "" #define __QQ_IBIT__ 0 # 0 "" #define __HQ_FBIT__ 15 # 0 "" #define __HQ_IBIT__ 0 # 0 "" #define __SQ_FBIT__ 31 # 0 "" #define __SQ_IBIT__ 0 # 0 "" #define __DQ_FBIT__ 63 # 0 "" #define __DQ_IBIT__ 0 # 0 "" #define __TQ_FBIT__ 127 # 0 "" #define __TQ_IBIT__ 0 # 0 "" #define __UQQ_FBIT__ 8 # 0 "" #define __UQQ_IBIT__ 0 # 0 "" #define __UHQ_FBIT__ 16 # 0 "" #define __UHQ_IBIT__ 0 # 0 "" #define __USQ_FBIT__ 32 # 0 "" #define __USQ_IBIT__ 0 # 0 "" #define __UDQ_FBIT__ 64 # 0 "" #define __UDQ_IBIT__ 0 # 0 "" #define __UTQ_FBIT__ 128 # 0 "" #define __UTQ_IBIT__ 0 # 0 "" #define __HA_FBIT__ 7 # 0 "" #define __HA_IBIT__ 8 # 0 "" #define __SA_FBIT__ 15 # 0 "" #define __SA_IBIT__ 16 # 0 "" #define __DA_FBIT__ 31 # 0 "" #define __DA_IBIT__ 32 # 0 "" #define __TA_FBIT__ 63 # 0 "" #define __TA_IBIT__ 64 # 0 "" #define __UHA_FBIT__ 8 # 0 "" #define __UHA_IBIT__ 8 # 0 "" #define __USA_FBIT__ 16 # 0 "" #define __USA_IBIT__ 16 # 0 "" #define __UDA_FBIT__ 32 # 0 "" #define __UDA_IBIT__ 32 # 0 "" #define __UTA_FBIT__ 64 # 0 "" #define __UTA_IBIT__ 64 # 0 "" #define __REGISTER_PREFIX__ $ # 0 "" #define __USER_LABEL_PREFIX__ # 0 "" #define __GNUC_GNU_INLINE__ 1 # 0 "" #define __STRICT_ANSI__ 1 # 0 "" #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 # 0 "" #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 # 0 "" #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 # 0 "" #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 # 0 "" #define __GCC_ATOMIC_BOOL_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_SHORT_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_INT_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_LONG_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_LLONG_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 # 0 "" #define __GCC_DESTRUCTIVE_SIZE 64 # 0 "" #define __GCC_CONSTRUCTIVE_SIZE 64 # 0 "" #define __GCC_ATOMIC_POINTER_LOCK_FREE 2 # 0 "" #define __HAVE_SPECULATION_SAFE_VALUE 1 # 0 "" #define __GCC_HAVE_DWARF2_CFI_ASM 1 # 0 "" #define __PRAGMA_REDEFINE_EXTNAME 1 # 0 "" #define __SIZEOF_INT128__ 16 # 0 "" #define __SIZEOF_WCHAR_T__ 4 # 0 "" #define __SIZEOF_WINT_T__ 4 # 0 "" #define __SIZEOF_PTRDIFF_T__ 8 # 0 "" #define __loongarch__ 1 # 0 "" #define _LOONGARCH_ARCH_LOONGARCH64 1 # 0 "" #define _LOONGARCH_ARCH "loongarch64" # 0 "" #define _LOONGARCH_TUNE_LOONGARCH64 1 # 0 "" #define _LOONGARCH_TUNE "loongarch64" # 0 "" #define __LOONGARCH_ARCH_LOONGARCH64 1 # 0 "" #define __loongarch_arch "loongarch64" # 0 "" #define __LOONGARCH_TUNE_LOONGARCH64 1 # 0 "" #define __loongarch_tune "loongarch64" # 0 "" #define __loongarch_grlen 64 # 0 "" #define __loongarch64 1 # 0 "" #define _ABILP64 3 # 0 "" #define _LOONGARCH_SIM _ABILP64 # 0 "" #define __loongarch_lp64 1 # 0 "" #define __loongarch_double_float 1 # 0 "" #define __loongarch_hard_float 1 # 0 "" #define __loongarch_frlen 64 # 0 "" #define __loongarch_simd 1 # 0 "" #define __loongarch_sx 1 # 0 "" #define __loongarch_asx 1 # 0 "" #define __loongarch_simd_width 256 # 0 "" #define __FLOAT128_TYPE__ 1 # 0 "" #define __builtin_fabsq __builtin_fabsf128 # 0 "" #define __builtin_copysignq __builtin_copysignf128 # 0 "" #define __builtin_nanq __builtin_nanf128 # 0 "" #define __builtin_nansq __builtin_nansf128 # 0 "" #define __builtin_infq __builtin_inff128 # 0 "" #define __builtin_huge_valq __builtin_huge_valf128 # 0 "" #define _LOONGARCH_SZINT 32 # 0 "" #define _LOONGARCH_SZLONG 64 # 0 "" #define _LOONGARCH_SZPTR 64 # 0 "" #define _LOONGARCH_FPSET 32 # 0 "" #define _LOONGARCH_SPFPSET 32 # 0 "" #define __gnu_linux__ 1 # 0 "" #define __linux 1 # 0 "" #define __linux__ 1 # 0 "" #define __unix 1 # 0 "" #define __unix__ 1 # 0 "" #define _GNU_SOURCE 1 # 0 "" #define __ELF__ 1 # 0 "" #define _GNU_SOURCE 1 # 0 "" #define SPEC_CPU 1 # 0 "" #define NDEBUG 1 # 0 "" #define SPEC_CPU_LP64 1 # 0 "" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 19 "/usr/include/stdc-predef.h" 3 4 #define _STDC_PREDEF_H 1 # 38 "/usr/include/stdc-predef.h" 3 4 #define __STDC_IEC_559__ 1 #define __STDC_IEC_60559_BFP__ 201404L # 48 "/usr/include/stdc-predef.h" 3 4 #define __STDC_IEC_559_COMPLEX__ 1 #define __STDC_IEC_60559_COMPLEX__ 201404L # 62 "/usr/include/stdc-predef.h" 3 4 #define __STDC_ISO_10646__ 201706L # 0 "" 2 # 1 "example.cc" # 20 "example.cc" # 1 "/usr/include/assert.h" 1 3 4 # 34 "/usr/include/assert.h" 3 4 #define _ASSERT_H 1 # 1 "/usr/include/features.h" 1 3 4 # 19 "/usr/include/features.h" 3 4 #define _FEATURES_H 1 # 126 "/usr/include/features.h" 3 4 #undef __USE_ISOC11 #undef __USE_ISOC99 #undef __USE_ISOC95 #undef __USE_ISOCXX11 #undef __USE_POSIX #undef __USE_POSIX2 #undef __USE_POSIX199309 #undef __USE_POSIX199506 #undef __USE_XOPEN #undef __USE_XOPEN_EXTENDED #undef __USE_UNIX98 #undef __USE_XOPEN2K #undef __USE_XOPEN2KXSI #undef __USE_XOPEN2K8 #undef __USE_XOPEN2K8XSI #undef __USE_LARGEFILE #undef __USE_LARGEFILE64 #undef __USE_FILE_OFFSET64 #undef __USE_MISC #undef __USE_ATFILE #undef __USE_DYNAMIC_STACK_SIZE #undef __USE_GNU #undef __USE_FORTIFY_LEVEL #undef __KERNEL_STRICT_NAMES #undef __GLIBC_USE_ISOC2X #undef __GLIBC_USE_DEPRECATED_GETS #undef __GLIBC_USE_DEPRECATED_SCANF #define __KERNEL_STRICT_NAMES # 168 "/usr/include/features.h" 3 4 #define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) # 182 "/usr/include/features.h" 3 4 #define __glibc_clang_prereq(maj,min) 0 #define __GLIBC_USE(F) __GLIBC_USE_ ## F # 201 "/usr/include/features.h" 3 4 #undef _ISOC95_SOURCE #define _ISOC95_SOURCE 1 #undef _ISOC99_SOURCE #define _ISOC99_SOURCE 1 #undef _ISOC11_SOURCE #define _ISOC11_SOURCE 1 #undef _ISOC2X_SOURCE #define _ISOC2X_SOURCE 1 #undef _POSIX_SOURCE #define _POSIX_SOURCE 1 #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809L #undef _XOPEN_SOURCE #define _XOPEN_SOURCE 700 #undef _XOPEN_SOURCE_EXTENDED #define _XOPEN_SOURCE_EXTENDED 1 #undef _LARGEFILE64_SOURCE #define _LARGEFILE64_SOURCE 1 #undef _DEFAULT_SOURCE #define _DEFAULT_SOURCE 1 #undef _ATFILE_SOURCE #define _ATFILE_SOURCE 1 #undef _DYNAMIC_STACK_SIZE_SOURCE #define _DYNAMIC_STACK_SIZE_SOURCE 1 # 235 "/usr/include/features.h" 3 4 #undef _DEFAULT_SOURCE #define _DEFAULT_SOURCE 1 #define __GLIBC_USE_ISOC2X 1 #define __USE_ISOC11 1 #define __USE_ISOC99 1 #define __USE_ISOC95 1 # 287 "/usr/include/features.h" 3 4 #undef _POSIX_SOURCE #define _POSIX_SOURCE 1 #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200809L # 325 "/usr/include/features.h" 3 4 #define __USE_POSIX 1 #define __USE_POSIX2 1 #define __USE_POSIX199309 1 #define __USE_POSIX199506 1 #define __USE_XOPEN2K 1 #undef __USE_ISOC95 #define __USE_ISOC95 1 #undef __USE_ISOC99 #define __USE_ISOC99 1 #define __USE_XOPEN2K8 1 #undef _ATFILE_SOURCE #define _ATFILE_SOURCE 1 #define __USE_XOPEN 1 #define __USE_XOPEN_EXTENDED 1 #define __USE_UNIX98 1 #undef _LARGEFILE_SOURCE #define _LARGEFILE_SOURCE 1 #define __USE_XOPEN2K8 1 #define __USE_XOPEN2K8XSI 1 #define __USE_XOPEN2K 1 #define __USE_XOPEN2KXSI 1 #undef __USE_ISOC95 #define __USE_ISOC95 1 #undef __USE_ISOC99 #define __USE_ISOC99 1 # 381 "/usr/include/features.h" 3 4 #define __USE_LARGEFILE 1 #define __USE_LARGEFILE64 1 # 1 "/usr/include/features-time64.h" 1 3 4 # 20 "/usr/include/features-time64.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 18 "/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 21 "/usr/include/features-time64.h" 2 3 4 # 1 "/usr/include/bits/timesize.h" 1 3 4 # 20 "/usr/include/bits/timesize.h" 3 4 #define __TIMESIZE 64 # 22 "/usr/include/features-time64.h" 2 3 4 # 393 "/usr/include/features.h" 2 3 4 #define __USE_MISC 1 #define __USE_ATFILE 1 #define __USE_DYNAMIC_STACK_SIZE 1 #define __USE_GNU 1 # 432 "/usr/include/features.h" 3 4 #define __USE_FORTIFY_LEVEL 0 # 442 "/usr/include/features.h" 3 4 #define __GLIBC_USE_DEPRECATED_GETS 1 # 461 "/usr/include/features.h" 3 4 #define __GLIBC_USE_DEPRECATED_SCANF 1 # 476 "/usr/include/features.h" 3 4 #undef __GNU_LIBRARY__ #define __GNU_LIBRARY__ 6 #define __GLIBC__ 2 #define __GLIBC_MINOR__ 35 #define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 20 "/usr/include/sys/cdefs.h" 3 4 #define _SYS_CDEFS_H 1 # 35 "/usr/include/sys/cdefs.h" 3 4 #undef __P #undef __PMT # 45 "/usr/include/sys/cdefs.h" 3 4 #define __glibc_has_attribute(attr) __has_attribute (attr) #define __glibc_has_builtin(name) __has_builtin (name) #define __glibc_has_extension(ext) __has_extension (ext) # 65 "/usr/include/sys/cdefs.h" 3 4 #define __LEAF , __leaf__ #define __LEAF_ATTR __attribute__ ((__leaf__)) # 88 "/usr/include/sys/cdefs.h" 3 4 #define __THROW throw () #define __THROWNL __THROW #define __NTH(fct) __LEAF_ATTR fct __THROW #define __NTHNL(fct) fct __THROW # 118 "/usr/include/sys/cdefs.h" 3 4 #define __P(args) args #define __PMT(args) args #define __CONCAT(x,y) x ## y #define __STRING(x) #x #define __ptr_t void * #define __BEGIN_DECLS extern "C" { #define __END_DECLS } #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) #define __bos0(ptr) __builtin_object_size (ptr, 0) #define __glibc_objsize0(__o) __bos0 (__o) #define __glibc_objsize(__o) __bos (__o) #define __glibc_safe_len_cond(__l,__s,__osz) ((__l) <= (__osz) / (__s)) #define __glibc_unsigned_or_positive(__l) ((__typeof (__l)) 0 < (__typeof (__l)) -1 || (__builtin_constant_p (__l) && (__l) > 0)) #define __glibc_safe_or_unknown_len(__l,__s,__osz) ((__builtin_constant_p (__osz) && (__osz) == (__SIZE_TYPE__) -1) || (__glibc_unsigned_or_positive (__l) && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz))) && __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz)))) # 176 "/usr/include/sys/cdefs.h" 3 4 #define __glibc_unsafe_len(__l,__s,__osz) (__glibc_unsigned_or_positive (__l) && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz)) && !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz)) # 185 "/usr/include/sys/cdefs.h" 3 4 #define __glibc_fortify(f,__l,__s,__osz,...) (__glibc_safe_or_unknown_len (__l, __s, __osz) ? __ ## f ## _alias (__VA_ARGS__) : (__glibc_unsafe_len (__l, __s, __osz) ? __ ## f ## _chk_warn (__VA_ARGS__, __osz) : __ ## f ## _chk (__VA_ARGS__, __osz))) # 195 "/usr/include/sys/cdefs.h" 3 4 #define __glibc_fortify_n(f,__l,__s,__osz,...) (__glibc_safe_or_unknown_len (__l, __s, __osz) ? __ ## f ## _alias (__VA_ARGS__) : (__glibc_unsafe_len (__l, __s, __osz) ? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) #define __warnattr(msg) __attribute__((__warning__ (msg))) #define __errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg))) # 221 "/usr/include/sys/cdefs.h" 3 4 #define __flexarr [] #define __glibc_c99_flexarr_available 1 # 247 "/usr/include/sys/cdefs.h" 3 4 #define __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) #define __REDIRECT_NTH(name,proto,alias) name proto __THROW __asm__ (__ASMNAME (#alias)) #define __REDIRECT_NTHNL(name,proto,alias) name proto __THROWNL __asm__ (__ASMNAME (#alias)) #define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) #define __ASMNAME2(prefix,cname) __STRING (prefix) cname # 281 "/usr/include/sys/cdefs.h" 3 4 #define __attribute_malloc__ __attribute__ ((__malloc__)) #define __attribute_alloc_size__(params) __attribute__ ((__alloc_size__ params)) # 298 "/usr/include/sys/cdefs.h" 3 4 #define __attribute_alloc_align__(param) __attribute__ ((__alloc_align__ param)) # 308 "/usr/include/sys/cdefs.h" 3 4 #define __attribute_pure__ __attribute__ ((__pure__)) #define __attribute_const__ __attribute__ ((__const__)) #define __attribute_maybe_unused__ __attribute__ ((__unused__)) # 330 "/usr/include/sys/cdefs.h" 3 4 #define __attribute_used__ __attribute__ ((__used__)) #define __attribute_noinline__ __attribute__ ((__noinline__)) #define __attribute_deprecated__ __attribute__ ((__deprecated__)) # 349 "/usr/include/sys/cdefs.h" 3 4 #define __attribute_deprecated_msg__(msg) __attribute__ ((__deprecated__ (msg))) # 362 "/usr/include/sys/cdefs.h" 3 4 #define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) # 372 "/usr/include/sys/cdefs.h" 3 4 #define __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b))) # 384 "/usr/include/sys/cdefs.h" 3 4 #define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params)) #define __nonnull(params) __attribute_nonnull__ (params) #define __returns_nonnull __attribute__ ((__returns_nonnull__)) # 406 "/usr/include/sys/cdefs.h" 3 4 #define __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__)) # 415 "/usr/include/sys/cdefs.h" 3 4 #define __wur #undef __always_inline #define __always_inline __inline __attribute__ ((__always_inline__)) # 433 "/usr/include/sys/cdefs.h" 3 4 #define __attribute_artificial__ __attribute__ ((__artificial__)) # 451 "/usr/include/sys/cdefs.h" 3 4 #define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) #define __extern_always_inline extern __always_inline __attribute__ ((__gnu_inline__)) # 461 "/usr/include/sys/cdefs.h" 3 4 #define __fortify_function __extern_always_inline __attribute_artificial__ #define __va_arg_pack() __builtin_va_arg_pack () #define __va_arg_pack_len() __builtin_va_arg_pack_len () # 498 "/usr/include/sys/cdefs.h" 3 4 #define __restrict_arr # 510 "/usr/include/sys/cdefs.h" 3 4 #define __glibc_unlikely(cond) __builtin_expect ((cond), 0) #define __glibc_likely(cond) __builtin_expect ((cond), 1) # 532 "/usr/include/sys/cdefs.h" 3 4 #define __attribute_nonstring__ __attribute__ ((__nonstring__)) #undef __attribute_copy__ #define __attribute_copy__(arg) __attribute__ ((__copy__ (arg))) # 559 "/usr/include/sys/cdefs.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 18 "/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 560 "/usr/include/sys/cdefs.h" 2 3 4 # 1 "/usr/include/bits/long-double.h" 1 3 4 # 21 "/usr/include/bits/long-double.h" 3 4 #define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 # 561 "/usr/include/sys/cdefs.h" 2 3 4 # 616 "/usr/include/sys/cdefs.h" 3 4 #define __LDBL_REDIR1(name,proto,alias) name proto #define __LDBL_REDIR(name,proto) name proto #define __LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW #define __LDBL_REDIR_NTH(name,proto) name proto __THROW #define __LDBL_REDIR2_DECL(name) #define __LDBL_REDIR_DECL(name) #define __REDIRECT_LDBL(name,proto,alias) __REDIRECT (name, proto, alias) #define __REDIRECT_NTH_LDBL(name,proto,alias) __REDIRECT_NTH (name, proto, alias) # 635 "/usr/include/sys/cdefs.h" 3 4 #define __glibc_macro_warning1(message) _Pragma (#message) #define __glibc_macro_warning(message) __glibc_macro_warning1 (GCC warning message) # 656 "/usr/include/sys/cdefs.h" 3 4 #define __HAVE_GENERIC_SELECTION 0 # 665 "/usr/include/sys/cdefs.h" 3 4 #define __attr_access(x) __attribute__ ((__access__ x)) #define __fortified_attr_access(a,o,s) __attr_access ((a, o, s)) #define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno))) # 689 "/usr/include/sys/cdefs.h" 3 4 #define __attr_dealloc(dealloc,argno) __attribute__ ((__malloc__ (dealloc, argno))) #define __attr_dealloc_free __attr_dealloc (__builtin_free, 1) # 700 "/usr/include/sys/cdefs.h" 3 4 #define __attribute_returns_twice__ __attribute__ ((__returns_twice__)) # 491 "/usr/include/features.h" 2 3 4 # 506 "/usr/include/features.h" 3 4 #define __USE_EXTERN_INLINES 1 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 18 "/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 6 "/usr/include/gnu/stubs.h" 2 3 4 # 1 "/usr/include/gnu/stubs-lp64.h" 1 3 4 # 10 "/usr/include/gnu/stubs-lp64.h" 3 4 #define __stub___compat_bdflush #define __stub___compat_create_module #define __stub___compat_get_kernel_syms #define __stub___compat_query_module #define __stub___compat_uselib #define __stub_chflags #define __stub_fchflags #define __stub_gtty #define __stub_revoke #define __stub_setlogin #define __stub_sigreturn #define __stub_stty # 9 "/usr/include/gnu/stubs.h" 2 3 4 # 515 "/usr/include/features.h" 2 3 4 # 36 "/usr/include/assert.h" 2 3 4 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 21 "example.cc" 2 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/math.h" 1 3 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/math.h" 3 #define _GLIBCXX_MATH_H 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cmath" 1 3 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cmath" 3 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cmath" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/requires_hosted.h" 1 3 # 29 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/requires_hosted.h" 3 #define _REQUIRES_FREESTANDING_H 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_CXX_CONFIG_H 1 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_RELEASE 14 #define __GLIBCXX__ 20240103 # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_PURE __attribute__ ((__pure__)) #define _GLIBCXX_CONST __attribute__ ((__const__)) #define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) # 69 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 #define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V))) # 94 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_USE_DEPRECATED 1 #define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__)) #define _GLIBCXX_DEPRECATED_SUGGEST(ALT) __attribute__ ((__deprecated__ ("use '" ALT "' instead"))) # 110 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX11_DEPRECATED #define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) #define _GLIBCXX14_DEPRECATED #define _GLIBCXX14_DEPRECATED_SUGGEST(ALT) #define _GLIBCXX17_DEPRECATED #define _GLIBCXX17_DEPRECATED_SUGGEST(ALT) #define _GLIBCXX20_DEPRECATED #define _GLIBCXX20_DEPRECATED_SUGGEST(ALT) #define _GLIBCXX23_DEPRECATED #define _GLIBCXX23_DEPRECATED_SUGGEST(ALT) #define _GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ ("cxx11"))) #define _GLIBCXX_NODISCARD # 168 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_CONSTEXPR #define _GLIBCXX_USE_CONSTEXPR const #define _GLIBCXX14_CONSTEXPR #define _GLIBCXX17_CONSTEXPR #define _GLIBCXX20_CONSTEXPR #define _GLIBCXX23_CONSTEXPR #define _GLIBCXX17_INLINE # 221 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_NOEXCEPT #define _GLIBCXX_NOEXCEPT_IF(...) #define _GLIBCXX_USE_NOEXCEPT throw() #define _GLIBCXX_THROW(_EXC) throw(_EXC) #define _GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT #define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC)) # 244 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_NOEXCEPT_PARM #define _GLIBCXX_NOEXCEPT_QUAL # 258 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_EXTERN_TEMPLATE 1 # 308 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 # 308 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 namespace std { typedef long unsigned int size_t; typedef long int ptrdiff_t; #pragma GCC visibility push(default) extern "C++" __attribute__ ((__noreturn__, __always_inline__)) inline void __terminate() throw() { void terminate() throw() __attribute__ ((__noreturn__,__cold__)); terminate(); } #pragma GCC visibility pop } #define _GLIBCXX_USE_DUAL_ABI 1 #define _GLIBCXX_USE_CXX11_ABI 1 namespace std { inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } } namespace __gnu_cxx { inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } } #define _GLIBCXX_NAMESPACE_CXX11 __cxx11:: #define _GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 { #define _GLIBCXX_END_NAMESPACE_CXX11 } #define _GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_ABI_TAG_CXX11 # 361 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_INLINE_VERSION 0 # 395 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_BEGIN_NAMESPACE_VERSION #define _GLIBCXX_END_NAMESPACE_VERSION #define _GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE(X) inline namespace X { #define _GLIBCXX_END_INLINE_ABI_NAMESPACE(X) } # 464 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_STD_C std #define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER #define _GLIBCXX_END_NAMESPACE_CONTAINER # 475 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_STD_A std #define _GLIBCXX_BEGIN_NAMESPACE_ALGO #define _GLIBCXX_END_NAMESPACE_ALGO #undef _GLIBCXX_LONG_DOUBLE_COMPAT #undef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT # 517 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_NAMESPACE_LDBL #define _GLIBCXX_BEGIN_NAMESPACE_LDBL #define _GLIBCXX_END_NAMESPACE_LDBL #define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_CXX11 #define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_CXX11 #define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_CXX11 # 534 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 namespace std { #pragma GCC visibility push(default) __attribute__((__always_inline__)) inline bool __is_constant_evaluated() { return false; } #pragma GCC visibility pop } # 569 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_VERBOSE_ASSERT 1 namespace std { #pragma GCC visibility push(default) extern "C++" __attribute__ ((__noreturn__)) void __glibcxx_assert_fail (const char* __file, int __line, const char* __function, const char* __condition) ; #pragma GCC visibility pop } #define _GLIBCXX_ASSERT_FAIL(_Condition) std::__glibcxx_assert_fail(__FILE__, __LINE__, __PRETTY_FUNCTION__, #_Condition) # 616 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define __glibcxx_assert(cond) # 650 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) #define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) #define _GLIBCXX_BEGIN_EXTERN_C extern "C" { #define _GLIBCXX_END_EXTERN_C } #define _GLIBCXX_USE_ALLOCATOR_NEW 1 # 680 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/os_defines.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/os_defines.h" 3 #define _GLIBCXX_OS_DEFINES 1 #define __NO_CTYPE 1 #undef _GLIBCXX_HAVE_GETS #define _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC __GLIBC_PREREQ(2,23) # 66 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/os_defines.h" 3 #define _GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL 1 #define _GLIBCXX_NATIVE_THREAD_ID pthread_self() # 86 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/os_defines.h" 3 #define _GLIBCXX_GTHREAD_USE_WEAK 0 # 681 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/cpu_defines.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/cpu_defines.h" 3 #define _GLIBCXX_CPU_DEFINES 1 # 684 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 2 3 #define _GLIBCXX_PSEUDO_VISIBILITY(V) #define _GLIBCXX_WEAK_DEFINITION #define _GLIBCXX_USE_WEAK_REF __GXX_WEAK__ # 716 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_TXN_SAFE #define _GLIBCXX_TXN_SAFE_DYN # 735 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_FAST_MATH 0 #define __N(msgid) (msgid) #undef min #undef max # 768 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_USE_C99_MATH _GLIBCXX98_USE_C99_MATH #define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX98_USE_C99_COMPLEX #define _GLIBCXX_USE_C99_STDIO _GLIBCXX98_USE_C99_STDIO #define _GLIBCXX_USE_C99_STDLIB _GLIBCXX98_USE_C99_STDLIB #define _GLIBCXX_USE_C99_WCHAR _GLIBCXX98_USE_C99_WCHAR # 807 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_FLOAT_IS_IEEE_BINARY32 1 #define _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 1 #define _GLIBCXX_LDOUBLE_IS_IEEE_BINARY128 1 # 836 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_HAS_BUILTIN(B) __has_builtin(B) #define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 #define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 #define _GLIBCXX_HAVE_BUILTIN_IS_SAME 1 #define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 #define _GLIBCXX_USE_BUILTIN_TRAIT(BT) _GLIBCXX_HAS_BUILTIN(BT) #define _GLIBCXX_DOXYGEN_ONLY(X) # 900 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_HAVE_ACOSF 1 #define _GLIBCXX_HAVE_ACOSL 1 #define _GLIBCXX_HAVE_ALIGNED_ALLOC 1 #define _GLIBCXX_HAVE_ARPA_INET_H 1 #define _GLIBCXX_HAVE_ASINF 1 #define _GLIBCXX_HAVE_ASINL 1 #define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 #define _GLIBCXX_HAVE_ATAN2F 1 #define _GLIBCXX_HAVE_ATAN2L 1 #define _GLIBCXX_HAVE_ATANF 1 #define _GLIBCXX_HAVE_ATANL 1 #define _GLIBCXX_HAVE_ATOMIC_LOCK_POLICY 1 #define _GLIBCXX_HAVE_AT_QUICK_EXIT 1 #define _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES 1 #define _GLIBCXX_HAVE_CEILF 1 #define _GLIBCXX_HAVE_CEILL 1 #define _GLIBCXX_HAVE_COMPLEX_H 1 #define _GLIBCXX_HAVE_COSF 1 #define _GLIBCXX_HAVE_COSHF 1 #define _GLIBCXX_HAVE_COSHL 1 #define _GLIBCXX_HAVE_COSL 1 #define _GLIBCXX_HAVE_DECL_STRNLEN 1 #define _GLIBCXX_HAVE_DIRENT_H 1 #define _GLIBCXX_HAVE_DIRFD 1 #define _GLIBCXX_HAVE_DLFCN_H 1 #define _GLIBCXX_HAVE_ENDIAN_H 1 #define _GLIBCXX_HAVE_EXCEPTION_PTR_SINCE_GCC46 1 #define _GLIBCXX_HAVE_EXECINFO_H 1 #define _GLIBCXX_HAVE_EXPF 1 #define _GLIBCXX_HAVE_EXPL 1 #define _GLIBCXX_HAVE_FABSF 1 #define _GLIBCXX_HAVE_FABSL 1 #define _GLIBCXX_HAVE_FCNTL_H 1 #define _GLIBCXX_HAVE_FDOPENDIR 1 #define _GLIBCXX_HAVE_FENV_H 1 #define _GLIBCXX_HAVE_FINITE 1 #define _GLIBCXX_HAVE_FINITEF 1 #define _GLIBCXX_HAVE_FINITEL 1 #define _GLIBCXX_HAVE_FLOAT_H 1 #define _GLIBCXX_HAVE_FLOORF 1 #define _GLIBCXX_HAVE_FLOORL 1 #define _GLIBCXX_HAVE_FMODF 1 #define _GLIBCXX_HAVE_FMODL 1 # 1043 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_HAVE_FREXPF 1 #define _GLIBCXX_HAVE_FREXPL 1 #define _GLIBCXX_HAVE_GETENTROPY 1 #define _GLIBCXX_HAVE_GETIPINFO 1 #define _GLIBCXX_HAVE_GETS 1 #define _GLIBCXX_HAVE_HYPOT 1 #define _GLIBCXX_HAVE_HYPOTF 1 #define _GLIBCXX_HAVE_HYPOTL 1 #define _GLIBCXX_HAVE_ICONV 1 #define _GLIBCXX_HAVE_INTTYPES_H 1 #define _GLIBCXX_HAVE_ISINFF 1 #define _GLIBCXX_HAVE_ISINFL 1 #define _GLIBCXX_HAVE_ISNANF 1 #define _GLIBCXX_HAVE_ISNANL 1 #define _GLIBCXX_HAVE_ISWBLANK 1 #define _GLIBCXX_HAVE_LC_MESSAGES 1 #define _GLIBCXX_HAVE_LDEXPF 1 #define _GLIBCXX_HAVE_LDEXPL 1 #define _GLIBCXX_HAVE_LIBINTL_H 1 #define _GLIBCXX_HAVE_LIMIT_AS 1 #define _GLIBCXX_HAVE_LIMIT_DATA 1 #define _GLIBCXX_HAVE_LIMIT_FSIZE 1 #define _GLIBCXX_HAVE_LIMIT_RSS 1 #define _GLIBCXX_HAVE_LIMIT_VMEM 0 #define _GLIBCXX_HAVE_LINK 1 #define _GLIBCXX_HAVE_LINK_H 1 #define _GLIBCXX_HAVE_LINUX_FUTEX 1 #define _GLIBCXX_HAVE_LINUX_RANDOM_H 1 #define _GLIBCXX_HAVE_LINUX_TYPES_H 1 #define _GLIBCXX_HAVE_LOCALE_H 1 #define _GLIBCXX_HAVE_LOG10F 1 #define _GLIBCXX_HAVE_LOG10L 1 #define _GLIBCXX_HAVE_LOGF 1 #define _GLIBCXX_HAVE_LOGL 1 #define _GLIBCXX_HAVE_LSEEK 1 # 1163 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_HAVE_MBSTATE_T 1 #define _GLIBCXX_HAVE_MEMALIGN 1 #define _GLIBCXX_HAVE_MEMORY_H 1 #define _GLIBCXX_HAVE_MODF 1 #define _GLIBCXX_HAVE_MODFF 1 #define _GLIBCXX_HAVE_MODFL 1 #define _GLIBCXX_HAVE_NETDB_H 1 #define _GLIBCXX_HAVE_NETINET_IN_H 1 #define _GLIBCXX_HAVE_NETINET_TCP_H 1 # 1199 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_HAVE_OPENAT 1 #define _GLIBCXX_HAVE_POLL 1 #define _GLIBCXX_HAVE_POLL_H 1 #define _GLIBCXX_HAVE_POSIX_MEMALIGN 1 #define _GLIBCXX_HAVE_POSIX_SEMAPHORE 1 #define _GLIBCXX_HAVE_POWF 1 #define _GLIBCXX_HAVE_POWL 1 #define _GLIBCXX_HAVE_QUICK_EXIT 1 #define _GLIBCXX_HAVE_READLINK 1 #define _GLIBCXX_HAVE_SECURE_GETENV 1 #define _GLIBCXX_HAVE_SETENV 1 #define _GLIBCXX_HAVE_SINCOS 1 #define _GLIBCXX_HAVE_SINCOSF 1 #define _GLIBCXX_HAVE_SINCOSL 1 #define _GLIBCXX_HAVE_SINF 1 #define _GLIBCXX_HAVE_SINHF 1 #define _GLIBCXX_HAVE_SINHL 1 #define _GLIBCXX_HAVE_SINL 1 #define _GLIBCXX_HAVE_SOCKATMARK 1 #define _GLIBCXX_HAVE_SQRTF 1 #define _GLIBCXX_HAVE_SQRTL 1 #define _GLIBCXX_HAVE_STACKTRACE 1 #define _GLIBCXX_HAVE_STDALIGN_H 1 #define _GLIBCXX_HAVE_STDBOOL_H 1 #define _GLIBCXX_HAVE_STDINT_H 1 #define _GLIBCXX_HAVE_STDLIB_H 1 #define _GLIBCXX_HAVE_STRERROR_L 1 #define _GLIBCXX_HAVE_STRERROR_R 1 #define _GLIBCXX_HAVE_STRINGS_H 1 #define _GLIBCXX_HAVE_STRING_H 1 #define _GLIBCXX_HAVE_STRTOF 1 #define _GLIBCXX_HAVE_STRTOLD 1 #define _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE 1 #define _GLIBCXX_HAVE_STRXFRM_L 1 #define _GLIBCXX_HAVE_SYMLINK 1 #define _GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1 #define _GLIBCXX_HAVE_SYS_IOCTL_H 1 #define _GLIBCXX_HAVE_SYS_IPC_H 1 # 1330 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_HAVE_SYS_MMAN_H 1 #define _GLIBCXX_HAVE_SYS_PARAM_H 1 #define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 #define _GLIBCXX_HAVE_SYS_SEM_H 1 #define _GLIBCXX_HAVE_SYS_SOCKET_H 1 #define _GLIBCXX_HAVE_SYS_STATVFS_H 1 #define _GLIBCXX_HAVE_SYS_STAT_H 1 #define _GLIBCXX_HAVE_SYS_SYSINFO_H 1 #define _GLIBCXX_HAVE_SYS_TIME_H 1 #define _GLIBCXX_HAVE_SYS_TYPES_H 1 #define _GLIBCXX_HAVE_SYS_UIO_H 1 #define _GLIBCXX_HAVE_S_ISREG 1 #define _GLIBCXX_HAVE_TANF 1 #define _GLIBCXX_HAVE_TANHF 1 #define _GLIBCXX_HAVE_TANHL 1 #define _GLIBCXX_HAVE_TANL 1 #define _GLIBCXX_HAVE_TGMATH_H 1 #define _GLIBCXX_HAVE_TIMESPEC_GET 1 #define _GLIBCXX_HAVE_TLS 1 #define _GLIBCXX_HAVE_TRUNCATE 1 #define _GLIBCXX_HAVE_UCHAR_H 1 #define _GLIBCXX_HAVE_UNISTD_H 1 #define _GLIBCXX_HAVE_UNLINKAT 1 #define _GLIBCXX_HAVE_USELOCALE 1 #define _GLIBCXX_HAVE_UTIME_H 1 #define _GLIBCXX_HAVE_VFWSCANF 1 #define _GLIBCXX_HAVE_VSWSCANF 1 #define _GLIBCXX_HAVE_VWSCANF 1 #define _GLIBCXX_HAVE_WCHAR_H 1 #define _GLIBCXX_HAVE_WCSTOF 1 #define _GLIBCXX_HAVE_WCTYPE_H 1 #define _GLIBCXX_HAVE_WRITEV 1 # 1450 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL 1 #define _GLIBCXX_ICONV_CONST #define _GLIBCXX_LT_OBJDIR ".libs/" #define _GLIBCXX_PACKAGE_BUGREPORT "" #define _GLIBCXX_PACKAGE_NAME "package-unused" #define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" #define _GLIBCXX_PACKAGE_TARNAME "libstdc++" #define _GLIBCXX_PACKAGE_URL "" #define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" #define _GLIBCXX_STDC_HEADERS 1 #define _GLIBCXX_DARWIN_USE_64_BIT_INODE 1 # 1497 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX11_USE_C99_COMPLEX 1 #define _GLIBCXX11_USE_C99_MATH 1 #define _GLIBCXX11_USE_C99_STDIO 1 #define _GLIBCXX11_USE_C99_STDLIB 1 #define _GLIBCXX11_USE_C99_WCHAR 1 #define _GLIBCXX98_USE_C99_COMPLEX 1 #define _GLIBCXX98_USE_C99_MATH 1 #define _GLIBCXX98_USE_C99_STDIO 1 #define _GLIBCXX98_USE_C99_STDLIB 1 #define _GLIBCXX98_USE_C99_WCHAR 1 #define _GLIBCXX_ATOMIC_BUILTINS 1 #define _GLIBCXX_CAN_ALIGNAS_DESTRUCTIVE_SIZE 1 #define _GLIBCXX_FULLY_DYNAMIC_STRING 0 #define _GLIBCXX_HAS_GTHREADS 1 #define _GLIBCXX_HOSTED __STDC_HOSTED__ #define _GLIBCXX_MANGLE_SIZE_T m # 1574 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_RES_LIMITS 1 #define _GLIBCXX_STATIC_TZDATA 1 #define _GLIBCXX_STDIO_EOF -1 #define _GLIBCXX_STDIO_SEEK_CUR 1 #define _GLIBCXX_STDIO_SEEK_END 2 #define _GLIBCXX_SYMVER 1 #define _GLIBCXX_SYMVER_GNU 1 # 1608 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_USE_C11_UCHAR_CXX11 1 #define _GLIBCXX_USE_C99 1 #define _GLIBCXX_USE_C99_COMPLEX_ARC 1 #define _GLIBCXX_USE_C99_COMPLEX_TR1 1 #define _GLIBCXX_USE_C99_CTYPE 1 #define _GLIBCXX_USE_C99_CTYPE_TR1 1 #define _GLIBCXX_USE_C99_FENV 1 #define _GLIBCXX_USE_C99_FENV_TR1 1 #define _GLIBCXX_USE_C99_INTTYPES 1 #define _GLIBCXX_USE_C99_INTTYPES_TR1 1 #define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T 1 #define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 #define _GLIBCXX_USE_C99_MATH_FUNCS 1 #define _GLIBCXX_USE_C99_MATH_TR1 1 #define _GLIBCXX_USE_C99_STDINT 1 #define _GLIBCXX_USE_C99_STDINT_TR1 1 #define _GLIBCXX_USE_CHDIR 1 #define _GLIBCXX_USE_CHMOD 1 #define _GLIBCXX_USE_CLOCK_MONOTONIC 1 #define _GLIBCXX_USE_CLOCK_REALTIME 1 # 1697 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_USE_DEV_RANDOM 1 #define _GLIBCXX_USE_FCHMOD 1 #define _GLIBCXX_USE_FCHMODAT 1 #define _GLIBCXX_USE_FSEEKO_FTELLO 1 #define _GLIBCXX_USE_GETCWD 1 #define _GLIBCXX_USE_GETTIMEOFDAY 1 #define _GLIBCXX_USE_GET_NPROCS 1 #define _GLIBCXX_USE_INIT_PRIORITY_ATTRIBUTE 1 #define _GLIBCXX_USE_LFS 1 #define _GLIBCXX_USE_LONG_LONG 1 #define _GLIBCXX_USE_LSTAT 1 #define _GLIBCXX_USE_MKDIR 1 #define _GLIBCXX_USE_NANOSLEEP 1 #define _GLIBCXX_USE_NLS 1 #define _GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT 1 #define _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK (_GLIBCXX_TSAN==0) #define _GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK 1 #define _GLIBCXX_USE_PTHREAD_RWLOCK_T 1 #define _GLIBCXX_USE_RANDOM_TR1 1 #define _GLIBCXX_USE_REALPATH 1 #define _GLIBCXX_USE_SCHED_YIELD 1 #define _GLIBCXX_USE_SC_NPROCESSORS_ONLN 1 #define _GLIBCXX_USE_SENDFILE 1 #define _GLIBCXX_USE_ST_MTIM 1 #define _GLIBCXX_USE_TMPNAM 1 # 1794 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_USE_UTIME 1 #define _GLIBCXX_USE_UTIMENSAT 1 #define _GLIBCXX_USE_WCHAR_T 1 # 1810 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_VERBOSE 1 # 1819 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++config.h" 3 #define _GLIBCXX_ZONEINFO_DIR "/usr/share/zoneinfo" #define _GTHREAD_USE_MUTEX_TIMEDLOCK 1 # 32 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/requires_hosted.h" 2 3 # 42 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cmath" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/cpp_type_traits.h" 1 3 # 33 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/cpp_type_traits.h" 3 #define _CPP_TYPE_TRAITS_H 1 # 36 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/cpp_type_traits.h" 3 # 67 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; }; # 199 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; }; #define __INT_N(TYPE) __extension__ template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; __extension__ template<> struct __is_integer { enum { __value = 1 }; typedef __true_type __type; }; # 284 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/cpp_type_traits.h" 3 #undef __INT_N 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; }; # 366 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/cpp_type_traits.h" 3 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; }; # 470 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/cpp_type_traits.h" 3 template struct iterator_traits; template struct __is_nonvolatile_trivially_copyable { enum { __value = __is_trivially_copyable(_Tp) }; }; template struct __is_nonvolatile_trivially_copyable { enum { __value = 0 }; }; template struct __memcpyable { enum { __value = 0 }; }; template struct __memcpyable<_Tp*, _Tp*> : __is_nonvolatile_trivially_copyable<_Tp> { }; template struct __memcpyable<_Tp*, const _Tp*> : __is_nonvolatile_trivially_copyable<_Tp> { }; template struct __memcmpable { enum { __value = 0 }; }; template struct __memcmpable<_Tp*, _Tp*> : __is_nonvolatile_trivially_copyable<_Tp> { }; template struct __memcmpable : __is_nonvolatile_trivially_copyable<_Tp> { }; template struct __memcmpable<_Tp*, const _Tp*> : __is_nonvolatile_trivially_copyable<_Tp> { }; template::__value > struct __is_memcmp_ordered { static const bool __value = _Tp(-1) > _Tp(1); }; template struct __is_memcmp_ordered<_Tp, false> { static const bool __value = false; }; template struct __is_memcmp_ordered_with { static const bool __value = __is_memcmp_ordered<_Tp>::__value && __is_memcmp_ordered<_Up>::__value; }; template struct __is_memcmp_ordered_with<_Tp, _Up, false> { static const bool __value = false; }; # 595 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; } } } # 45 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cmath" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/type_traits.h" 1 3 # 30 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/type_traits.h" 3 #define _EXT_TYPE_TRAITS 1 # 33 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; } # 170 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/type_traits.h" 3 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; }; # 241 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/type_traits.h" 3 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; }; } } # 46 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cmath" 2 3 #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS # 1 "/usr/include/math.h" 1 3 4 # 24 "/usr/include/math.h" 3 4 #define _MATH_H 1 #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 31 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION #undef __GLIBC_USE_LIB_EXT2 #define __GLIBC_USE_LIB_EXT2 1 # 67 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_BFP_EXT #define __GLIBC_USE_IEC_60559_BFP_EXT 1 #undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X #define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_EXT #define __GLIBC_USE_IEC_60559_EXT 1 # 90 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT #define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X #define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_TYPES_EXT #define __GLIBC_USE_IEC_60559_TYPES_EXT 1 # 28 "/usr/include/math.h" 2 3 4 extern "C" { # 1 "/usr/include/bits/types.h" 1 3 4 # 24 "/usr/include/bits/types.h" 3 4 #define _BITS_TYPES_H 1 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 18 "/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 28 "/usr/include/bits/types.h" 2 3 4 # 1 "/usr/include/bits/timesize.h" 1 3 4 # 20 "/usr/include/bits/timesize.h" 3 4 #define __TIMESIZE 64 # 29 "/usr/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; 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; # 109 "/usr/include/bits/types.h" 3 4 #define __S16_TYPE short int #define __U16_TYPE unsigned short int #define __S32_TYPE int #define __U32_TYPE unsigned int #define __SLONGWORD_TYPE long int #define __ULONGWORD_TYPE unsigned long int # 128 "/usr/include/bits/types.h" 3 4 #define __SQUAD_TYPE long int #define __UQUAD_TYPE unsigned long int #define __SWORD_TYPE long int #define __UWORD_TYPE unsigned long int #define __SLONG32_TYPE int #define __ULONG32_TYPE unsigned int #define __S64_TYPE long int #define __U64_TYPE unsigned long int #define __STD_TYPE typedef # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 24 "/usr/include/bits/typesizes.h" 3 4 #define _BITS_TYPESIZES_H 1 # 40 "/usr/include/bits/typesizes.h" 3 4 #define __INO_T_TYPE __ULONGWORD_TYPE #define __OFF_T_TYPE __SLONGWORD_TYPE #define __RLIM_T_TYPE __ULONGWORD_TYPE #define __BLKCNT_T_TYPE __SLONGWORD_TYPE #define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE #define __FSFILCNT_T_TYPE __ULONGWORD_TYPE #define __TIME_T_TYPE __SLONGWORD_TYPE #define __SUSECONDS_T_TYPE __SLONGWORD_TYPE #define __DEV_T_TYPE __UQUAD_TYPE #define __UID_T_TYPE __U32_TYPE #define __GID_T_TYPE __U32_TYPE #define __INO64_T_TYPE __UQUAD_TYPE #define __MODE_T_TYPE __U32_TYPE #define __NLINK_T_TYPE __U32_TYPE #define __OFF64_T_TYPE __SQUAD_TYPE #define __PID_T_TYPE __S32_TYPE #define __RLIM64_T_TYPE __UQUAD_TYPE #define __BLKCNT64_T_TYPE __SQUAD_TYPE #define __FSBLKCNT64_T_TYPE __UQUAD_TYPE #define __FSFILCNT64_T_TYPE __UQUAD_TYPE #define __FSWORD_T_TYPE __SWORD_TYPE #define __ID_T_TYPE __U32_TYPE #define __CLOCK_T_TYPE __SLONGWORD_TYPE #define __USECONDS_T_TYPE __U32_TYPE #define __SUSECONDS64_T_TYPE __SQUAD_TYPE #define __DADDR_T_TYPE __S32_TYPE #define __KEY_T_TYPE __S32_TYPE #define __CLOCKID_T_TYPE __S32_TYPE #define __TIMER_T_TYPE void * #define __BLKSIZE_T_TYPE __S32_TYPE #define __FSID_T_TYPE struct { int __val[2]; } #define __SSIZE_T_TYPE __SWORD_TYPE #define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE #define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE #define __CPU_MASK_TYPE __ULONGWORD_TYPE #define __OFF_T_MATCHES_OFF64_T 1 #define __INO_T_MATCHES_INO64_T 1 #define __RLIM_T_MATCHES_RLIM64_T 1 #define __STATFS_MATCHES_STATFS64 1 #define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64) # 104 "/usr/include/bits/typesizes.h" 3 4 #define __FD_SETSIZE 1024 # 142 "/usr/include/bits/types.h" 2 3 4 # 1 "/usr/include/bits/time64.h" 1 3 4 # 24 "/usr/include/bits/time64.h" 3 4 #define _BITS_TIME64_H 1 #define __TIME64_T_TYPE __TIME_T_TYPE # 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 int __nlink_t; typedef long int __off_t; typedef long int __off64_t; typedef int __pid_t; typedef struct { int __val[2]; } __fsid_t; typedef long int __clock_t; typedef unsigned long int __rlim_t; typedef unsigned long int __rlim64_t; typedef unsigned int __id_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef long int __suseconds64_t; typedef int __daddr_t; typedef int __key_t; typedef int __clockid_t; typedef void * __timer_t; typedef 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; # 226 "/usr/include/bits/types.h" 3 4 #undef __STD_TYPE # 38 "/usr/include/math.h" 2 3 4 # 1 "/usr/include/bits/math-vector.h" 1 3 4 # 27 "/usr/include/bits/math-vector.h" 3 4 # 1 "/usr/include/bits/libm-simd-decl-stubs.h" 1 3 4 # 34 "/usr/include/bits/libm-simd-decl-stubs.h" 3 4 #define _BITS_LIBM_SIMD_DECL_STUBS_H 1 #define __DECL_SIMD_cos #define __DECL_SIMD_cosf #define __DECL_SIMD_cosl #define __DECL_SIMD_cosf16 #define __DECL_SIMD_cosf32 #define __DECL_SIMD_cosf64 #define __DECL_SIMD_cosf128 #define __DECL_SIMD_cosf32x #define __DECL_SIMD_cosf64x #define __DECL_SIMD_cosf128x #define __DECL_SIMD_sin #define __DECL_SIMD_sinf #define __DECL_SIMD_sinl #define __DECL_SIMD_sinf16 #define __DECL_SIMD_sinf32 #define __DECL_SIMD_sinf64 #define __DECL_SIMD_sinf128 #define __DECL_SIMD_sinf32x #define __DECL_SIMD_sinf64x #define __DECL_SIMD_sinf128x #define __DECL_SIMD_sincos #define __DECL_SIMD_sincosf #define __DECL_SIMD_sincosl #define __DECL_SIMD_sincosf16 #define __DECL_SIMD_sincosf32 #define __DECL_SIMD_sincosf64 #define __DECL_SIMD_sincosf128 #define __DECL_SIMD_sincosf32x #define __DECL_SIMD_sincosf64x #define __DECL_SIMD_sincosf128x #define __DECL_SIMD_log #define __DECL_SIMD_logf #define __DECL_SIMD_logl #define __DECL_SIMD_logf16 #define __DECL_SIMD_logf32 #define __DECL_SIMD_logf64 #define __DECL_SIMD_logf128 #define __DECL_SIMD_logf32x #define __DECL_SIMD_logf64x #define __DECL_SIMD_logf128x #define __DECL_SIMD_exp #define __DECL_SIMD_expf #define __DECL_SIMD_expl #define __DECL_SIMD_expf16 #define __DECL_SIMD_expf32 #define __DECL_SIMD_expf64 #define __DECL_SIMD_expf128 #define __DECL_SIMD_expf32x #define __DECL_SIMD_expf64x #define __DECL_SIMD_expf128x #define __DECL_SIMD_pow #define __DECL_SIMD_powf #define __DECL_SIMD_powl #define __DECL_SIMD_powf16 #define __DECL_SIMD_powf32 #define __DECL_SIMD_powf64 #define __DECL_SIMD_powf128 #define __DECL_SIMD_powf32x #define __DECL_SIMD_powf64x #define __DECL_SIMD_powf128x #define __DECL_SIMD_acos #define __DECL_SIMD_acosf #define __DECL_SIMD_acosl #define __DECL_SIMD_acosf16 #define __DECL_SIMD_acosf32 #define __DECL_SIMD_acosf64 #define __DECL_SIMD_acosf128 #define __DECL_SIMD_acosf32x #define __DECL_SIMD_acosf64x #define __DECL_SIMD_acosf128x #define __DECL_SIMD_atan #define __DECL_SIMD_atanf #define __DECL_SIMD_atanl #define __DECL_SIMD_atanf16 #define __DECL_SIMD_atanf32 #define __DECL_SIMD_atanf64 #define __DECL_SIMD_atanf128 #define __DECL_SIMD_atanf32x #define __DECL_SIMD_atanf64x #define __DECL_SIMD_atanf128x #define __DECL_SIMD_asin #define __DECL_SIMD_asinf #define __DECL_SIMD_asinl #define __DECL_SIMD_asinf16 #define __DECL_SIMD_asinf32 #define __DECL_SIMD_asinf64 #define __DECL_SIMD_asinf128 #define __DECL_SIMD_asinf32x #define __DECL_SIMD_asinf64x #define __DECL_SIMD_asinf128x #define __DECL_SIMD_hypot #define __DECL_SIMD_hypotf #define __DECL_SIMD_hypotl #define __DECL_SIMD_hypotf16 #define __DECL_SIMD_hypotf32 #define __DECL_SIMD_hypotf64 #define __DECL_SIMD_hypotf128 #define __DECL_SIMD_hypotf32x #define __DECL_SIMD_hypotf64x #define __DECL_SIMD_hypotf128x #define __DECL_SIMD_exp2 #define __DECL_SIMD_exp2f #define __DECL_SIMD_exp2l #define __DECL_SIMD_exp2f16 #define __DECL_SIMD_exp2f32 #define __DECL_SIMD_exp2f64 #define __DECL_SIMD_exp2f128 #define __DECL_SIMD_exp2f32x #define __DECL_SIMD_exp2f64x #define __DECL_SIMD_exp2f128x #define __DECL_SIMD_exp10 #define __DECL_SIMD_exp10f #define __DECL_SIMD_exp10l #define __DECL_SIMD_exp10f16 #define __DECL_SIMD_exp10f32 #define __DECL_SIMD_exp10f64 #define __DECL_SIMD_exp10f128 #define __DECL_SIMD_exp10f32x #define __DECL_SIMD_exp10f64x #define __DECL_SIMD_exp10f128x #define __DECL_SIMD_cosh #define __DECL_SIMD_coshf #define __DECL_SIMD_coshl #define __DECL_SIMD_coshf16 #define __DECL_SIMD_coshf32 #define __DECL_SIMD_coshf64 #define __DECL_SIMD_coshf128 #define __DECL_SIMD_coshf32x #define __DECL_SIMD_coshf64x #define __DECL_SIMD_coshf128x #define __DECL_SIMD_expm1 #define __DECL_SIMD_expm1f #define __DECL_SIMD_expm1l #define __DECL_SIMD_expm1f16 #define __DECL_SIMD_expm1f32 #define __DECL_SIMD_expm1f64 #define __DECL_SIMD_expm1f128 #define __DECL_SIMD_expm1f32x #define __DECL_SIMD_expm1f64x #define __DECL_SIMD_expm1f128x #define __DECL_SIMD_sinh #define __DECL_SIMD_sinhf #define __DECL_SIMD_sinhl #define __DECL_SIMD_sinhf16 #define __DECL_SIMD_sinhf32 #define __DECL_SIMD_sinhf64 #define __DECL_SIMD_sinhf128 #define __DECL_SIMD_sinhf32x #define __DECL_SIMD_sinhf64x #define __DECL_SIMD_sinhf128x #define __DECL_SIMD_cbrt #define __DECL_SIMD_cbrtf #define __DECL_SIMD_cbrtl #define __DECL_SIMD_cbrtf16 #define __DECL_SIMD_cbrtf32 #define __DECL_SIMD_cbrtf64 #define __DECL_SIMD_cbrtf128 #define __DECL_SIMD_cbrtf32x #define __DECL_SIMD_cbrtf64x #define __DECL_SIMD_cbrtf128x #define __DECL_SIMD_atan2 #define __DECL_SIMD_atan2f #define __DECL_SIMD_atan2l #define __DECL_SIMD_atan2f16 #define __DECL_SIMD_atan2f32 #define __DECL_SIMD_atan2f64 #define __DECL_SIMD_atan2f128 #define __DECL_SIMD_atan2f32x #define __DECL_SIMD_atan2f64x #define __DECL_SIMD_atan2f128x #define __DECL_SIMD_log10 #define __DECL_SIMD_log10f #define __DECL_SIMD_log10l #define __DECL_SIMD_log10f16 #define __DECL_SIMD_log10f32 #define __DECL_SIMD_log10f64 #define __DECL_SIMD_log10f128 #define __DECL_SIMD_log10f32x #define __DECL_SIMD_log10f64x #define __DECL_SIMD_log10f128x #define __DECL_SIMD_log2 #define __DECL_SIMD_log2f #define __DECL_SIMD_log2l #define __DECL_SIMD_log2f16 #define __DECL_SIMD_log2f32 #define __DECL_SIMD_log2f64 #define __DECL_SIMD_log2f128 #define __DECL_SIMD_log2f32x #define __DECL_SIMD_log2f64x #define __DECL_SIMD_log2f128x #define __DECL_SIMD_log1p #define __DECL_SIMD_log1pf #define __DECL_SIMD_log1pl #define __DECL_SIMD_log1pf16 #define __DECL_SIMD_log1pf32 #define __DECL_SIMD_log1pf64 #define __DECL_SIMD_log1pf128 #define __DECL_SIMD_log1pf32x #define __DECL_SIMD_log1pf64x #define __DECL_SIMD_log1pf128x #define __DECL_SIMD_atanh #define __DECL_SIMD_atanhf #define __DECL_SIMD_atanhl #define __DECL_SIMD_atanhf16 #define __DECL_SIMD_atanhf32 #define __DECL_SIMD_atanhf64 #define __DECL_SIMD_atanhf128 #define __DECL_SIMD_atanhf32x #define __DECL_SIMD_atanhf64x #define __DECL_SIMD_atanhf128x #define __DECL_SIMD_acosh #define __DECL_SIMD_acoshf #define __DECL_SIMD_acoshl #define __DECL_SIMD_acoshf16 #define __DECL_SIMD_acoshf32 #define __DECL_SIMD_acoshf64 #define __DECL_SIMD_acoshf128 #define __DECL_SIMD_acoshf32x #define __DECL_SIMD_acoshf64x #define __DECL_SIMD_acoshf128x #define __DECL_SIMD_erf #define __DECL_SIMD_erff #define __DECL_SIMD_erfl #define __DECL_SIMD_erff16 #define __DECL_SIMD_erff32 #define __DECL_SIMD_erff64 #define __DECL_SIMD_erff128 #define __DECL_SIMD_erff32x #define __DECL_SIMD_erff64x #define __DECL_SIMD_erff128x #define __DECL_SIMD_tanh #define __DECL_SIMD_tanhf #define __DECL_SIMD_tanhl #define __DECL_SIMD_tanhf16 #define __DECL_SIMD_tanhf32 #define __DECL_SIMD_tanhf64 #define __DECL_SIMD_tanhf128 #define __DECL_SIMD_tanhf32x #define __DECL_SIMD_tanhf64x #define __DECL_SIMD_tanhf128x #define __DECL_SIMD_asinh #define __DECL_SIMD_asinhf #define __DECL_SIMD_asinhl #define __DECL_SIMD_asinhf16 #define __DECL_SIMD_asinhf32 #define __DECL_SIMD_asinhf64 #define __DECL_SIMD_asinhf128 #define __DECL_SIMD_asinhf32x #define __DECL_SIMD_asinhf64x #define __DECL_SIMD_asinhf128x #define __DECL_SIMD_erfc #define __DECL_SIMD_erfcf #define __DECL_SIMD_erfcl #define __DECL_SIMD_erfcf16 #define __DECL_SIMD_erfcf32 #define __DECL_SIMD_erfcf64 #define __DECL_SIMD_erfcf128 #define __DECL_SIMD_erfcf32x #define __DECL_SIMD_erfcf64x #define __DECL_SIMD_erfcf128x #define __DECL_SIMD_tan #define __DECL_SIMD_tanf #define __DECL_SIMD_tanl #define __DECL_SIMD_tanf16 #define __DECL_SIMD_tanf32 #define __DECL_SIMD_tanf64 #define __DECL_SIMD_tanf128 #define __DECL_SIMD_tanf32x #define __DECL_SIMD_tanf64x #define __DECL_SIMD_tanf128x # 28 "/usr/include/bits/math-vector.h" 2 3 4 # 41 "/usr/include/math.h" 2 3 4 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn.h" 1 3 4 # 29 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn.h" 3 4 #define _BITS_FLOATN_H # 1 "/usr/include/bits/long-double.h" 1 3 4 # 21 "/usr/include/bits/long-double.h" 3 4 #define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 # 33 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn.h" 2 3 4 #define __HAVE_FLOAT128 1 # 49 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn.h" 3 4 #define __HAVE_DISTINCT_FLOAT128 0 #define __HAVE_FLOAT64X __HAVE_FLOAT128 #define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 # 71 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn.h" 3 4 #define __f128(x) x ##f128 # 80 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn.h" 3 4 #define __CFLOAT128 _Complex _Float128 # 104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn.h" 3 4 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn-common.h" 1 3 4 # 30 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn-common.h" 3 4 #define _BITS_FLOATN_COMMON_H # 1 "/usr/include/bits/long-double.h" 1 3 4 # 21 "/usr/include/bits/long-double.h" 3 4 #define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn-common.h" 2 3 4 # 43 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn-common.h" 3 4 #define __HAVE_FLOAT16 0 #define __HAVE_FLOAT32 1 #define __HAVE_FLOAT64 1 #define __HAVE_FLOAT32X 1 #define __HAVE_FLOAT128X 0 # 61 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn-common.h" 3 4 #define __HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16 #define __HAVE_DISTINCT_FLOAT32 0 #define __HAVE_DISTINCT_FLOAT64 0 #define __HAVE_DISTINCT_FLOAT32X 0 #define __HAVE_DISTINCT_FLOAT64X 0 #define __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X #define __HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 && __LDBL_MANT_DIG__ != 113) # 81 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn-common.h" 3 4 #define __HAVE_FLOATN_NOT_TYPEDEF 0 # 102 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn-common.h" 3 4 #define __f32(x) x ##f32 # 114 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn-common.h" 3 4 #define __f64(x) x ##f64 #define __f32x(x) x ##f32x # 134 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn-common.h" 3 4 #define __f64x(x) x ##f64x # 160 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn-common.h" 3 4 #define __CFLOAT32 _Complex _Float32 # 172 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn-common.h" 3 4 #define __CFLOAT64 _Complex _Float64 #define __CFLOAT32X _Complex _Float32x # 192 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn-common.h" 3 4 #define __CFLOAT64X _Complex _Float64x # 105 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/bits/floatn.h" 2 3 4 # 44 "/usr/include/math.h" 2 3 4 #define HUGE_VAL (__builtin_huge_val ()) # 59 "/usr/include/math.h" 3 4 #define HUGE_VALF (__builtin_huge_valf ()) #define HUGE_VALL (__builtin_huge_vall ()) # 70 "/usr/include/math.h" 3 4 #define HUGE_VAL_F32 (__builtin_huge_valf32 ()) #define HUGE_VAL_F64 (__builtin_huge_valf64 ()) #define HUGE_VAL_F128 (__builtin_huge_valf128 ()) #define HUGE_VAL_F32X (__builtin_huge_valf32x ()) #define HUGE_VAL_F64X (__builtin_huge_valf64x ()) # 91 "/usr/include/math.h" 3 4 #define INFINITY (__builtin_inff ()) #define NAN (__builtin_nanf ("")) # 110 "/usr/include/math.h" 3 4 #define SNANF (__builtin_nansf ("")) #define SNAN (__builtin_nans ("")) #define SNANL (__builtin_nansl ("")) # 123 "/usr/include/math.h" 3 4 #define SNANF32 (__builtin_nansf32 ("")) #define SNANF64 (__builtin_nansf64 ("")) #define SNANF128 (__builtin_nansf128 ("")) #define SNANF32X (__builtin_nansf32x ("")) #define SNANF64X (__builtin_nansf64x ("")) # 152 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/flt-eval-method.h" 1 3 4 # 38 "/usr/include/bits/flt-eval-method.h" 3 4 #define __GLIBC_FLT_EVAL_METHOD __FLT_EVAL_METHOD__ # 153 "/usr/include/math.h" 2 3 4 # 163 "/usr/include/math.h" 3 4 typedef float float_t; typedef double double_t; # 204 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/fp-logb.h" 1 3 4 # 27 "/usr/include/bits/fp-logb.h" 3 4 #define __FP_LOGB0_IS_MIN 0 #define __FP_LOGBNAN_IS_MIN 0 # 205 "/usr/include/math.h" 2 3 4 #define FP_ILOGB0 (-2147483647) #define FP_ILOGBNAN 2147483647 #define __FP_LONG_MAX 0x7fffffffffffffffL #define FP_LLOGB0 (-__FP_LONG_MAX) #define FP_LLOGBNAN __FP_LONG_MAX # 247 "/usr/include/math.h" 3 4 # 1 "/usr/include/bits/fp-fast.h" 1 3 4 # 28 "/usr/include/bits/fp-fast.h" 3 4 #define FP_FAST_FMA 1 #define FP_FAST_FMAF 1 # 248 "/usr/include/math.h" 2 3 4 enum { FP_INT_UPWARD = #define FP_INT_UPWARD 0 0, FP_INT_DOWNWARD = #define FP_INT_DOWNWARD 1 1, FP_INT_TOWARDZERO = #define FP_INT_TOWARDZERO 2 2, FP_INT_TONEARESTFROMZERO = #define FP_INT_TONEARESTFROMZERO 3 3, FP_INT_TONEAREST = #define FP_INT_TONEAREST 4 4, }; #define __SIMD_DECL(function) __CONCAT (__DECL_SIMD_, function) #define __MATHCALL_VEC(function,suffix,args) __SIMD_DECL (__MATH_PRECNAME (function, suffix)) __MATHCALL (function, suffix, args) #define __MATHDECL_VEC(type,function,suffix,args) __SIMD_DECL (__MATH_PRECNAME (function, suffix)) __MATHDECL(type, function,suffix, args) #define __MATHCALL(function,suffix,args) __MATHDECL (_Mdouble_,function,suffix, args) #define __MATHDECL(type,function,suffix,args) __MATHDECL_1(type, function,suffix, args); __MATHDECL_1(type, __CONCAT(__,function),suffix, args) #define __MATHCALLX(function,suffix,args,attrib) __MATHDECLX (_Mdouble_,function,suffix, args, attrib) #define __MATHDECLX(type,function,suffix,args,attrib) __MATHDECL_1(type, function,suffix, args) __attribute__ (attrib); __MATHDECL_1(type, __CONCAT(__,function),suffix, args) __attribute__ (attrib) #define __MATHDECL_1_IMPL(type,function,suffix,args) extern type __MATH_PRECNAME(function,suffix) args __THROW #define __MATHDECL_1(type,function,suffix,args) __MATHDECL_1_IMPL(type, function, suffix, args) #define __MATHDECL_ALIAS(type,function,suffix,args,alias) __MATHDECL_1(type, function, suffix, args) #define __MATHREDIR(type,function,suffix,args,to) extern type __REDIRECT_NTH (__MATH_PRECNAME (function, suffix), args, to) #define _Mdouble_ double #define __MATH_PRECNAME(name,r) __CONCAT(name,r) #define __MATH_DECLARING_DOUBLE 1 #define __MATH_DECLARING_FLOATN 0 # 1 "/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 20 "/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__)); # 313 "/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 (); # 177 "/usr/include/bits/mathcalls.h" 3 4 extern int isinf (double __value) throw () __attribute__ ((__const__)); extern int finite (double __value) throw () __attribute__ ((__const__)); extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw (); extern double significand (double __x) throw (); extern double __significand (double __x) throw (); extern double copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double __copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double nan (const char *__tagb) throw (); extern double __nan (const char *__tagb) throw (); # 213 "/usr/include/bits/mathcalls.h" 3 4 extern int isnan (double __value) throw () __attribute__ ((__const__)); extern double j0 (double) throw (); extern double __j0 (double) throw (); extern double j1 (double) throw (); extern double __j1 (double) throw (); extern double jn (int, double) throw (); extern double __jn (int, double) throw (); extern double y0 (double) throw (); extern double __y0 (double) throw (); extern double y1 (double) throw (); extern double __y1 (double) throw (); extern double yn (int, double) throw (); extern double __yn (int, double) throw (); extern double erf (double) throw (); extern double __erf (double) throw (); extern double erfc (double) throw (); extern double __erfc (double) throw (); extern double lgamma (double) throw (); extern double __lgamma (double) throw (); extern double tgamma (double) throw (); extern double __tgamma (double) throw (); extern double gamma (double) throw (); extern double __gamma (double) throw (); extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw (); extern double rint (double __x) throw (); extern double __rint (double __x) throw (); extern double nextafter (double __x, double __y) throw (); 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 int canonicalize (double *__cx, const double *__x) 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 double fmaximum (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmaximum (double __x, double __y) throw () __attribute__ ((__const__)); extern double fminimum (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fminimum (double __x, double __y) throw () __attribute__ ((__const__)); extern double fmaximum_num (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmaximum_num (double __x, double __y) throw () __attribute__ ((__const__)); extern double fminimum_num (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fminimum_num (double __x, double __y) throw () __attribute__ ((__const__)); extern double fmaximum_mag (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmaximum_mag (double __x, double __y) throw () __attribute__ ((__const__)); extern double fminimum_mag (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fminimum_mag (double __x, double __y) throw () __attribute__ ((__const__)); extern double fmaximum_mag_num (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmaximum_mag_num (double __x, double __y) throw () __attribute__ ((__const__)); extern double fminimum_mag_num (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fminimum_mag_num (double __x, double __y) throw () __attribute__ ((__const__)); 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 (); # 314 "/usr/include/math.h" 2 3 4 #undef _Mdouble_ #undef __MATH_PRECNAME #undef __MATH_DECLARING_DOUBLE #undef __MATH_DECLARING_FLOATN #define _Mdouble_ float #define __MATH_PRECNAME(name,r) name ##f ##r #define __MATH_DECLARING_DOUBLE 0 #define __MATH_DECLARING_FLOATN 0 # 1 "/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 20 "/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__)); # 330 "/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 (); # 213 "/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 int canonicalizef (float *__cx, const float *__x) 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 float fmaximumf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaximumf (float __x, float __y) throw () __attribute__ ((__const__)); extern float fminimumf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminimumf (float __x, float __y) throw () __attribute__ ((__const__)); extern float fmaximum_numf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaximum_numf (float __x, float __y) throw () __attribute__ ((__const__)); extern float fminimum_numf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminimum_numf (float __x, float __y) throw () __attribute__ ((__const__)); extern float fmaximum_magf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaximum_magf (float __x, float __y) throw () __attribute__ ((__const__)); extern float fminimum_magf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminimum_magf (float __x, float __y) throw () __attribute__ ((__const__)); extern float fmaximum_mag_numf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaximum_mag_numf (float __x, float __y) throw () __attribute__ ((__const__)); extern float fminimum_mag_numf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminimum_mag_numf (float __x, float __y) throw () __attribute__ ((__const__)); 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 (); # 331 "/usr/include/math.h" 2 3 4 #undef _Mdouble_ #undef __MATH_PRECNAME #undef __MATH_DECLARING_DOUBLE #undef __MATH_DECLARING_FLOATN # 393 "/usr/include/math.h" 3 4 #define _Mdouble_ long double #define __MATH_PRECNAME(name,r) name ##l ##r #define __MATH_DECLARING_DOUBLE 0 #define __MATH_DECLARING_FLOATN 0 #define __MATH_DECLARE_LDOUBLE 1 # 1 "/usr/include/bits/mathcalls-helper-functions.h" 1 3 4 # 20 "/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__)); # 399 "/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 (); # 213 "/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 int canonicalizel (long double *__cx, const long double *__x) 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 long double fmaximuml (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaximuml (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double fminimuml (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminimuml (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double fmaximum_numl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaximum_numl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double fminimum_numl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminimum_numl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double fmaximum_magl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaximum_magl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double fminimum_magl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminimum_magl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double fmaximum_mag_numl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaximum_mag_numl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double fminimum_mag_numl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminimum_mag_numl (long double __x, long double __y) throw () __attribute__ ((__const__)); 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 (); # 400 "/usr/include/math.h" 2 3 4 #undef _Mdouble_ #undef __MATH_PRECNAME #undef __MATH_DECLARING_DOUBLE #undef __MATH_DECLARING_FLOATN # 442 "/usr/include/math.h" 3 4 #define _Mdouble_ _Float32 #define __MATH_PRECNAME(name,r) name ##f32 ##r #define __MATH_DECLARING_DOUBLE 0 #define __MATH_DECLARING_FLOATN 1 # 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 (); # 198 "/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 (); # 220 "/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 (); # 252 "/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 int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) 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 _Float32 fmaximumf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fmaximumf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 fminimumf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fminimumf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 fmaximum_numf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fmaximum_numf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 fminimum_numf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fminimum_numf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 fmaximum_magf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fmaximum_magf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 fminimum_magf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fminimum_magf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fmaximum_mag_numf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 fminimum_mag_numf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fminimum_mag_numf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); 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 (); # 451 "/usr/include/math.h" 2 3 4 #undef _Mdouble_ #undef __MATH_PRECNAME #undef __MATH_DECLARING_DOUBLE #undef __MATH_DECLARING_FLOATN #define _Mdouble_ _Float64 #define __MATH_PRECNAME(name,r) name ##f64 ##r #define __MATH_DECLARING_DOUBLE 0 #define __MATH_DECLARING_FLOATN 1 # 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 (); # 198 "/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 (); # 220 "/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 (); # 252 "/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 int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) 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 _Float64 fmaximumf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fmaximumf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 fminimumf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fminimumf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 fmaximum_numf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fmaximum_numf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 fminimum_numf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fminimum_numf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 fmaximum_magf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fmaximum_magf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 fminimum_magf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fminimum_magf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fmaximum_mag_numf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 fminimum_mag_numf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fminimum_mag_numf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); 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 (); # 468 "/usr/include/math.h" 2 3 4 #undef _Mdouble_ #undef __MATH_PRECNAME #undef __MATH_DECLARING_DOUBLE #undef __MATH_DECLARING_FLOATN #define _Mdouble_ _Float128 #define __MATH_PRECNAME(name,r) name ##f128 ##r #define __MATH_DECLARING_DOUBLE 0 #define __MATH_DECLARING_FLOATN 1 # 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 (); # 198 "/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 (); # 220 "/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 (); # 252 "/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 int canonicalizef128 (_Float128 *__cx, const _Float128 *__x) 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 _Float128 fmaximumf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fmaximumf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 fminimumf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fminimumf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 fmaximum_numf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fmaximum_numf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 fminimum_numf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fminimum_numf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 fmaximum_magf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fmaximum_magf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 fminimum_magf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fminimum_magf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 fmaximum_mag_numf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fmaximum_mag_numf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 fminimum_mag_numf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fminimum_mag_numf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); 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 (); # 485 "/usr/include/math.h" 2 3 4 #undef _Mdouble_ #undef __MATH_PRECNAME #undef __MATH_DECLARING_DOUBLE #undef __MATH_DECLARING_FLOATN #define _Mdouble_ _Float32x #define __MATH_PRECNAME(name,r) name ##f32x ##r #define __MATH_DECLARING_DOUBLE 0 #define __MATH_DECLARING_FLOATN 1 # 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 (); # 198 "/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 (); # 220 "/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 (); # 252 "/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 int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) 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 _Float32x fmaximumf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fmaximumf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x fminimumf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fminimumf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x fmaximum_numf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fmaximum_numf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x fminimum_numf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fminimum_numf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x fmaximum_magf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fmaximum_magf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x fminimum_magf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fminimum_magf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fmaximum_mag_numf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x fminimum_mag_numf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fminimum_mag_numf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); 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 (); # 502 "/usr/include/math.h" 2 3 4 #undef _Mdouble_ #undef __MATH_PRECNAME #undef __MATH_DECLARING_DOUBLE #undef __MATH_DECLARING_FLOATN #define _Mdouble_ _Float64x #define __MATH_PRECNAME(name,r) name ##f64x ##r #define __MATH_DECLARING_DOUBLE 0 #define __MATH_DECLARING_FLOATN 1 # 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 (); # 198 "/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 (); # 220 "/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 (); # 252 "/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 int canonicalizef64x (_Float64x *__cx, const _Float64x *__x) 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 _Float64x fmaximumf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fmaximumf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x fminimumf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fminimumf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x fmaximum_numf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fmaximum_numf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x fminimum_numf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fminimum_numf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x fmaximum_magf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fmaximum_magf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x fminimum_magf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fminimum_magf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x fmaximum_mag_numf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fmaximum_mag_numf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x fminimum_mag_numf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fminimum_mag_numf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); 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 (); # 519 "/usr/include/math.h" 2 3 4 #undef _Mdouble_ #undef __MATH_PRECNAME #undef __MATH_DECLARING_DOUBLE #undef __MATH_DECLARING_FLOATN # 543 "/usr/include/math.h" 3 4 #undef __MATHDECL_1_IMPL #undef __MATHDECL_1 #undef __MATHDECL_ALIAS #undef __MATHDECL #undef __MATHCALL #define __MATHCALL_NARROW_ARGS_1 (_Marg_ __x) #define __MATHCALL_NARROW_ARGS_2 (_Marg_ __x, _Marg_ __y) #define __MATHCALL_NARROW_ARGS_3 (_Marg_ __x, _Marg_ __y, _Marg_ __z) #define __MATHCALL_NARROW_NORMAL(func,nargs) extern _Mret_ func __MATHCALL_NARROW_ARGS_ ## nargs __THROW #define __MATHCALL_NARROW_REDIR(func,redir,nargs) extern _Mret_ __REDIRECT_NTH (func, __MATHCALL_NARROW_ARGS_ ## nargs, redir) #define __MATHCALL_NARROW(func,redir,nargs) __MATHCALL_NARROW_NORMAL (func, nargs) #define _Mret_ float #define _Marg_ double #define __MATHCALL_NAME(name) f ## name # 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 ffma (double __x, double __y, double __z) throw (); extern float fmul (double __x, double __y) throw (); extern float fsqrt (double __x) throw (); extern float fsub (double __x, double __y) throw (); # 567 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME #define _Mret_ float #define _Marg_ long double #define __MATHCALL_NAME(name) f ## name ## l # 587 "/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 ffmal (long double __x, long double __y, long double __z) throw (); extern float fmull (long double __x, long double __y) throw (); extern float fsqrtl (long double __x) throw (); extern float fsubl (long double __x, long double __y) throw (); # 588 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME # 600 "/usr/include/math.h" 3 4 #define _Mret_ double #define _Marg_ long double #define __MATHCALL_NAME(name) d ## name ## l # 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 double daddl (long double __x, long double __y) throw (); extern double ddivl (long double __x, long double __y) throw (); extern double dfmal (long double __x, long double __y, long double __z) throw (); extern double dmull (long double __x, long double __y) throw (); extern double dsqrtl (long double __x) throw (); extern double dsubl (long double __x, long double __y) throw (); # 617 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME # 694 "/usr/include/math.h" 3 4 #define _Mret_ _Float32 #define _Marg_ _Float32x #define __MATHCALL_NAME(name) f32 ## name ## f32x # 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 f32fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) throw (); extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32 f32sqrtf32x (_Float32x __x) throw (); extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) throw (); # 698 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME #define _Mret_ _Float32 #define _Marg_ _Float64 #define __MATHCALL_NAME(name) f32 ## name ## f64 # 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 f32fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) throw (); extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) throw (); extern _Float32 f32sqrtf64 (_Float64 __x) throw (); extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) throw (); # 708 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME #define _Mret_ _Float32 #define _Marg_ _Float64x #define __MATHCALL_NAME(name) f32 ## name ## f64x # 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 f32fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) throw (); extern _Float32 f32mulf64x (_Float64x __x, _Float64x __y) throw (); extern _Float32 f32sqrtf64x (_Float64x __x) throw (); extern _Float32 f32subf64x (_Float64x __x, _Float64x __y) throw (); # 718 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME #define _Mret_ _Float32 #define _Marg_ _Float128 #define __MATHCALL_NAME(name) f32 ## name ## f128 # 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 f32fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) throw (); extern _Float32 f32mulf128 (_Float128 __x, _Float128 __y) throw (); extern _Float32 f32sqrtf128 (_Float128 __x) throw (); extern _Float32 f32subf128 (_Float128 __x, _Float128 __y) throw (); # 728 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME # 744 "/usr/include/math.h" 3 4 #define _Mret_ _Float32x #define _Marg_ _Float64 #define __MATHCALL_NAME(name) f32x ## name ## f64 # 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 f32xfmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) throw (); extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) throw (); extern _Float32x f32xsqrtf64 (_Float64 __x) throw (); extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) throw (); # 748 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME #define _Mret_ _Float32x #define _Marg_ _Float64x #define __MATHCALL_NAME(name) f32x ## name ## f64x # 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 f32xfmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) throw (); extern _Float32x f32xmulf64x (_Float64x __x, _Float64x __y) throw (); extern _Float32x f32xsqrtf64x (_Float64x __x) throw (); extern _Float32x f32xsubf64x (_Float64x __x, _Float64x __y) throw (); # 758 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME #define _Mret_ _Float32x #define _Marg_ _Float128 #define __MATHCALL_NAME(name) f32x ## name ## f128 # 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 f32xfmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) throw (); extern _Float32x f32xmulf128 (_Float128 __x, _Float128 __y) throw (); extern _Float32x f32xsqrtf128 (_Float128 __x) throw (); extern _Float32x f32xsubf128 (_Float128 __x, _Float128 __y) throw (); # 768 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME # 784 "/usr/include/math.h" 3 4 #define _Mret_ _Float64 #define _Marg_ _Float64x #define __MATHCALL_NAME(name) f64 ## name ## f64x # 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 f64fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) throw (); extern _Float64 f64mulf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64 f64sqrtf64x (_Float64x __x) throw (); extern _Float64 f64subf64x (_Float64x __x, _Float64x __y) throw (); # 788 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME #define _Mret_ _Float64 #define _Marg_ _Float128 #define __MATHCALL_NAME(name) f64 ## name ## f128 # 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 f64fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) throw (); extern _Float64 f64mulf128 (_Float128 __x, _Float128 __y) throw (); extern _Float64 f64sqrtf128 (_Float128 __x) throw (); extern _Float64 f64subf128 (_Float128 __x, _Float128 __y) throw (); # 798 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME # 814 "/usr/include/math.h" 3 4 #define _Mret_ _Float64x #define _Marg_ _Float128 #define __MATHCALL_NAME(name) f64x ## name ## f128 # 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 f64xfmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) throw (); extern _Float64x f64xmulf128 (_Float128 __x, _Float128 __y) throw (); extern _Float64x f64xsqrtf128 (_Float128 __x) throw (); extern _Float64x f64xsubf128 (_Float128 __x, _Float128 __y) throw (); # 818 "/usr/include/math.h" 2 3 4 #undef _Mret_ #undef _Marg_ #undef __MATHCALL_NAME # 845 "/usr/include/math.h" 3 4 #undef __MATHCALL_NARROW_ARGS_1 #undef __MATHCALL_NARROW_ARGS_2 #undef __MATHCALL_NARROW_ARGS_3 #undef __MATHCALL_NARROW_NORMAL #undef __MATHCALL_NARROW_REDIR #undef __MATHCALL_NARROW extern int signgam; # 922 "/usr/include/math.h" 3 4 #define __MATH_TG(TG_ARG,FUNC,ARGS) (sizeof (TG_ARG) == sizeof (float) ? FUNC ## f ARGS : sizeof (TG_ARG) == sizeof (double) ? FUNC ARGS : FUNC ## l ARGS) # 934 "/usr/include/math.h" 3 4 enum { FP_NAN = #define FP_NAN 0 0, FP_INFINITE = #define FP_INFINITE 1 1, FP_ZERO = #define FP_ZERO 2 2, FP_SUBNORMAL = #define FP_SUBNORMAL 3 3, FP_NORMAL = #define FP_NORMAL 4 4 }; # 967 "/usr/include/math.h" 3 4 #define fpclassify(x) __builtin_fpclassify (FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, x) #define signbit(x) __builtin_signbit (x) # 994 "/usr/include/math.h" 3 4 #define isfinite(x) __builtin_isfinite (x) #define isnormal(x) __builtin_isnormal (x) # 1011 "/usr/include/math.h" 3 4 #define isnan(x) __builtin_isnan (x) # 1029 "/usr/include/math.h" 3 4 #define isinf(x) __builtin_isinf_sign (x) #define MATH_ERRNO 1 #define MATH_ERREXCEPT 2 # 1048 "/usr/include/math.h" 3 4 #define math_errhandling (MATH_ERRNO | MATH_ERREXCEPT) # 1 "/usr/include/bits/iscanonical.h" 1 3 4 # 28 "/usr/include/bits/iscanonical.h" 3 4 #define iscanonical(x) ((void) (__typeof (x)) (x), 1) # 1055 "/usr/include/math.h" 2 3 4 # 1066 "/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); } } #define issubnormal(x) (fpclassify (x) == FP_SUBNORMAL) # 1097 "/usr/include/math.h" 3 4 extern "C++" { # 1128 "/usr/include/math.h" 3 4 template inline bool iszero (__T __val) { return __val == 0; } } #define MAXFLOAT 3.40282347e+38F #define M_E 2.7182818284590452354 #define M_LOG2E 1.4426950408889634074 #define M_LOG10E 0.43429448190325182765 #define M_LN2 0.69314718055994530942 #define M_LN10 2.30258509299404568402 #define M_PI 3.14159265358979323846 #define M_PI_2 1.57079632679489661923 #define M_PI_4 0.78539816339744830962 #define M_1_PI 0.31830988618379067154 #define M_2_PI 0.63661977236758134308 #define M_2_SQRTPI 1.12837916709551257390 #define M_SQRT2 1.41421356237309504880 #define M_SQRT1_2 0.70710678118654752440 #define M_Ef 2.7182818284590452354f #define M_LOG2Ef 1.4426950408889634074f #define M_LOG10Ef 0.43429448190325182765f #define M_LN2f 0.69314718055994530942f #define M_LN10f 2.30258509299404568402f #define M_PIf 3.14159265358979323846f #define M_PI_2f 1.57079632679489661923f #define M_PI_4f 0.78539816339744830962f #define M_1_PIf 0.31830988618379067154f #define M_2_PIf 0.63661977236758134308f #define M_2_SQRTPIf 1.12837916709551257390f #define M_SQRT2f 1.41421356237309504880f #define M_SQRT1_2f 0.70710678118654752440f #define M_El 2.718281828459045235360287471352662498L #define M_LOG2El 1.442695040888963407359924681001892137L #define M_LOG10El 0.434294481903251827651128918916605082L #define M_LN2l 0.693147180559945309417232121458176568L #define M_LN10l 2.302585092994045684017991454684364208L #define M_PIl 3.141592653589793238462643383279502884L #define M_PI_2l 1.570796326794896619231321691639751442L #define M_PI_4l 0.785398163397448309615660845819875721L #define M_1_PIl 0.318309886183790671537767526745028724L #define M_2_PIl 0.636619772367581343075535053490057448L #define M_2_SQRTPIl 1.128379167095512573896158903121545172L #define M_SQRT2l 1.414213562373095048801688724209698079L #define M_SQRT1_2l 0.707106781186547524400844362104849039L # 1214 "/usr/include/math.h" 3 4 #define M_Ef32 __f32 (2.718281828459045235360287471352662498) #define M_LOG2Ef32 __f32 (1.442695040888963407359924681001892137) #define M_LOG10Ef32 __f32 (0.434294481903251827651128918916605082) #define M_LN2f32 __f32 (0.693147180559945309417232121458176568) #define M_LN10f32 __f32 (2.302585092994045684017991454684364208) #define M_PIf32 __f32 (3.141592653589793238462643383279502884) #define M_PI_2f32 __f32 (1.570796326794896619231321691639751442) #define M_PI_4f32 __f32 (0.785398163397448309615660845819875721) #define M_1_PIf32 __f32 (0.318309886183790671537767526745028724) #define M_2_PIf32 __f32 (0.636619772367581343075535053490057448) #define M_2_SQRTPIf32 __f32 (1.128379167095512573896158903121545172) #define M_SQRT2f32 __f32 (1.414213562373095048801688724209698079) #define M_SQRT1_2f32 __f32 (0.707106781186547524400844362104849039) #define M_Ef64 __f64 (2.718281828459045235360287471352662498) #define M_LOG2Ef64 __f64 (1.442695040888963407359924681001892137) #define M_LOG10Ef64 __f64 (0.434294481903251827651128918916605082) #define M_LN2f64 __f64 (0.693147180559945309417232121458176568) #define M_LN10f64 __f64 (2.302585092994045684017991454684364208) #define M_PIf64 __f64 (3.141592653589793238462643383279502884) #define M_PI_2f64 __f64 (1.570796326794896619231321691639751442) #define M_PI_4f64 __f64 (0.785398163397448309615660845819875721) #define M_1_PIf64 __f64 (0.318309886183790671537767526745028724) #define M_2_PIf64 __f64 (0.636619772367581343075535053490057448) #define M_2_SQRTPIf64 __f64 (1.128379167095512573896158903121545172) #define M_SQRT2f64 __f64 (1.414213562373095048801688724209698079) #define M_SQRT1_2f64 __f64 (0.707106781186547524400844362104849039) #define M_Ef128 __f128 (2.718281828459045235360287471352662498) #define M_LOG2Ef128 __f128 (1.442695040888963407359924681001892137) #define M_LOG10Ef128 __f128 (0.434294481903251827651128918916605082) #define M_LN2f128 __f128 (0.693147180559945309417232121458176568) #define M_LN10f128 __f128 (2.302585092994045684017991454684364208) #define M_PIf128 __f128 (3.141592653589793238462643383279502884) #define M_PI_2f128 __f128 (1.570796326794896619231321691639751442) #define M_PI_4f128 __f128 (0.785398163397448309615660845819875721) #define M_1_PIf128 __f128 (0.318309886183790671537767526745028724) #define M_2_PIf128 __f128 (0.636619772367581343075535053490057448) #define M_2_SQRTPIf128 __f128 (1.128379167095512573896158903121545172) #define M_SQRT2f128 __f128 (1.414213562373095048801688724209698079) #define M_SQRT1_2f128 __f128 (0.707106781186547524400844362104849039) #define M_Ef32x __f32x (2.718281828459045235360287471352662498) #define M_LOG2Ef32x __f32x (1.442695040888963407359924681001892137) #define M_LOG10Ef32x __f32x (0.434294481903251827651128918916605082) #define M_LN2f32x __f32x (0.693147180559945309417232121458176568) #define M_LN10f32x __f32x (2.302585092994045684017991454684364208) #define M_PIf32x __f32x (3.141592653589793238462643383279502884) #define M_PI_2f32x __f32x (1.570796326794896619231321691639751442) #define M_PI_4f32x __f32x (0.785398163397448309615660845819875721) #define M_1_PIf32x __f32x (0.318309886183790671537767526745028724) #define M_2_PIf32x __f32x (0.636619772367581343075535053490057448) #define M_2_SQRTPIf32x __f32x (1.128379167095512573896158903121545172) #define M_SQRT2f32x __f32x (1.414213562373095048801688724209698079) #define M_SQRT1_2f32x __f32x (0.707106781186547524400844362104849039) #define M_Ef64x __f64x (2.718281828459045235360287471352662498) #define M_LOG2Ef64x __f64x (1.442695040888963407359924681001892137) #define M_LOG10Ef64x __f64x (0.434294481903251827651128918916605082) #define M_LN2f64x __f64x (0.693147180559945309417232121458176568) #define M_LN10f64x __f64x (2.302585092994045684017991454684364208) #define M_PIf64x __f64x (3.141592653589793238462643383279502884) #define M_PI_2f64x __f64x (1.570796326794896619231321691639751442) #define M_PI_4f64x __f64x (0.785398163397448309615660845819875721) #define M_1_PIf64x __f64x (0.318309886183790671537767526745028724) #define M_2_PIf64x __f64x (0.636619772367581343075535053490057448) #define M_2_SQRTPIf64x __f64x (1.128379167095512573896158903121545172) #define M_SQRT2f64x __f64x (1.414213562373095048801688724209698079) #define M_SQRT1_2f64x __f64x (0.707106781186547524400844362104849039) # 1305 "/usr/include/math.h" 3 4 #define isgreater(x,y) __builtin_isgreater(x, y) #define isgreaterequal(x,y) __builtin_isgreaterequal(x, y) #define isless(x,y) __builtin_isless(x, y) #define islessequal(x,y) __builtin_islessequal(x, y) #define islessgreater(x,y) __builtin_islessgreater(x, y) #define isunordered(x,y) __builtin_isunordered(x, y) # 1342 "/usr/include/math.h" 3 4 #define __MATH_EVAL_FMT2(x,y) ((x) + (y) + 0.0f) # 1363 "/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); } }; # 1406 "/usr/include/math.h" 3 4 template inline int iseqsig (_T1 __x, _T2 __y) throw () { typedef __typeof (((__x) + (__y) + 0.0f)) _T3; return __iseqsig_type<_T3>::__call (__x, __y); } } } # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cmath" 2 3 #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/std_abs.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/std_abs.h" 3 #define _GLIBCXX_BITS_STD_ABS_H # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/std_abs.h" 3 #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS # 1 "/usr/include/stdlib.h" 1 3 4 # 25 "/usr/include/stdlib.h" 3 4 #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 31 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION #undef __GLIBC_USE_LIB_EXT2 #define __GLIBC_USE_LIB_EXT2 1 # 67 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_BFP_EXT #define __GLIBC_USE_IEC_60559_BFP_EXT 1 #undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X #define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_EXT #define __GLIBC_USE_IEC_60559_EXT 1 # 90 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT #define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X #define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_TYPES_EXT #define __GLIBC_USE_IEC_60559_TYPES_EXT 1 # 27 "/usr/include/stdlib.h" 2 3 4 #define __need_size_t #define __need_wchar_t #define __need_NULL # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 1 3 4 # 185 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #define __size_t__ #define __SIZE_T__ #define _SIZE_T #define _SYS_SIZE_T_H #define _T_SIZE_ #define _T_SIZE #define __SIZE_T #define _SIZE_T_ #define _BSD_SIZE_T_ #define _SIZE_T_DEFINED_ #define _SIZE_T_DEFINED #define _BSD_SIZE_T_DEFINED_ #define _SIZE_T_DECLARED #define __DEFINED_size_t #define ___int_size_t_h #define _GCC_SIZE_T #define _SIZET_ #define __size_t typedef long unsigned int size_t; # 237 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_size_t # 267 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #define __wchar_t__ #define __WCHAR_T__ #define _WCHAR_T #define _T_WCHAR_ #define _T_WCHAR #define __WCHAR_T #define _WCHAR_T_ #define _BSD_WCHAR_T_ #define _WCHAR_T_DEFINED_ #define _WCHAR_T_DEFINED #define _WCHAR_T_H #define ___int_wchar_t_h #define __INT_WCHAR_T_H #define _GCC_WCHAR_T #define _WCHAR_T_DECLARED #define __DEFINED_wchar_t # 295 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef _BSD_WCHAR_T_ # 349 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef NULL #define NULL __null # 410 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_NULL # 33 "/usr/include/stdlib.h" 2 3 4 extern "C" { #define _STDLIB_H 1 # 1 "/usr/include/bits/waitflags.h" 1 3 4 # 25 "/usr/include/bits/waitflags.h" 3 4 #define WNOHANG 1 #define WUNTRACED 2 #define WSTOPPED 2 #define WEXITED 4 #define WCONTINUED 8 #define WNOWAIT 0x01000000 #define __WNOTHREAD 0x20000000 #define __WALL 0x40000000 #define __WCLONE 0x80000000 # 41 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitstatus.h" 1 3 4 # 28 "/usr/include/bits/waitstatus.h" 3 4 #define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) #define __WTERMSIG(status) ((status) & 0x7f) #define __WSTOPSIG(status) __WEXITSTATUS(status) #define __WIFEXITED(status) (__WTERMSIG(status) == 0) #define __WIFSIGNALED(status) (((signed char) (((status) & 0x7f) + 1) >> 1) > 0) #define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f) #define __WIFCONTINUED(status) ((status) == __W_CONTINUED) #define __WCOREDUMP(status) ((status) & __WCOREFLAG) #define __W_EXITCODE(ret,sig) ((ret) << 8 | (sig)) #define __W_STOPCODE(sig) ((sig) << 8 | 0x7f) #define __W_CONTINUED 0xffff #define __WCOREFLAG 0x80 # 42 "/usr/include/stdlib.h" 2 3 4 #define WEXITSTATUS(status) __WEXITSTATUS (status) #define WTERMSIG(status) __WTERMSIG (status) #define WSTOPSIG(status) __WSTOPSIG (status) #define WIFEXITED(status) __WIFEXITED (status) #define WIFSIGNALED(status) __WIFSIGNALED (status) #define WIFSTOPPED(status) __WIFSTOPPED (status) #define WIFCONTINUED(status) __WIFCONTINUED (status) typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; #define __ldiv_t_defined 1 __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; #define __lldiv_t_defined 1 #define RAND_MAX 2147483647 #define EXIT_FAILURE 1 #define EXIT_SUCCESS 0 #define MB_CUR_MAX (__ctype_get_mb_cur_max ()) extern size_t __ctype_get_mb_cur_max (void) throw () ; extern double atof (const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern int atoi (const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; extern long int atol (const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; __extension__ extern long long int atoll (const char *__nptr) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; 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))); # 141 "/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))); # 177 "/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))); # 233 "/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))); # 273 "/usr/include/stdlib.h" 3 4 # 1 "/usr/include/bits/types/locale_t.h" 1 3 4 # 20 "/usr/include/bits/types/locale_t.h" 3 4 #define _BITS_TYPES_LOCALE_T_H 1 # 1 "/usr/include/bits/types/__locale_t.h" 1 3 4 # 20 "/usr/include/bits/types/__locale_t.h" 3 4 #define _BITS_TYPES___LOCALE_T_H 1 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; # 274 "/usr/include/stdlib.h" 2 3 4 extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); __extension__ extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); __extension__ extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); extern double strtod_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))); extern float strtof_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))); extern long double strtold_l (const char *__restrict __nptr, char **__restrict __endptr, locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 3))); # 317 "/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))); # 361 "/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); } # 386 "/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) throw () ; extern long int a64l (const char *__s) throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; # 1 "/usr/include/sys/types.h" 1 3 4 # 23 "/usr/include/sys/types.h" 3 4 #define _SYS_TYPES_H 1 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; #define __u_char_defined typedef __loff_t loff_t; typedef __ino_t ino_t; #define __ino_t_defined typedef __ino64_t ino64_t; #define __ino64_t_defined typedef __dev_t dev_t; #define __dev_t_defined typedef __gid_t gid_t; #define __gid_t_defined typedef __mode_t mode_t; #define __mode_t_defined typedef __nlink_t nlink_t; #define __nlink_t_defined typedef __uid_t uid_t; #define __uid_t_defined typedef __off_t off_t; #define __off_t_defined typedef __off64_t off64_t; #define __off64_t_defined typedef __pid_t pid_t; #define __pid_t_defined typedef __id_t id_t; #define __id_t_defined typedef __ssize_t ssize_t; #define __ssize_t_defined typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; #define __daddr_t_defined typedef __key_t key_t; #define __key_t_defined # 1 "/usr/include/bits/types/clock_t.h" 1 3 4 #define __clock_t_defined 1 typedef __clock_t clock_t; # 127 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/bits/types/clockid_t.h" 1 3 4 #define __clockid_t_defined 1 typedef __clockid_t clockid_t; # 129 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/bits/types/time_t.h" 1 3 4 #define __time_t_defined 1 typedef __time_t time_t; # 130 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/bits/types/timer_t.h" 1 3 4 #define __timer_t_defined 1 typedef __timer_t timer_t; # 131 "/usr/include/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; #define __useconds_t_defined typedef __suseconds_t suseconds_t; #define __suseconds_t_defined #define __need_size_t # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 1 3 4 # 237 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_size_t # 410 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_NULL # 145 "/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 1 "/usr/include/bits/stdint-intn.h" 1 3 4 # 20 "/usr/include/bits/stdint-intn.h" 3 4 #define _BITS_STDINT_INTN_H 1 typedef __int8_t int8_t; typedef __int16_t int16_t; typedef __int32_t int32_t; typedef __int64_t int64_t; # 156 "/usr/include/sys/types.h" 2 3 4 typedef __uint8_t u_int8_t; typedef __uint16_t u_int16_t; typedef __uint32_t u_int32_t; typedef __uint64_t u_int64_t; typedef int register_t __attribute__ ((__mode__ (__word__))); #define __BIT_TYPES_DEFINED__ 1 # 1 "/usr/include/endian.h" 1 3 4 # 19 "/usr/include/endian.h" 3 4 #define _ENDIAN_H 1 # 1 "/usr/include/bits/endian.h" 1 3 4 # 20 "/usr/include/bits/endian.h" 3 4 #define _BITS_ENDIAN_H 1 # 30 "/usr/include/bits/endian.h" 3 4 #define __LITTLE_ENDIAN 1234 #define __BIG_ENDIAN 4321 #define __PDP_ENDIAN 3412 # 1 "/usr/include/bits/endianness.h" 1 3 4 #define _BITS_ENDIANNESS_H 1 #define __BYTE_ORDER __LITTLE_ENDIAN # 36 "/usr/include/bits/endian.h" 2 3 4 #define __FLOAT_WORD_ORDER __BYTE_ORDER #define __LONG_LONG_PAIR(HI,LO) LO, HI # 25 "/usr/include/endian.h" 2 3 4 #define LITTLE_ENDIAN __LITTLE_ENDIAN #define BIG_ENDIAN __BIG_ENDIAN #define PDP_ENDIAN __PDP_ENDIAN #define BYTE_ORDER __BYTE_ORDER # 1 "/usr/include/bits/byteswap.h" 1 3 4 # 24 "/usr/include/bits/byteswap.h" 3 4 #define _BITS_BYTESWAP_H 1 #define __bswap_constant_16(x) ((__uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))) static __inline __uint16_t __bswap_16 (__uint16_t __bsx) { return __builtin_bswap16 (__bsx); } #define __bswap_constant_32(x) ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24)) static __inline __uint32_t __bswap_32 (__uint32_t __bsx) { return __builtin_bswap32 (__bsx); } #define __bswap_constant_64(x) ((((x) & 0xff00000000000000ull) >> 56) | (((x) & 0x00ff000000000000ull) >> 40) | (((x) & 0x0000ff0000000000ull) >> 24) | (((x) & 0x000000ff00000000ull) >> 8) | (((x) & 0x00000000ff000000ull) << 8) | (((x) & 0x0000000000ff0000ull) << 24) | (((x) & 0x000000000000ff00ull) << 40) | (((x) & 0x00000000000000ffull) << 56)) # 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 # 24 "/usr/include/bits/uintn-identity.h" 3 4 #define _BITS_UINTN_IDENTITY_H 1 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 #define htobe16(x) __bswap_16 (x) #define htole16(x) __uint16_identity (x) #define be16toh(x) __bswap_16 (x) #define le16toh(x) __uint16_identity (x) #define htobe32(x) __bswap_32 (x) #define htole32(x) __uint32_identity (x) #define be32toh(x) __bswap_32 (x) #define le32toh(x) __uint32_identity (x) #define htobe64(x) __bswap_64 (x) #define htole64(x) __uint64_identity (x) #define be64toh(x) __bswap_64 (x) #define le64toh(x) __uint64_identity (x) # 177 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 22 "/usr/include/sys/select.h" 3 4 #define _SYS_SELECT_H 1 # 1 "/usr/include/bits/select.h" 1 3 4 # 25 "/usr/include/bits/select.h" 3 4 #define __FD_ZERO(s) do { unsigned int __i; fd_set *__arr = (s); for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) __FDS_BITS (__arr)[__i] = 0; } while (0) #define __FD_SET(d,s) ((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d))) #define __FD_CLR(d,s) ((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d))) #define __FD_ISSET(d,s) ((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0) # 31 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/types/sigset_t.h" 1 3 4 #define __sigset_t_defined 1 # 1 "/usr/include/bits/types/__sigset_t.h" 1 3 4 #define ____sigset_t_defined #define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int))) 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 # 1 "/usr/include/bits/types/struct_timeval.h" 1 3 4 #define __timeval_defined 1 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 38 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/types/struct_timespec.h" 1 3 4 #define _STRUCT_TIMESPEC 1 struct timespec { __time_t tv_sec; __syscall_slong_t tv_nsec; # 31 "/usr/include/bits/types/struct_timespec.h" 3 4 }; # 40 "/usr/include/sys/select.h" 2 3 4 # 49 "/usr/include/sys/select.h" 3 4 typedef long int __fd_mask; #undef __NFDBITS #define __NFDBITS (8 * (int) sizeof (__fd_mask)) #define __FD_ELT(d) ((d) / __NFDBITS) #define __FD_MASK(d) ((__fd_mask) (1UL << ((d) % __NFDBITS))) typedef struct { __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; #define __FDS_BITS(set) ((set)->fds_bits) } fd_set; #define FD_SETSIZE __FD_SETSIZE typedef __fd_mask fd_mask; #define NFDBITS __NFDBITS #define FD_SET(fd,fdsetp) __FD_SET (fd, fdsetp) #define FD_CLR(fd,fdsetp) __FD_CLR (fd, fdsetp) #define FD_ISSET(fd,fdsetp) __FD_ISSET (fd, fdsetp) #define FD_ZERO(fdsetp) __FD_ZERO (fdsetp) extern "C" { # 102 "/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); # 127 "/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); # 153 "/usr/include/sys/select.h" 3 4 } # 180 "/usr/include/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; #define __blksize_t_defined typedef __blkcnt_t blkcnt_t; #define __blkcnt_t_defined typedef __fsblkcnt_t fsblkcnt_t; #define __fsblkcnt_t_defined typedef __fsfilcnt_t fsfilcnt_t; #define __fsfilcnt_t_defined # 219 "/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 20 "/usr/include/bits/pthreadtypes.h" 3 4 #define _BITS_PTHREADTYPES_COMMON_H 1 # 1 "/usr/include/bits/thread-shared-types.h" 1 3 4 # 20 "/usr/include/bits/thread-shared-types.h" 3 4 #define _THREAD_SHARED_TYPES_H 1 # 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 #define _BITS_PTHREADTYPES_ARCH_H 1 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 18 "/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 24 "/usr/include/bits/pthreadtypes-arch.h" 2 3 4 #define __SIZEOF_PTHREAD_ATTR_T 56 #define __SIZEOF_PTHREAD_MUTEX_T 40 #define __SIZEOF_PTHREAD_RWLOCK_T 56 #define __SIZEOF_PTHREAD_BARRIER_T 32 #define __SIZEOF_PTHREAD_MUTEXATTR_T 4 #define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 #define __SIZEOF_PTHREAD_BARRIERATTR_T 4 #define __SIZEOF_PTHREAD_COND_T 48 #define __SIZEOF_PTHREAD_CONDATTR_T 4 #define __LOCK_ALIGNMENT #define __ONCE_ALIGNMENT # 45 "/usr/include/bits/thread-shared-types.h" 2 3 4 # 1 "/usr/include/bits/atomic_wide_counter.h" 1 3 4 # 20 "/usr/include/bits/atomic_wide_counter.h" 3 4 #define _BITS_ATOMIC_WIDE_COUNTER_H typedef union { __extension__ unsigned long long int __value64; struct { unsigned int __low; unsigned int __high; } __value32; } __atomic_wide_counter; # 47 "/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; # 76 "/usr/include/bits/thread-shared-types.h" 3 4 # 1 "/usr/include/bits/struct_mutex.h" 1 3 4 # 20 "/usr/include/bits/struct_mutex.h" 3 4 #define _THREAD_MUTEX_INTERNAL_H 1 struct __pthread_mutex_s { int __lock ; unsigned int __count; int __owner; unsigned int __nusers; # 58 "/usr/include/bits/struct_mutex.h" 3 4 int __kind; int __spins; __pthread_list_t __list; #define __PTHREAD_MUTEX_HAVE_PREV 1 # 74 "/usr/include/bits/struct_mutex.h" 3 4 }; #define __PTHREAD_MUTEX_INITIALIZER(__kind) 0, 0, 0, 0, __kind, 0, { 0, 0 } # 77 "/usr/include/bits/thread-shared-types.h" 2 3 4 # 89 "/usr/include/bits/thread-shared-types.h" 3 4 # 1 "/usr/include/bits/struct_rwlock.h" 1 3 4 # 20 "/usr/include/bits/struct_rwlock.h" 3 4 #define __RWLOCK_INTERNAL_H # 29 "/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; # 45 "/usr/include/bits/struct_rwlock.h" 3 4 unsigned char __flags; unsigned char __shared; unsigned char __pad1; unsigned char __pad2; int __cur_writer; }; #define __PTHREAD_RWLOCK_INITIALIZER(__flags) 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 # 90 "/usr/include/bits/thread-shared-types.h" 2 3 4 struct __pthread_cond_s { __atomic_wide_counter __wseq; __atomic_wide_counter __g1_start; unsigned int __g_refs[2] ; unsigned int __g_size[2]; unsigned int __g1_orig_size; unsigned int __wrefs; unsigned int __g_signals[2]; }; typedef unsigned int __tss_t; typedef unsigned long int __thrd_t; typedef struct { int __data ; } __once_flag; #define __ONCE_FLAG_INIT { 0 } # 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; #define __have_pthread_attr_t 1 typedef union { struct __pthread_mutex_s __data; char __size[40]; long int __align; } pthread_mutex_t; typedef union { struct __pthread_cond_s __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { struct __pthread_rwlock_arch_t __data; char __size[56]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[32]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 228 "/usr/include/sys/types.h" 2 3 4 } # 396 "/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))) ; extern void *calloc (size_t __nmemb, size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1, 2))) ; extern void *realloc (void *__ptr, size_t __size) throw () __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2))); extern void free (void *__ptr) throw (); extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) throw () __attribute__ ((__warn_unused_result__)) __attribute__ ((__alloc_size__ (2, 3))) __attribute__ ((__malloc__ (__builtin_free, 1))); extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) throw () __attribute__ ((__malloc__ (reallocarray, 1))); # 1 "/usr/include/alloca.h" 1 3 4 # 19 "/usr/include/alloca.h" 3 4 #define _ALLOCA_H 1 #define __need_size_t # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 1 3 4 # 237 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_size_t # 410 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_NULL # 25 "/usr/include/alloca.h" 2 3 4 extern "C" { #undef alloca extern void *alloca (size_t __size) throw (); #define alloca(size) __builtin_alloca (size) } # 575 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (1))) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) throw () __attribute__ ((__nonnull__ (1))) ; extern void *aligned_alloc (size_t __alignment, size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_align__ (1))) __attribute__ ((__alloc_size__ (2))) ; 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))); # 617 "/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))) ; extern char *secure_getenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))) ; 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 (); # 682 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))); # 695 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; # 705 "/usr/include/stdlib.h" 3 4 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; # 717 "/usr/include/stdlib.h" 3 4 extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; # 727 "/usr/include/stdlib.h" 3 4 extern int mkstemps64 (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; # 738 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ; # 749 "/usr/include/stdlib.h" 3 4 extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; # 759 "/usr/include/stdlib.h" 3 4 extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; # 769 "/usr/include/stdlib.h" 3 4 extern int mkostemps (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) ; # 781 "/usr/include/stdlib.h" 3 4 extern int mkostemps64 (char *__template, int __suffixlen, int __flags) __attribute__ ((__nonnull__ (1))) ; # 791 "/usr/include/stdlib.h" 3 4 extern int system (const char *__command) ; extern char *canonicalize_file_name (const char *__name) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))) ; # 808 "/usr/include/stdlib.h" 3 4 extern char *realpath (const char *__restrict __name, char *__restrict __resolved) throw () ; #define __COMPAR_FN_T 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))) ; # 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 = (const void *) (((const char *) __base) + (__idx * __size)); __comparison = (*__compar) (__key, __p); if (__comparison < 0) __u = __idx; else if (__comparison > 0) __l = __idx + 1; else { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wcast-qual" return (void *) __p; #pragma GCC diagnostic pop } } return __null; } # 834 "/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__)) ; extern long int labs (long int __x) throw () __attribute__ ((__const__)) ; __extension__ extern long long int llabs (long long int __x) throw () __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) throw () __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) throw () __attribute__ ((__const__)) ; __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) throw () __attribute__ ((__const__)) ; # 880 "/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; extern char *gcvt (double __value, int __ndigit, char *__buf) throw () __attribute__ ((__nonnull__ (3))) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) throw () __attribute__ ((__nonnull__ (3))) ; 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 () __attribute__ ((__access__ (__read_only__, 2))); extern size_t wcstombs (char *__restrict __s, const wchar_t *__restrict __pwcs, size_t __n) throw () __attribute__ ((__access__ (__write_only__, 1, 3))) __attribute__ ((__access__ (__read_only__, 2))); extern int rpmatch (const char *__response) throw () __attribute__ ((__nonnull__ (1))) ; # 967 "/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))) ; extern int posix_openpt (int __oflag) ; extern int grantpt (int __fd) throw (); extern int unlockpt (int __fd) throw (); extern char *ptsname (int __fd) throw () ; extern int ptsname_r (int __fd, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) throw () __attribute__ ((__nonnull__ (1))); # 1023 "/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); } # 1024 "/usr/include/stdlib.h" 2 3 4 # 1035 "/usr/include/stdlib.h" 3 4 } # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/std_abs.h" 2 3 #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS #undef abs 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 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/std_abs.h" 3 inline double abs(double __x) { return __builtin_fabs(__x); } inline float abs(float __x) { return __builtin_fabsf(__x); } inline long double abs(long double __x) { return __builtin_fabsl(__x); } # 150 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/std_abs.h" 3 } } # 50 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cmath" 2 3 #define _GLIBCXX_CMATH 1 #define __glibcxx_want_hypot #define __glibcxx_want_interpolate # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 1 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #define __glibcxx_incomplete_container_elements 201505L #undef __glibcxx_want_incomplete_container_elements # 71 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_uncaught_exceptions # 82 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_allocator_traits_is_always_equal # 93 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_null_pointer # 104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_result_of_sfinae # 120 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_arrays # 131 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_swappable # 142 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_void_t # 153 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_enable_shared_from_this # 164 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_spec_funcs # 175 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_coroutine # 186 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_exchange_function # 197 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_sequence # 208 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integral_constant_callable # 219 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_final # 230 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_reverse_iterator # 241 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_null_iterators # 252 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transformation_trait_aliases # 263 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transparent_operators # 274 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuple_element_t # 285 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuples_by_type # 296 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_robust_nonmodifying_seq_ops # 312 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_chars # 323 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono_udls # 334 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_complex_udls # 345 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_associative_lookup # 356 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_unique # 367 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_quoted_string_io # 378 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_timed_mutex # 389 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_udls # 400 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_addressof_constexpr # 411 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_any # 422 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_apply # 433 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_as_const # 444 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_is_always_lock_free # 455 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bool_constant # 466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byte # 477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_has_unique_object_representations # 488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hardware_interference_size # 499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke # 510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_aggregate # 521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_invocable # 532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_launder # 543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_logical_traits # 554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_from_tuple # 565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_not_fn # 576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_trait_variable_templates # 592 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_variant # 603 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_lcm # 614 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd # 625 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd_lcm # 636 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_raw_memory_algorithms # 652 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_array_constexpr # 663 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_nonmember_container_access # 674 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_clamp # 685 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_sample # 696 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_boyer_moore_searcher # 712 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono # 723 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_execution # 734 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_filesystem # 745 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hypot # 756 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_map_try_emplace # 767 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_special_functions # 783 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_memory_resource # 794 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_node_extract # 805 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_parallel_algorithm # 816 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_scoped_lock # 827 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_mutex # 838 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_weak_type # 849 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_view # 860 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unordered_map_try_emplace # 871 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_assume_aligned # 882 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_flag_test # 893 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_float # 904 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_lock_free_type_aliases # 915 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_ref # 926 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_value_initialization # 937 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bind_front # 948 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_starts_ends_with # 959 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bit_cast # 970 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bitops # 981 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bounded_array_traits # 992 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_concepts # 1013 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_optional # 1024 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_destroying_delete # 1035 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string_view # 1046 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_endian # 1057 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_int_pow2 # 1068 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_comparison_functions # 1079 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_constant_evaluated # 1095 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_char_traits # 1106 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_layout_compatible # 1117 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_nothrow_convertible # 1128 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_pointer_interconvertible # 1139 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_constants # 1150 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_obj_using_allocator # 1161 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_remove_cvref # 1172 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_source_location # 1188 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_span # 1199 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ssize # 1210 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_three_way_comparison # 1221 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_address # 1232 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_array # 1243 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_identity # 1254 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unwrap_ref # 1265 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_iterator # 1276 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_interpolate # 1287 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_utility # 1298 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shift # 1314 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges # 1325 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_numeric # 1336 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_functional # 1347 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_algorithms # 1358 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_tuple # 1374 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_memory # 1385 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_shared_ptr # 1401 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_wait # 1412 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_barrier # 1423 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_format # 1434 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_complex # 1445 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_dynamic_alloc # 1466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string # 1477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_vector # 1488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_erase_if # 1499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_unordered_lookup # 1510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_jthread # 1521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_latch # 1532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_list_remove_return_type # 1543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_polymorphic_allocator # 1554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_iterator_concept # 1565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_semaphore # 1576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_smart_ptr_for_overwrite # 1587 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_syncbuf # 1598 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byteswap # 1609 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_charconv # 1620 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_typeinfo # 1631 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_expected # 1642 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_algorithm # 1653 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_array # 1664 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_cstring # 1675 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_expected # 1686 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_optional # 1697 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_string_view # 1708 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_variant # 1719 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke_r # 1730 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_scoped_enum # 1741 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_reference_from_temporary # 1752 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_to_container # 1763 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_zip # 1774 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk # 1785 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_slide # 1796 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk_by # 1807 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_join_with # 1818 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_repeat # 1829 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_stride # 1840 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_cartesian_product # 1851 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_rvalue # 1862 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_const # 1873 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_enumerate # 1884 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_fold # 1895 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_contains # 1906 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_iota # 1917 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_find_last # 1928 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_bitset # 1939 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stdatomic_h # 1950 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_adaptor_iterator_pair_constructor # 1961 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_formatters # 1972 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_forward_like # 1983 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ios_noreplace # 1994 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_only_function # 2005 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_out_ptr # 2016 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_print # 2027 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_spanstream # 2038 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stacktrace # 2049 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_contains # 2060 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_resize_and_overwrite # 2071 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_underlying # 2082 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unreachable # 2093 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_fstream_native_handle # 2104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ratio # 2115 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_saturation_arithmetic # 2126 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_string # 2137 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generator #undef __glibcxx_want_all # 57 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cmath" 2 3 #undef div #undef acos #undef asin #undef atan #undef atan2 #undef ceil #undef cos #undef cosh #undef exp #undef fabs #undef floor #undef fmod #undef frexp #undef ldexp #undef log #undef log10 #undef modf #undef pow #undef sin #undef sinh #undef sqrt #undef tan #undef tanh extern "C++" { namespace std __attribute__ ((__visibility__ ("default"))) { using ::acos; inline float acos(float __x) { return __builtin_acosf(__x); } inline long double acos(long double __x) { return __builtin_acosl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type acos(_Tp __x) { return __builtin_acos(__x); } using ::asin; inline float asin(float __x) { return __builtin_asinf(__x); } inline long double asin(long double __x) { return __builtin_asinl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type asin(_Tp __x) { return __builtin_asin(__x); } using ::atan; inline float atan(float __x) { return __builtin_atanf(__x); } inline long double atan(long double __x) { return __builtin_atanl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type atan(_Tp __x) { return __builtin_atan(__x); } using ::atan2; inline float atan2(float __y, float __x) { return __builtin_atan2f(__y, __x); } inline long double atan2(long double __y, long double __x) { return __builtin_atan2l(__y, __x); } using ::ceil; inline float ceil(float __x) { return __builtin_ceilf(__x); } inline long double ceil(long double __x) { return __builtin_ceill(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type ceil(_Tp __x) { return __builtin_ceil(__x); } using ::cos; inline float cos(float __x) { return __builtin_cosf(__x); } inline long double cos(long double __x) { return __builtin_cosl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type cos(_Tp __x) { return __builtin_cos(__x); } using ::cosh; inline float cosh(float __x) { return __builtin_coshf(__x); } inline long double cosh(long double __x) { return __builtin_coshl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type cosh(_Tp __x) { return __builtin_cosh(__x); } using ::exp; inline float exp(float __x) { return __builtin_expf(__x); } inline long double exp(long double __x) { return __builtin_expl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type exp(_Tp __x) { return __builtin_exp(__x); } using ::fabs; inline float fabs(float __x) { return __builtin_fabsf(__x); } inline long double fabs(long double __x) { return __builtin_fabsl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type fabs(_Tp __x) { return __builtin_fabs(__x); } using ::floor; inline float floor(float __x) { return __builtin_floorf(__x); } inline long double floor(long double __x) { return __builtin_floorl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type floor(_Tp __x) { return __builtin_floor(__x); } using ::fmod; inline float fmod(float __x, float __y) { return __builtin_fmodf(__x, __y); } inline long double fmod(long double __x, long double __y) { return __builtin_fmodl(__x, __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 typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type frexp(_Tp __x, int* __exp) { return __builtin_frexp(__x, __exp); } using ::ldexp; inline float ldexp(float __x, int __exp) { return __builtin_ldexpf(__x, __exp); } inline long double ldexp(long double __x, int __exp) { return __builtin_ldexpl(__x, __exp); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type ldexp(_Tp __x, int __exp) { return __builtin_ldexp(__x, __exp); } using ::log; inline float log(float __x) { return __builtin_logf(__x); } inline long double log(long double __x) { return __builtin_logl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type log(_Tp __x) { return __builtin_log(__x); } using ::log10; inline float log10(float __x) { return __builtin_log10f(__x); } inline long double log10(long double __x) { return __builtin_log10l(__x); } template inline 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 float pow(float __x, float __y) { return __builtin_powf(__x, __y); } inline long double pow(long double __x, long double __y) { return __builtin_powl(__x, __y); } inline double pow(double __x, int __i) { return __builtin_powi(__x, __i); } inline float pow(float __x, int __n) { return __builtin_powif(__x, __n); } inline long double pow(long double __x, int __n) { return __builtin_powil(__x, __n); } using ::sin; inline float sin(float __x) { return __builtin_sinf(__x); } inline long double sin(long double __x) { return __builtin_sinl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type sin(_Tp __x) { return __builtin_sin(__x); } using ::sinh; inline float sinh(float __x) { return __builtin_sinhf(__x); } inline long double sinh(long double __x) { return __builtin_sinhl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type sinh(_Tp __x) { return __builtin_sinh(__x); } using ::sqrt; inline float sqrt(float __x) { return __builtin_sqrtf(__x); } inline long double sqrt(long double __x) { return __builtin_sqrtl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type sqrt(_Tp __x) { return __builtin_sqrt(__x); } using ::tan; inline float tan(float __x) { return __builtin_tanf(__x); } inline long double tan(long double __x) { return __builtin_tanl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type tan(_Tp __x) { return __builtin_tan(__x); } using ::tanh; inline float tanh(float __x) { return __builtin_tanhf(__x); } inline long double tanh(long double __x) { return __builtin_tanhl(__x); } template inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, double>::__type tanh(_Tp __x) { return __builtin_tanh(__x); } # 1053 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cmath" 3 template inline 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)); } template inline 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)); } template inline 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)); } #undef fpclassify #undef isfinite #undef isinf #undef isnan #undef isnormal #undef signbit #undef isgreater #undef isgreaterequal #undef isless #undef islessequal #undef islessgreater #undef isunordered # 1403 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cmath" 3 template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type fpclassify(_Tp __f) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_fpclassify(0, 1, 4, 3, 2, __type(__f)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isfinite(_Tp __f) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isfinite(__type(__f)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isinf(_Tp __f) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isinf(__type(__f)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isnan(_Tp __f) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isnan(__type(__f)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isnormal(_Tp __f) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isnormal(__type(__f)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type signbit(_Tp __f) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_signbit(__type(__f)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isgreater(_Tp __f1, _Tp __f2) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isgreater(__type(__f1), __type(__f2)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isgreaterequal(_Tp __f1, _Tp __f2) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isgreaterequal(__type(__f1), __type(__f2)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isless(_Tp __f1, _Tp __f2) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isless(__type(__f1), __type(__f2)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type islessequal(_Tp __f1, _Tp __f2) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_islessequal(__type(__f1), __type(__f2)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type islessgreater(_Tp __f1, _Tp __f2) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_islessgreater(__type(__f1), __type(__f2)); } template inline typename __gnu_cxx::__enable_if<__is_arithmetic<_Tp>::__value, int>::__type isunordered(_Tp __f1, _Tp __f2) { typedef typename __gnu_cxx::__promote<_Tp>::__type __type; return __builtin_isunordered(__type(__f1), __type(__f2)); } # 3894 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cmath" 3 } } # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; # 22 "example.cc" 2 # 1 "/usr/include/string.h" 1 3 4 # 23 "/usr/include/string.h" 3 4 #define _STRING_H 1 #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 31 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION #undef __GLIBC_USE_LIB_EXT2 #define __GLIBC_USE_LIB_EXT2 1 # 67 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_BFP_EXT #define __GLIBC_USE_IEC_60559_BFP_EXT 1 #undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X #define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_EXT #define __GLIBC_USE_IEC_60559_EXT 1 # 90 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT #define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X #define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_TYPES_EXT #define __GLIBC_USE_IEC_60559_TYPES_EXT 1 # 27 "/usr/include/string.h" 2 3 4 extern "C" { #define __need_size_t #define __need_NULL # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 1 3 4 # 237 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_size_t # 399 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef NULL #define NULL __null # 410 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_NULL # 34 "/usr/include/string.h" 2 3 4 #define __CORRECT_ISO_CPP_STRING_H_PROTO 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))) __attribute__ ((__access__ (__write_only__, 1, 4))); 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))); # 80 "/usr/include/string.h" 3 4 extern int __memcmpeq (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); } } # 115 "/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))) __attribute__ ((__access__ (__read_only__, 1, 3))); extern "C++" const void *memrchr (const void *__s, int __c, size_t __n) throw () __asm ("memrchr") __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__read_only__, 1, 3))); # 141 "/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))) __attribute__ ((__access__ (__write_only__, 1, 3))); 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))) __attribute__ ((__access__ (__write_only__, 1, 3))); 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))); #define strdupa(s) (__extension__ ({ const char *__old = (s); size_t __len = strlen (__old) + 1; char *__new = (char *) __builtin_alloca (__len); (char *) memcpy (__new, __old, __len); })) # 211 "/usr/include/string.h" 3 4 #define strndupa(s,n) (__extension__ ({ const char *__old = (s); size_t __len = strnlen (__old, (n)); char *__new = (char *) __builtin_alloca (__len + 1); __new[__len] = '\0'; (char *) memcpy (__new, __old, __len); })) # 224 "/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); } } # 281 "/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))); # 293 "/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))); # 389 "/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))) __attribute__ ((__access__ (__read_only__, 1, 2))) __attribute__ ((__access__ (__read_only__, 3, 4))); 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 (); # 444 "/usr/include/string.h" 3 4 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) throw () __attribute__ ((__nonnull__ (2))) __attribute__ ((__access__ (__write_only__, 2, 3))); extern const char *strerrordesc_np (int __err) throw (); extern const char *strerrorname_np (int __err) throw (); extern char *strerror_l (int __errnum, locale_t __l) throw (); # 1 "/usr/include/strings.h" 1 3 4 # 19 "/usr/include/strings.h" 3 4 #define _STRINGS_H 1 #define __need_size_t # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 1 3 4 # 237 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_size_t # 410 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_NULL # 24 "/usr/include/strings.h" 2 3 4 #define __CORRECT_ISO_CPP_STRINGS_H_PROTO 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))); } # 463 "/usr/include/string.h" 2 3 4 extern void explicit_bzero (void *__s, size_t __n) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__access__ (__write_only__, 1, 2))); extern char *strsep (char **__restrict __stringp, const char *__restrict __delim) throw () __attribute__ ((__nonnull__ (1, 2))); extern char *strsignal (int __sig) throw (); extern const char *sigabbrev_np (int __sig) throw (); extern const char *sigdescr_np (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))) __attribute__ ((__access__ (__read_write__, 1, 2))); 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))); # 539 "/usr/include/string.h" 3 4 } # 23 "example.cc" 2 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iostream" 1 3 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iostream" 3 #define _GLIBCXX_IOSTREAM 1 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iostream" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 1 3 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 #define _GLIBCXX_OSTREAM 1 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ios" 1 3 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ios" 3 #define _GLIBCXX_IOS 1 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ios" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iosfwd" 1 3 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iosfwd" 3 #define _GLIBCXX_IOSFWD 1 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iosfwd" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stringfwd.h" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stringfwd.h" 3 #define _STRINGFWD_H 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stringfwd.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/memoryfwd.h" 1 3 # 44 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/memoryfwd.h" 3 #define _MEMORYFWD_H 1 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/memoryfwd.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 64 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/memoryfwd.h" 3 template class allocator; template<> class allocator; # 81 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/memoryfwd.h" 3 } # 41 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stringfwd.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct char_traits; template<> struct char_traits; template<> struct char_traits; # 68 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stringfwd.h" 3 namespace __cxx11 { template, typename _Alloc = allocator<_CharT> > class basic_string; } typedef basic_string string; typedef basic_string wstring; # 97 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stringfwd.h" 3 } # 42 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iosfwd" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/postypes.h" 1 3 # 36 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/postypes.h" 3 #define _GLIBCXX_POSTYPES_H 1 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/postypes.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwchar" 1 3 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwchar" 3 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwchar" 3 # 1 "/usr/include/wchar.h" 1 3 4 # 24 "/usr/include/wchar.h" 3 4 #define _WCHAR_H 1 #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 31 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION #undef __GLIBC_USE_LIB_EXT2 #define __GLIBC_USE_LIB_EXT2 1 # 67 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_BFP_EXT #define __GLIBC_USE_IEC_60559_BFP_EXT 1 #undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X #define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_EXT #define __GLIBC_USE_IEC_60559_EXT 1 # 90 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT #define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X #define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_TYPES_EXT #define __GLIBC_USE_IEC_60559_TYPES_EXT 1 # 28 "/usr/include/wchar.h" 2 3 4 #define __need_size_t #define __need_wchar_t #define __need_NULL # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 1 3 4 # 237 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_size_t # 349 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef NULL #define NULL __null # 410 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_NULL # 36 "/usr/include/wchar.h" 2 3 4 #define __need___va_list # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stdarg.h" 1 3 4 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stdarg.h" 3 4 #undef __need___va_list #define __GNUC_VA_LIST typedef __builtin_va_list __gnuc_va_list; # 39 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 20 "/usr/include/bits/wchar.h" 3 4 #define _BITS_WCHAR_H 1 # 34 "/usr/include/bits/wchar.h" 3 4 #define __WCHAR_MAX __WCHAR_MAX__ #define __WCHAR_MIN __WCHAR_MIN__ # 41 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/types/wint_t.h" 1 3 4 #define __wint_t_defined 1 #define _WINT_T 1 # 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 #define __mbstate_t_defined 1 # 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4 #define ____mbstate_t_defined 1 # 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 #define ____FILE_defined 1 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 #define __FILE_defined 1 struct _IO_FILE; typedef struct _IO_FILE FILE; # 47 "/usr/include/wchar.h" 2 3 4 #define __CORRECT_ISO_CPP_WCHAR_H_PROTO #define WCHAR_MIN __WCHAR_MIN #define WCHAR_MAX __WCHAR_MAX #define WEOF (0xffffffffu) # 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__)) __attribute__ ((__malloc__ (__builtin_free, 1))); 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__)); # 182 "/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__)); # 241 "/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 (); # 397 "/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 (); # 429 "/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 (); # 512 "/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 (); # 552 "/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 (); # 576 "/usr/include/wchar.h" 3 4 #define __attr_dealloc_fclose extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw () __attribute__ ((__malloc__)) ; 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 () ; # 688 "/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 () ; # 744 "/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); # 799 "/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); # 825 "/usr/include/wchar.h" 3 4 extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); extern wint_t putwchar_unlocked (wchar_t __wc); # 835 "/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 (); # 875 "/usr/include/wchar.h" 3 4 } # 45 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwchar" 2 3 #define _GLIBCXX_CWCHAR 1 # 62 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwchar" 3 namespace std { using ::mbstate_t; } #undef btowc #undef fgetwc #undef fgetws #undef fputwc #undef fputws #undef fwide #undef fwprintf #undef fwscanf #undef getwc #undef getwchar #undef mbrlen #undef mbrtowc #undef mbsinit #undef mbsrtowcs #undef putwc #undef putwchar #undef swprintf #undef swscanf #undef ungetwc #undef vfwprintf #undef vfwscanf #undef vswprintf #undef vswscanf #undef vwprintf #undef vwscanf #undef wcrtomb #undef wcscat #undef wcschr #undef wcscmp #undef wcscoll #undef wcscpy #undef wcscspn #undef wcsftime #undef wcslen #undef wcsncat #undef wcsncmp #undef wcsncpy #undef wcspbrk #undef wcsrchr #undef wcsrtombs #undef wcsspn #undef wcsstr #undef wcstod #undef wcstof #undef wcstok #undef wcstol #undef wcstoul #undef wcsxfrm #undef wctob #undef wmemchr #undef wmemcmp #undef wmemcpy #undef wmemmove #undef wmemset #undef wprintf #undef wscanf 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 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwchar" 3 } } #undef wcstold #undef wcstoll #undef wcstoull namespace __gnu_cxx { using ::wcstold; # 260 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwchar" 3 using ::wcstoll; using ::wcstoull; } namespace std { using ::__gnu_cxx::wcstold; using ::__gnu_cxx::wcstoll; using ::__gnu_cxx::wcstoull; } # 41 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/postypes.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 62 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/postypes.h" 3 typedef long int streamoff; typedef ptrdiff_t streamsize; # 81 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/postypes.h" 3 template class fpos { private: streamoff _M_off; _StateT _M_state; public: fpos() : _M_off(0), _M_state() { } # 103 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/postypes.h" 3 fpos(streamoff __off) : _M_off(__off), _M_state() { } # 113 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/postypes.h" 3 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; # 220 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/postypes.h" 3 } # 43 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iosfwd" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 76 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iosfwd" 3 class ios_base; template > class basic_ios; template > class basic_streambuf; template > class basic_istream; template > class basic_ostream; template > class basic_iostream; 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; # 255 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iosfwd" 3 } # 41 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ios" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/exception" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/exception" 3 #define __EXCEPTION__ # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/exception" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/exception.h" 1 3 # 32 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/exception.h" 3 #define __EXCEPTION_H 1 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/exception.h" 3 extern "C++" { namespace std __attribute__ ((__visibility__ ("default"))) { # 59 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/exception.h" 3 class exception { public: exception() throw() { } virtual ~exception() throw(); # 73 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/exception.h" 3 virtual const char* what() const throw(); }; } } # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/exception" 2 3 #define __glibcxx_want_uncaught_exceptions # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 1 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #define __glibcxx_incomplete_container_elements 201505L #undef __glibcxx_want_incomplete_container_elements # 71 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_uncaught_exceptions # 82 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_allocator_traits_is_always_equal # 93 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_null_pointer # 104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_result_of_sfinae # 120 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_arrays # 131 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_swappable # 142 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_void_t # 153 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_enable_shared_from_this # 164 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_spec_funcs # 175 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_coroutine # 186 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_exchange_function # 197 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_sequence # 208 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integral_constant_callable # 219 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_final # 230 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_reverse_iterator # 241 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_null_iterators # 252 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transformation_trait_aliases # 263 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transparent_operators # 274 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuple_element_t # 285 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuples_by_type # 296 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_robust_nonmodifying_seq_ops # 312 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_chars # 323 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono_udls # 334 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_complex_udls # 345 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_associative_lookup # 356 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_unique # 367 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_quoted_string_io # 378 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_timed_mutex # 389 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_udls # 400 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_addressof_constexpr # 411 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_any # 422 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_apply # 433 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_as_const # 444 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_is_always_lock_free # 455 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bool_constant # 466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byte # 477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_has_unique_object_representations # 488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hardware_interference_size # 499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke # 510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_aggregate # 521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_invocable # 532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_launder # 543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_logical_traits # 554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_from_tuple # 565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_not_fn # 576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_trait_variable_templates # 592 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_variant # 603 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_lcm # 614 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd # 625 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd_lcm # 636 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_raw_memory_algorithms # 652 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_array_constexpr # 663 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_nonmember_container_access # 674 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_clamp # 685 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_sample # 696 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_boyer_moore_searcher # 712 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono # 723 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_execution # 734 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_filesystem # 745 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hypot # 756 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_map_try_emplace # 767 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_special_functions # 783 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_memory_resource # 794 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_node_extract # 805 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_parallel_algorithm # 816 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_scoped_lock # 827 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_mutex # 838 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_weak_type # 849 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_view # 860 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unordered_map_try_emplace # 871 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_assume_aligned # 882 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_flag_test # 893 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_float # 904 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_lock_free_type_aliases # 915 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_ref # 926 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_value_initialization # 937 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bind_front # 948 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_starts_ends_with # 959 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bit_cast # 970 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bitops # 981 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bounded_array_traits # 992 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_concepts # 1013 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_optional # 1024 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_destroying_delete # 1035 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string_view # 1046 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_endian # 1057 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_int_pow2 # 1068 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_comparison_functions # 1079 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_constant_evaluated # 1095 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_char_traits # 1106 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_layout_compatible # 1117 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_nothrow_convertible # 1128 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_pointer_interconvertible # 1139 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_constants # 1150 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_obj_using_allocator # 1161 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_remove_cvref # 1172 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_source_location # 1188 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_span # 1199 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ssize # 1210 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_three_way_comparison # 1221 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_address # 1232 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_array # 1243 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_identity # 1254 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unwrap_ref # 1265 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_iterator # 1276 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_interpolate # 1287 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_utility # 1298 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shift # 1314 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges # 1325 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_numeric # 1336 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_functional # 1347 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_algorithms # 1358 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_tuple # 1374 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_memory # 1385 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_shared_ptr # 1401 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_wait # 1412 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_barrier # 1423 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_format # 1434 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_complex # 1445 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_dynamic_alloc # 1466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string # 1477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_vector # 1488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_erase_if # 1499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_unordered_lookup # 1510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_jthread # 1521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_latch # 1532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_list_remove_return_type # 1543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_polymorphic_allocator # 1554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_iterator_concept # 1565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_semaphore # 1576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_smart_ptr_for_overwrite # 1587 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_syncbuf # 1598 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byteswap # 1609 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_charconv # 1620 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_typeinfo # 1631 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_expected # 1642 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_algorithm # 1653 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_array # 1664 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_cstring # 1675 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_expected # 1686 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_optional # 1697 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_string_view # 1708 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_variant # 1719 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke_r # 1730 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_scoped_enum # 1741 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_reference_from_temporary # 1752 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_to_container # 1763 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_zip # 1774 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk # 1785 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_slide # 1796 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk_by # 1807 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_join_with # 1818 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_repeat # 1829 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_stride # 1840 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_cartesian_product # 1851 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_rvalue # 1862 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_const # 1873 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_enumerate # 1884 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_fold # 1895 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_contains # 1906 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_iota # 1917 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_find_last # 1928 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_bitset # 1939 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stdatomic_h # 1950 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_adaptor_iterator_pair_constructor # 1961 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_formatters # 1972 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_forward_like # 1983 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ios_noreplace # 1994 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_only_function # 2005 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_out_ptr # 2016 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_print # 2027 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_spanstream # 2038 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stacktrace # 2049 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_contains # 2060 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_resize_and_overwrite # 2071 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_underlying # 2082 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unreachable # 2093 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_fstream_native_handle # 2104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ratio # 2115 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_saturation_arithmetic # 2126 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_string # 2137 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generator #undef __glibcxx_want_all # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/exception" 2 3 extern "C++" { namespace std __attribute__ ((__visibility__ ("default"))) { # 54 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/exception" 3 class bad_exception : public exception { public: bad_exception() throw() { } virtual ~bad_exception() throw(); virtual const char* what() const throw(); }; typedef void (*terminate_handler) (); terminate_handler set_terminate(terminate_handler) throw(); # 81 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/exception" 3 void terminate() throw() __attribute__ ((__noreturn__,__cold__)); typedef void (* unexpected_handler) (); unexpected_handler set_unexpected(unexpected_handler) throw(); # 109 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/exception" 3 void unexpected() __attribute__ ((__noreturn__,__cold__)); # 124 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/exception" 3 bool uncaught_exception() throw() __attribute__ ((__pure__)); # 136 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/exception" 3 } namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 158 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/exception" 3 void __verbose_terminate_handler(); } } # 42 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ios" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 #define _CHAR_TRAITS_H 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 # 46 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwchar" 1 3 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwchar" 3 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwchar" 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 2 3 # 61 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 #define _GLIBCXX_ALWAYS_INLINE inline __attribute__((__always_inline__)) namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 68 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstringop-overflow" #pragma GCC diagnostic ignored "-Wstringop-overread" #pragma GCC diagnostic ignored "-Warray-bounds" # 83 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 template struct _Char_types { typedef unsigned long int_type; typedef std::streampos pos_type; typedef std::streamoff off_type; typedef std::mbstate_t state_type; }; # 110 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 template struct char_traits { typedef _CharT char_type; typedef typename _Char_types<_CharT>::int_type int_type; typedef typename _Char_types<_CharT>::pos_type pos_type; typedef typename _Char_types<_CharT>::off_type off_type; typedef typename _Char_types<_CharT>::state_type state_type; static void assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; } static bool eq(const char_type& __c1, const char_type& __c2) { return __c1 == __c2; } static bool lt(const char_type& __c1, const char_type& __c2) { return __c1 < __c2; } static int compare(const char_type* __s1, const char_type* __s2, std::size_t __n); static std::size_t length(const char_type* __s); static const char_type* find(const char_type* __s, std::size_t __n, const char_type& __a); static char_type* move(char_type* __s1, const char_type* __s2, std::size_t __n); static char_type* copy(char_type* __s1, const char_type* __s2, std::size_t __n); static char_type* assign(char_type* __s, std::size_t __n, char_type __a); static char_type to_char_type(const int_type& __c) { return static_cast(__c); } static int_type to_int_type(const char_type& __c) { return static_cast(__c); } static bool eq_int_type(const int_type& __c1, const int_type& __c2) { return __c1 == __c2; } static int_type eof() { return static_cast(-1); } static int_type not_eof(const int_type& __c) { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } }; template int char_traits<_CharT>:: compare(const char_type* __s1, const char_type* __s2, std::size_t __n) { for (std::size_t __i = 0; __i < __n; ++__i) if (lt(__s1[__i], __s2[__i])) return -1; else if (lt(__s2[__i], __s1[__i])) return 1; return 0; } template std::size_t char_traits<_CharT>:: length(const char_type* __p) { std::size_t __i = 0; while (!eq(__p[__i], char_type())) ++__i; return __i; } template const typename char_traits<_CharT>::char_type* char_traits<_CharT>:: find(const char_type* __s, std::size_t __n, const char_type& __a) { for (std::size_t __i = 0; __i < __n; ++__i) if (eq(__s[__i], __a)) return __s + __i; return 0; } template typename char_traits<_CharT>::char_type* char_traits<_CharT>:: move(char_type* __s1, const char_type* __s2, std::size_t __n) { if (__n == 0) return __s1; # 256 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 __builtin_memmove(__s1, __s2, __n * sizeof(char_type)); return __s1; } template typename char_traits<_CharT>::char_type* char_traits<_CharT>:: copy(char_type* __s1, const char_type* __s2, std::size_t __n) { if (__n == 0) return __s1; # 276 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 __builtin_memcpy(__s1, __s2, __n * sizeof(char_type)); return __s1; } template typename char_traits<_CharT>::char_type* char_traits<_CharT>:: assign(char_type* __s, std::size_t __n, char_type __a) { # 295 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 if (sizeof(_CharT) == 1 && __is_trivial(_CharT)) { if (__n) { unsigned char __c; __builtin_memcpy(&__c, __builtin_addressof(__a), 1); __builtin_memset(__s, __c, __n); } } else { for (std::size_t __i = 0; __i < __n; ++__i) __s[__i] = __a; } return __s; } } namespace std __attribute__ ((__visibility__ ("default"))) { # 332 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 template struct char_traits : public __gnu_cxx::char_traits<_CharT> { }; template<> struct char_traits { typedef char char_type; typedef int int_type; typedef streampos pos_type; typedef streamoff off_type; typedef mbstate_t state_type; static void assign(char_type& __c1, const char_type& __c2) { __c1 = __c2; } static bool eq(const char_type& __c1, const char_type& __c2) { return __c1 == __c2; } static bool lt(const char_type& __c1, const char_type& __c2) { 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; # 391 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 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 char_type to_char_type(const int_type& __c) { return static_cast(__c); } static int_type to_int_type(const char_type& __c) { return static_cast(static_cast(__c)); } static bool eq_int_type(const int_type& __c1, const int_type& __c2) { return __c1 == __c2; } static int_type eof() { return static_cast(-1); } static int_type not_eof(const int_type& __c) { 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) { __c1 = __c2; } static bool eq(const char_type& __c1, const char_type& __c2) { return __c1 == __c2; } static bool lt(const char_type& __c1, const char_type& __c2) { 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 char_type to_char_type(const int_type& __c) { return char_type(__c); } static int_type to_int_type(const char_type& __c) { return int_type(__c); } static bool eq_int_type(const int_type& __c1, const int_type& __c2) { return __c1 == __c2; } static int_type eof() { return static_cast((0xffffffffu)); } static int_type not_eof(const int_type& __c) { return eq_int_type(__c, eof()) ? 0 : __c; } }; # 742 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/char_traits.h" 3 } # 43 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ios" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/localefwd.h" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/localefwd.h" 3 #define _LOCALE_FWD_H 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/localefwd.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++locale.h" 1 3 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++locale.h" 3 #define _GLIBCXX_CXX_LOCALE_H 1 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++locale.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/clocale" 1 3 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/clocale" 3 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/clocale" 3 # 1 "/usr/include/locale.h" 1 3 4 # 23 "/usr/include/locale.h" 3 4 #define _LOCALE_H 1 #define __need_NULL # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 1 3 4 # 399 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef NULL #define NULL __null # 410 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_NULL # 29 "/usr/include/locale.h" 2 3 4 # 1 "/usr/include/bits/locale.h" 1 3 4 # 24 "/usr/include/bits/locale.h" 3 4 #define _BITS_LOCALE_H 1 #define __LC_CTYPE 0 #define __LC_NUMERIC 1 #define __LC_TIME 2 #define __LC_COLLATE 3 #define __LC_MONETARY 4 #define __LC_MESSAGES 5 #define __LC_ALL 6 #define __LC_PAPER 7 #define __LC_NAME 8 #define __LC_ADDRESS 9 #define __LC_TELEPHONE 10 #define __LC_MEASUREMENT 11 #define __LC_IDENTIFICATION 12 # 30 "/usr/include/locale.h" 2 3 4 extern "C" { #define LC_CTYPE __LC_CTYPE #define LC_NUMERIC __LC_NUMERIC #define LC_TIME __LC_TIME #define LC_COLLATE __LC_COLLATE #define LC_MONETARY __LC_MONETARY #define LC_MESSAGES __LC_MESSAGES #define LC_ALL __LC_ALL #define LC_PAPER __LC_PAPER #define LC_NAME __LC_NAME #define LC_ADDRESS __LC_ADDRESS #define LC_TELEPHONE __LC_TELEPHONE #define LC_MEASUREMENT __LC_MEASUREMENT #define LC_IDENTIFICATION __LC_IDENTIFICATION 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 (); #define LC_CTYPE_MASK (1 << __LC_CTYPE) #define LC_NUMERIC_MASK (1 << __LC_NUMERIC) #define LC_TIME_MASK (1 << __LC_TIME) #define LC_COLLATE_MASK (1 << __LC_COLLATE) #define LC_MONETARY_MASK (1 << __LC_MONETARY) #define LC_MESSAGES_MASK (1 << __LC_MESSAGES) #define LC_PAPER_MASK (1 << __LC_PAPER) #define LC_NAME_MASK (1 << __LC_NAME) #define LC_ADDRESS_MASK (1 << __LC_ADDRESS) #define LC_TELEPHONE_MASK (1 << __LC_TELEPHONE) #define LC_MEASUREMENT_MASK (1 << __LC_MEASUREMENT) #define LC_IDENTIFICATION_MASK (1 << __LC_IDENTIFICATION) #define LC_ALL_MASK (LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK | LC_MONETARY_MASK | LC_MESSAGES_MASK | LC_PAPER_MASK | LC_NAME_MASK | LC_ADDRESS_MASK | LC_TELEPHONE_MASK | LC_MEASUREMENT_MASK | LC_IDENTIFICATION_MASK ) # 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 (); #define LC_GLOBAL_LOCALE ((locale_t) -1L) } # 43 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/clocale" 2 3 #define _GLIBCXX_CLOCALE 1 #undef setlocale #undef localeconv namespace std { using ::lconv; using ::setlocale; using ::localeconv; } # 42 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++locale.h" 2 3 #define _GLIBCXX_C_LOCALE_GNU 1 #define _GLIBCXX_NUM_CATEGORIES 6 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { extern "C" __typeof(uselocale) __uselocale; } namespace std __attribute__ ((__visibility__ ("default"))) { typedef __locale_t __c_locale; # 73 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++locale.h" 3 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); # 93 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/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 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/localefwd.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cctype" 1 3 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cctype" 3 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cctype" 3 # 1 "/usr/include/ctype.h" 1 3 4 # 23 "/usr/include/ctype.h" 3 4 #define _CTYPE_H 1 extern "C" { # 43 "/usr/include/ctype.h" 3 4 #define _ISbit(bit) ((bit) < 8 ? ((1 << (bit)) << 8) : ((1 << (bit)) >> 8)) 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__)); #define __isctype_f(type) __extern_inline int is ##type (int __c) __THROW { return (*__ctype_b_loc ())[(int) (__c)] & (unsigned short int) _IS ##type; } #define __isascii(c) (((c) & ~0x7f) == 0) #define __toascii(c) ((c) & 0x7f) #define __exctype(name) extern int name (int) __THROW 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 (); #define __tobody(c,f,a,args) (__extension__ ({ int __res; if (sizeof (c) > 1) { if (__builtin_constant_p (c)) { int __c = (c); __res = __c < -128 || __c > 255 ? __c : (a)[__c]; } else __res = f args; } else __res = (a)[(int) (c)]; __res; })) # 241 "/usr/include/ctype.h" 3 4 #define __isctype_l(c,type,locale) ((locale)->__ctype_b[(int) (c)] & (unsigned short int) type) #define __exctype_l(name) extern int name (int, locale_t) __THROW 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 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cctype" 2 3 #define _GLIBCXX_CCTYPE 1 #undef isalnum #undef isalpha #undef iscntrl #undef isdigit #undef isgraph #undef islower #undef isprint #undef ispunct #undef isspace #undef isupper #undef isxdigit #undef tolower #undef toupper 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; } # 43 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/localefwd.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 55 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/localefwd.h" 3 class locale; template bool has_facet(const locale&) throw(); template const _Facet& use_facet(const locale&); template bool isspace(_CharT, const locale&); template bool isprint(_CharT, const locale&); template bool iscntrl(_CharT, const locale&); template bool isupper(_CharT, const locale&); template bool islower(_CharT, const locale&); template bool isalpha(_CharT, const locale&); template bool isdigit(_CharT, const locale&); template bool ispunct(_CharT, const locale&); template bool isxdigit(_CharT, const locale&); template bool isalnum(_CharT, const locale&); template bool isgraph(_CharT, const locale&); template _CharT toupper(_CharT, const locale&); template _CharT tolower(_CharT, const locale&); struct 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; # 151 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/localefwd.h" 3 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; } struct messages_base; namespace __cxx11 { template class messages; template class messages_byname; } } # 44 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ios" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 #define _IOS_BASE_H 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/atomicity.h" 1 3 # 30 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/atomicity.h" 3 #define _GLIBCXX_ATOMICITY_H 1 # 33 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/atomicity.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/gthr.h" 1 3 # 27 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/gthr.h" 3 #define _GLIBCXX_GCC_GTHR_H #pragma GCC visibility push(default) # 148 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/gthr.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/gthr-default.h" 1 3 # 27 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/gthr-default.h" 3 #define _GLIBCXX_GCC_GTHR_POSIX_H #define __GTHREADS 1 #define __GTHREADS_CXX0X 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 1 3 4 # 28 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 #define _PTHREAD_H 1 # 1 "/usr/include/sched.h" 1 3 4 # 20 "/usr/include/sched.h" 3 4 #define _SCHED_H 1 #define __need_size_t #define __need_NULL # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 1 3 4 # 237 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_size_t # 399 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef NULL #define NULL __null # 410 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_NULL # 30 "/usr/include/sched.h" 2 3 4 # 43 "/usr/include/sched.h" 3 4 # 1 "/usr/include/bits/sched.h" 1 3 4 # 21 "/usr/include/bits/sched.h" 3 4 #define _BITS_SCHED_H 1 #define SCHED_OTHER 0 #define SCHED_FIFO 1 #define SCHED_RR 2 #define SCHED_BATCH 3 #define SCHED_ISO 4 #define SCHED_IDLE 5 #define SCHED_DEADLINE 6 #define SCHED_RESET_ON_FORK 0x40000000 #define CSIGNAL 0x000000ff #define CLONE_VM 0x00000100 #define CLONE_FS 0x00000200 #define CLONE_FILES 0x00000400 #define CLONE_SIGHAND 0x00000800 #define CLONE_PIDFD 0x00001000 #define CLONE_PTRACE 0x00002000 #define CLONE_VFORK 0x00004000 #define CLONE_PARENT 0x00008000 #define CLONE_THREAD 0x00010000 #define CLONE_NEWNS 0x00020000 #define CLONE_SYSVSEM 0x00040000 #define CLONE_SETTLS 0x00080000 #define CLONE_PARENT_SETTID 0x00100000 #define CLONE_CHILD_CLEARTID 0x00200000 #define CLONE_DETACHED 0x00400000 #define CLONE_UNTRACED 0x00800000 #define CLONE_CHILD_SETTID 0x01000000 #define CLONE_NEWCGROUP 0x02000000 #define CLONE_NEWUTS 0x04000000 #define CLONE_NEWIPC 0x08000000 #define CLONE_NEWUSER 0x10000000 #define CLONE_NEWPID 0x20000000 #define CLONE_NEWNET 0x40000000 #define CLONE_IO 0x80000000 #define CLONE_NEWTIME 0x00000080 # 1 "/usr/include/bits/types/struct_sched_param.h" 1 3 4 # 20 "/usr/include/bits/types/struct_sched_param.h" 3 4 #define _BITS_TYPES_STRUCT_SCHED_PARAM 1 struct sched_param { int sched_priority; }; # 81 "/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 # 21 "/usr/include/bits/cpu-set.h" 3 4 #define _BITS_CPU_SET_H 1 #define __CPU_SETSIZE 1024 #define __NCPUBITS (8 * sizeof (__cpu_mask)) typedef unsigned long int __cpu_mask; #define __CPUELT(cpu) ((cpu) / __NCPUBITS) #define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS)) typedef struct { __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; } cpu_set_t; #define __CPU_ZERO_S(setsize,cpusetp) do __builtin_memset (cpusetp, '\0', setsize); while (0) # 58 "/usr/include/bits/cpu-set.h" 3 4 #define __CPU_SET_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] |= __CPUMASK (__cpu)) : 0; })) #define __CPU_CLR_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; })) #define __CPU_ISSET_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0 : 0; })) #define __CPU_COUNT_S(setsize,cpusetp) __sched_cpucount (setsize, cpusetp) #define __CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) (__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0) # 99 "/usr/include/bits/cpu-set.h" 3 4 #define __CPU_OP_S(setsize,destset,srcset1,srcset2,op) (__extension__ ({ cpu_set_t *__dest = (destset); const __cpu_mask *__arr1 = (srcset1)->__bits; const __cpu_mask *__arr2 = (srcset2)->__bits; size_t __imax = (setsize) / sizeof (__cpu_mask); size_t __i; for (__i = 0; __i < __imax; ++__i) ((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i]; __dest; })) # 110 "/usr/include/bits/cpu-set.h" 3 4 #define __CPU_ALLOC_SIZE(count) ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask)) #define __CPU_ALLOC(count) __sched_cpualloc (count) #define __CPU_FREE(cpuset) __sched_cpufree (cpuset) 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 () ; extern void __sched_cpufree (cpu_set_t *__set) throw (); } # 45 "/usr/include/sched.h" 2 3 4 #define sched_priority sched_priority #define __sched_priority sched_priority 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 (); # 91 "/usr/include/sched.h" 3 4 #define CPU_SETSIZE __CPU_SETSIZE #define CPU_SET(cpu,cpusetp) __CPU_SET_S (cpu, sizeof (cpu_set_t), cpusetp) #define CPU_CLR(cpu,cpusetp) __CPU_CLR_S (cpu, sizeof (cpu_set_t), cpusetp) #define CPU_ISSET(cpu,cpusetp) __CPU_ISSET_S (cpu, sizeof (cpu_set_t), cpusetp) #define CPU_ZERO(cpusetp) __CPU_ZERO_S (sizeof (cpu_set_t), cpusetp) #define CPU_COUNT(cpusetp) __CPU_COUNT_S (sizeof (cpu_set_t), cpusetp) #define CPU_SET_S(cpu,setsize,cpusetp) __CPU_SET_S (cpu, setsize, cpusetp) #define CPU_CLR_S(cpu,setsize,cpusetp) __CPU_CLR_S (cpu, setsize, cpusetp) #define CPU_ISSET_S(cpu,setsize,cpusetp) __CPU_ISSET_S (cpu, setsize, cpusetp) #define CPU_ZERO_S(setsize,cpusetp) __CPU_ZERO_S (setsize, cpusetp) #define CPU_COUNT_S(setsize,cpusetp) __CPU_COUNT_S (setsize, cpusetp) #define CPU_EQUAL(cpusetp1,cpusetp2) __CPU_EQUAL_S (sizeof (cpu_set_t), cpusetp1, cpusetp2) #define CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) __CPU_EQUAL_S (setsize, cpusetp1, cpusetp2) #define CPU_AND(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, &) #define CPU_OR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, |) #define CPU_XOR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, ^) #define CPU_AND_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, &) #define CPU_OR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, |) #define CPU_XOR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, ^) #define CPU_ALLOC_SIZE(count) __CPU_ALLOC_SIZE (count) #define CPU_ALLOC(count) __CPU_ALLOC (count) #define CPU_FREE(cpuset) __CPU_FREE (cpuset) 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 (); } # 32 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 2 3 4 # 1 "/usr/include/time.h" 1 3 4 # 23 "/usr/include/time.h" 3 4 #define _TIME_H 1 #define __need_size_t #define __need_NULL # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 1 3 4 # 237 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_size_t # 399 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef NULL #define NULL __null # 410 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_NULL # 30 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 24 "/usr/include/bits/time.h" 3 4 #define _BITS_TIME_H 1 # 34 "/usr/include/bits/time.h" 3 4 #define CLOCKS_PER_SEC ((__clock_t) 1000000) # 46 "/usr/include/bits/time.h" 3 4 #define CLOCK_REALTIME 0 #define CLOCK_MONOTONIC 1 #define CLOCK_PROCESS_CPUTIME_ID 2 #define CLOCK_THREAD_CPUTIME_ID 3 #define CLOCK_MONOTONIC_RAW 4 #define CLOCK_REALTIME_COARSE 5 #define CLOCK_MONOTONIC_COARSE 6 #define CLOCK_BOOTTIME 7 #define CLOCK_REALTIME_ALARM 8 #define CLOCK_BOOTTIME_ALARM 9 #define CLOCK_TAI 11 #define TIMER_ABSTIME 1 # 1 "/usr/include/bits/timex.h" 1 3 4 # 19 "/usr/include/bits/timex.h" 3 4 #define _BITS_TIMEX_H 1 struct timex { # 58 "/usr/include/bits/timex.h" 3 4 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; }; #define ADJ_OFFSET 0x0001 #define ADJ_FREQUENCY 0x0002 #define ADJ_MAXERROR 0x0004 #define ADJ_ESTERROR 0x0008 #define ADJ_STATUS 0x0010 #define ADJ_TIMECONST 0x0020 #define ADJ_TAI 0x0080 #define ADJ_SETOFFSET 0x0100 #define ADJ_MICRO 0x1000 #define ADJ_NANO 0x2000 #define ADJ_TICK 0x4000 #define ADJ_OFFSET_SINGLESHOT 0x8001 #define ADJ_OFFSET_SS_READ 0xa001 #define MOD_OFFSET ADJ_OFFSET #define MOD_FREQUENCY ADJ_FREQUENCY #define MOD_MAXERROR ADJ_MAXERROR #define MOD_ESTERROR ADJ_ESTERROR #define MOD_STATUS ADJ_STATUS #define MOD_TIMECONST ADJ_TIMECONST #define MOD_CLKB ADJ_TICK #define MOD_CLKA ADJ_OFFSET_SINGLESHOT #define MOD_TAI ADJ_TAI #define MOD_MICRO ADJ_MICRO #define MOD_NANO ADJ_NANO #define STA_PLL 0x0001 #define STA_PPSFREQ 0x0002 #define STA_PPSTIME 0x0004 #define STA_FLL 0x0008 #define STA_INS 0x0010 #define STA_DEL 0x0020 #define STA_UNSYNC 0x0040 #define STA_FREQHOLD 0x0080 #define STA_PPSSIGNAL 0x0100 #define STA_PPSJITTER 0x0200 #define STA_PPSWANDER 0x0400 #define STA_PPSERROR 0x0800 #define STA_CLOCKERR 0x1000 #define STA_NANO 0x2000 #define STA_MODE 0x4000 #define STA_CLK 0x8000 #define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK) # 74 "/usr/include/bits/time.h" 2 3 4 extern "C" { extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) throw () __attribute__ ((__nonnull__ (2))); # 90 "/usr/include/bits/time.h" 3 4 } # 34 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/types/struct_tm.h" 1 3 4 #define __struct_tm_defined 1 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 # 48 "/usr/include/time.h" 3 4 # 1 "/usr/include/bits/types/struct_itimerspec.h" 1 3 4 #define __itimerspec_defined 1 struct itimerspec { struct timespec it_interval; struct timespec it_value; }; # 49 "/usr/include/time.h" 2 3 4 struct sigevent; # 65 "/usr/include/time.h" 3 4 #define TIME_UTC 1 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 (); # 100 "/usr/include/time.h" 3 4 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 (); # 154 "/usr/include/time.h" 3 4 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 (); # 179 "/usr/include/time.h" 3 4 extern char *asctime (const struct tm *__tp) throw (); extern char *ctime (const time_t *__timer) throw (); # 197 "/usr/include/time.h" 3 4 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 (); # 217 "/usr/include/time.h" 3 4 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; #define __isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) extern time_t timegm (struct tm *__tp) throw (); # 263 "/usr/include/time.h" 3 4 extern time_t timelocal (struct tm *__tp) throw (); extern int dysize (int __year) throw () __attribute__ ((__const__)); # 281 "/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 () __attribute__ ((__nonnull__ (2))); extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) throw () __attribute__ ((__nonnull__ (2))); # 323 "/usr/include/time.h" 3 4 extern int clock_nanosleep (clockid_t __clock_id, int __flags, const struct timespec *__req, struct timespec *__rem); # 338 "/usr/include/time.h" 3 4 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 (); # 376 "/usr/include/time.h" 3 4 extern int timer_getoverrun (timer_t __timerid) throw (); extern int timespec_get (struct timespec *__ts, int __base) throw () __attribute__ ((__nonnull__ (1))); # 399 "/usr/include/time.h" 3 4 extern int timespec_getres (struct timespec *__ts, int __base) throw (); # 425 "/usr/include/time.h" 3 4 extern int getdate_err; # 434 "/usr/include/time.h" 3 4 extern struct tm *getdate (const char *__string); # 448 "/usr/include/time.h" 3 4 extern int getdate_r (const char *__restrict __string, struct tm *__restrict __resbufp); } # 33 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 2 3 4 # 1 "/usr/include/bits/setjmp.h" 1 3 4 # 20 "/usr/include/bits/setjmp.h" 3 4 #define _LOONGARCH_BITS_SETJMP_H typedef struct __jmp_buf_internal_tag { long int __pc; long int __sp; long int __x; long int __fp; long int __regs[9]; double __fpregs[8]; } __jmp_buf[1]; # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 2 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 18 "/usr/include/bits/wordsize.h" 3 4 #define __WORDSIZE 64 #define __WORDSIZE_TIME64_COMPAT32 0 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 2 3 4 # 1 "/usr/include/bits/types/struct___jmp_buf_tag.h" 1 3 4 # 20 "/usr/include/bits/types/struct___jmp_buf_tag.h" 3 4 #define __jmp_buf_tag_defined 1 struct __jmp_buf_tag { __jmp_buf __jmpbuf; int __mask_was_saved; __sigset_t __saved_mask; }; # 41 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 2 3 4 # 1 "/usr/include/bits/pthread_stack_min-dynamic.h" 1 3 4 # 22 "/usr/include/bits/pthread_stack_min-dynamic.h" 3 4 #define __SC_THREAD_STACK_MIN_VALUE 75 extern "C" { extern long int __sysconf (int __name) throw (); } #define PTHREAD_STACK_MIN __sysconf (__SC_THREAD_STACK_MIN_VALUE) # 43 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 2 3 4 enum { PTHREAD_CREATE_JOINABLE, #define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_DETACHED #define PTHREAD_CREATE_DETACHED 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 }; #define PTHREAD_MUTEX_INITIALIZER { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_TIMED_NP) } } #define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_RECURSIVE_NP) } } #define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ERRORCHECK_NP) } } #define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ADAPTIVE_NP) } } 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 }; #define PTHREAD_RWLOCK_INITIALIZER { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_DEFAULT_NP) } } #define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP) } } enum { PTHREAD_INHERIT_SCHED, #define PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED PTHREAD_EXPLICIT_SCHED #define PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED }; enum { PTHREAD_SCOPE_SYSTEM, #define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_PROCESS #define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS }; enum { PTHREAD_PROCESS_PRIVATE, #define PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_SHARED #define PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED }; #define PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } } struct _pthread_cleanup_buffer { void (*__routine) (void *); void *__arg; int __canceltype; struct _pthread_cleanup_buffer *__prev; }; enum { PTHREAD_CANCEL_ENABLE, #define PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_DISABLE #define PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE }; enum { PTHREAD_CANCEL_DEFERRED, #define PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_ASYNCHRONOUS #define PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS }; #define PTHREAD_CANCELED ((void *) -1) #define PTHREAD_ONCE_INIT 0 #define PTHREAD_BARRIER_SERIAL_THREAD -1 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 (); # 242 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, const struct timespec *__abstime); # 252 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return, clockid_t __clockid, const struct timespec *__abstime); # 278 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 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_attr_setsigmask_np (pthread_attr_t *__attr, const __sigset_t *sigmask); extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr, __sigset_t *sigmask); #define PTHREAD_ATTR_NO_SIGMASK_NP (-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_yield (void) throw () __asm__ ("" "sched_yield") __attribute__ ((__deprecated__ ("pthread_yield is deprecated, use sched_yield instead"))) ; 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))); # 518 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 extern int pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); # 530 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/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); struct __cancel_jmp_buf_tag { __jmp_buf __cancel_jmp_buf; int __mask_was_saved; }; typedef struct { struct __cancel_jmp_buf_tag __cancel_jmp_buf[1]; void *__pad[4]; } __pthread_unwind_buf_t __attribute__ ((__aligned__)); #define __cleanup_fct_attribute struct __pthread_cleanup_frame { void (*__cancel_routine) (void *); void *__cancel_arg; int __do_it; int __cancel_type; }; class __pthread_cleanup_class { void (*__cancel_routine) (void *); void *__cancel_arg; int __do_it; int __cancel_type; public: __pthread_cleanup_class (void (*__fct) (void *), void *__arg) : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { } ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); } void __setdoit (int __newval) { __do_it = __newval; } void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, &__cancel_type); } void __restore () const { pthread_setcanceltype (__cancel_type, 0); } }; # 601 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 #define pthread_cleanup_push(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg) #define pthread_cleanup_pop(execute) __clframe.__setdoit (execute); } while (0) #define pthread_cleanup_push_defer_np(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg); __clframe.__defer () #define pthread_cleanup_pop_restore_np(execute) __clframe.__restore (); __clframe.__setdoit (execute); } while (0) # 775 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 extern int __sigsetjmp_cancel (struct __cancel_jmp_buf_tag __env[1], int __savemask) throw () __asm__ ("" "__sigsetjmp") __attribute__ ((__returns_twice__)); # 790 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 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))); # 826 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex, clockid_t __clockid, const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 3))); # 844 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 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 *) throw () __asm__ ("" "pthread_mutex_consistent") __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__ ("pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent"))) ; # 883 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/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 (pthread_mutexattr_t *, int *) throw () __asm__ ("" "pthread_mutexattr_getrobust") __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__ ("pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust"))) ; extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, int __robustness) throw () __attribute__ ((__nonnull__ (1))); extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *, int) throw () __asm__ ("" "pthread_mutexattr_setrobust") __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__ ("pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust"))) ; # 976 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/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))); # 1013 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock, clockid_t __clockid, const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 3))); # 1032 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 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))); # 1060 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock, clockid_t __clockid, const struct timespec *__restrict __abstime) throw () __attribute__ ((__nonnull__ (1, 3))); # 1080 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 4 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))); # 1154 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/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))); # 1180 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/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))); # 1203 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/pthread.h" 3 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))); # 1239 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/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))); # 1306 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/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 () __attribute__ ((__access__ (__none__, 2))); extern int pthread_getcpuclockid (pthread_t __thread_id, __clockid_t *__clock_id) throw () __attribute__ ((__nonnull__ (2))); # 1341 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include-fixed/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 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/gthr-default.h" 2 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/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; #define __GTHREAD_HAS_COND 1 #define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER #define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function #define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT #define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP #define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER #define __GTHREAD_TIME_INIT {0,0} # 101 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/gthr-default.h" 3 #define __gthrw2(name,name2,type) #define __gthrw_(name) name #define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) # 312 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/gthr-default.h" 3 static inline int __gthread_active_p (void) { return 1; } # 672 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/gthr-default.h" 3 static inline int __gthread_create (__gthread_t *__threadid, void *(*__func) (void*), void *__args) { return pthread_create (__threadid, __null, __func, __args); } static inline int __gthread_join (__gthread_t __threadid, void **__value_ptr) { return pthread_join (__threadid, __value_ptr); } static inline int __gthread_detach (__gthread_t __threadid) { return pthread_detach (__threadid); } static inline int __gthread_equal (__gthread_t __t1, __gthread_t __t2) { return pthread_equal (__t1, __t2); } static inline __gthread_t __gthread_self (void) { return pthread_self (); } static inline int __gthread_yield (void) { return sched_yield (); } static inline int __gthread_once (__gthread_once_t *__once, void (*__func) (void)) { if (__gthread_active_p ()) return pthread_once (__once, __func); else return -1; } static inline int __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) { return pthread_key_create (__key, __dtor); } static inline int __gthread_key_delete (__gthread_key_t __key) { return pthread_key_delete (__key); } static inline void * __gthread_getspecific (__gthread_key_t __key) { return pthread_getspecific (__key); } static inline int __gthread_setspecific (__gthread_key_t __key, const void *__ptr) { return pthread_setspecific (__key, __ptr); } static inline void __gthread_mutex_init_function (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) pthread_mutex_init (__mutex, __null); } static inline int __gthread_mutex_destroy (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) return pthread_mutex_destroy (__mutex); else return 0; } static inline int __gthread_mutex_lock (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) return pthread_mutex_lock (__mutex); else return 0; } static inline int __gthread_mutex_trylock (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) return 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 pthread_mutex_timedlock (__mutex, __abs_timeout); else return 0; } static inline int __gthread_mutex_unlock (__gthread_mutex_t *__mutex) { if (__gthread_active_p ()) return pthread_mutex_unlock (__mutex); else return 0; } # 821 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/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); } # 863 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/gthr-default.h" 3 static inline int __gthread_cond_broadcast (__gthread_cond_t *__cond) { return pthread_cond_broadcast (__cond); } static inline int __gthread_cond_signal (__gthread_cond_t *__cond) { return pthread_cond_signal (__cond); } static inline int __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) { return 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 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 pthread_cond_destroy (__cond); } # 149 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/gthr.h" 2 3 #pragma GCC visibility pop # 36 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/atomicity.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/atomic_word.h" 1 3 # 30 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/atomic_word.h" 3 #define _GLIBCXX_ATOMIC_WORD_H 1 typedef int _Atomic_word; #define _GLIBCXX_READ_MEM_BARRIER __atomic_thread_fence (__ATOMIC_ACQUIRE) #define _GLIBCXX_WRITE_MEM_BARRIER __atomic_thread_fence (__ATOMIC_RELEASE) # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/atomicity.h" 2 3 # 1 "/usr/include/sys/single_threaded.h" 1 3 4 # 20 "/usr/include/sys/single_threaded.h" 3 4 #define _SYS_SINGLE_THREADED_H extern "C" { extern char __libc_single_threaded; } # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/atomicity.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { __attribute__((__always_inline__)) inline bool __is_single_threaded() throw() { return ::__libc_single_threaded; } 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); } # 80 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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 (__is_single_threaded()) return __exchange_and_add_single(__mem, __val); else return __exchange_and_add(__mem, __val); } inline void __attribute__ ((__always_inline__)) __atomic_add_dispatch(_Atomic_word* __mem, int __val) { if (__is_single_threaded()) __atomic_add_single(__mem, __val); else __atomic_add(__mem, __val); } } # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 #define _LOCALE_CLASSES_H 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 1 3 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 3 #define _GLIBCXX_STRING 1 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/allocator.h" 1 3 # 44 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/allocator.h" 3 #define _ALLOCATOR_H 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++allocator.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++allocator.h" 3 #define _GLIBCXX_CXX_ALLOCATOR_H 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/new_allocator.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/new_allocator.h" 3 #define _STD_NEW_ALLOCATOR_H 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/new" 1 3 # 36 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/new" 3 #define _NEW # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/new" 3 #define __glibcxx_want_launder #define __glibcxx_want_hardware_interference_size #define __glibcxx_want_destroying_delete # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 1 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #define __glibcxx_incomplete_container_elements 201505L #undef __glibcxx_want_incomplete_container_elements # 71 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_uncaught_exceptions # 82 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_allocator_traits_is_always_equal # 93 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_null_pointer # 104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_result_of_sfinae # 120 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_arrays # 131 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_swappable # 142 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_void_t # 153 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_enable_shared_from_this # 164 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_spec_funcs # 175 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_coroutine # 186 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_exchange_function # 197 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_sequence # 208 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integral_constant_callable # 219 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_final # 230 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_reverse_iterator # 241 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_null_iterators # 252 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transformation_trait_aliases # 263 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transparent_operators # 274 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuple_element_t # 285 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuples_by_type # 296 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_robust_nonmodifying_seq_ops # 312 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_chars # 323 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono_udls # 334 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_complex_udls # 345 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_associative_lookup # 356 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_unique # 367 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_quoted_string_io # 378 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_timed_mutex # 389 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_udls # 400 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_addressof_constexpr # 411 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_any # 422 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_apply # 433 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_as_const # 444 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_is_always_lock_free # 455 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bool_constant # 466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byte # 477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_has_unique_object_representations # 488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hardware_interference_size # 499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke # 510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_aggregate # 521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_invocable # 532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_launder # 543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_logical_traits # 554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_from_tuple # 565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_not_fn # 576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_trait_variable_templates # 592 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_variant # 603 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_lcm # 614 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd # 625 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd_lcm # 636 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_raw_memory_algorithms # 652 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_array_constexpr # 663 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_nonmember_container_access # 674 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_clamp # 685 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_sample # 696 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_boyer_moore_searcher # 712 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono # 723 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_execution # 734 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_filesystem # 745 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hypot # 756 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_map_try_emplace # 767 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_special_functions # 783 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_memory_resource # 794 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_node_extract # 805 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_parallel_algorithm # 816 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_scoped_lock # 827 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_mutex # 838 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_weak_type # 849 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_view # 860 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unordered_map_try_emplace # 871 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_assume_aligned # 882 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_flag_test # 893 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_float # 904 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_lock_free_type_aliases # 915 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_ref # 926 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_value_initialization # 937 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bind_front # 948 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_starts_ends_with # 959 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bit_cast # 970 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bitops # 981 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bounded_array_traits # 992 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_concepts # 1013 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_optional # 1024 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_destroying_delete # 1035 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string_view # 1046 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_endian # 1057 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_int_pow2 # 1068 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_comparison_functions # 1079 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_constant_evaluated # 1095 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_char_traits # 1106 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_layout_compatible # 1117 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_nothrow_convertible # 1128 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_pointer_interconvertible # 1139 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_constants # 1150 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_obj_using_allocator # 1161 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_remove_cvref # 1172 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_source_location # 1188 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_span # 1199 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ssize # 1210 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_three_way_comparison # 1221 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_address # 1232 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_array # 1243 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_identity # 1254 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unwrap_ref # 1265 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_iterator # 1276 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_interpolate # 1287 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_utility # 1298 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shift # 1314 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges # 1325 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_numeric # 1336 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_functional # 1347 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_algorithms # 1358 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_tuple # 1374 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_memory # 1385 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_shared_ptr # 1401 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_wait # 1412 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_barrier # 1423 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_format # 1434 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_complex # 1445 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_dynamic_alloc # 1466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string # 1477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_vector # 1488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_erase_if # 1499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_unordered_lookup # 1510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_jthread # 1521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_latch # 1532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_list_remove_return_type # 1543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_polymorphic_allocator # 1554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_iterator_concept # 1565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_semaphore # 1576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_smart_ptr_for_overwrite # 1587 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_syncbuf # 1598 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byteswap # 1609 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_charconv # 1620 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_typeinfo # 1631 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_expected # 1642 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_algorithm # 1653 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_array # 1664 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_cstring # 1675 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_expected # 1686 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_optional # 1697 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_string_view # 1708 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_variant # 1719 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke_r # 1730 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_scoped_enum # 1741 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_reference_from_temporary # 1752 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_to_container # 1763 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_zip # 1774 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk # 1785 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_slide # 1796 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk_by # 1807 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_join_with # 1818 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_repeat # 1829 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_stride # 1840 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_cartesian_product # 1851 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_rvalue # 1862 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_const # 1873 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_enumerate # 1884 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_fold # 1895 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_contains # 1906 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_iota # 1917 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_find_last # 1928 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_bitset # 1939 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stdatomic_h # 1950 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_adaptor_iterator_pair_constructor # 1961 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_formatters # 1972 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_forward_like # 1983 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ios_noreplace # 1994 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_only_function # 2005 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_out_ptr # 2016 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_print # 2027 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_spanstream # 2038 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stacktrace # 2049 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_contains # 2060 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_resize_and_overwrite # 2071 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_underlying # 2082 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unreachable # 2093 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_fstream_native_handle # 2104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ratio # 2115 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_saturation_arithmetic # 2126 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_string # 2137 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generator #undef __glibcxx_want_all # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/new" 2 3 #pragma GCC visibility push(default) extern "C++" { namespace std { class bad_alloc : public exception { public: bad_alloc() throw() { } # 72 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/new" 3 virtual ~bad_alloc() throw(); virtual const char* what() const throw(); }; # 97 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/new" 3 struct nothrow_t { }; extern const nothrow_t nothrow; typedef void (*new_handler)(); new_handler set_new_handler(new_handler) throw(); } # 131 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/new" 3 void* operator new(std::size_t) throw(std::bad_alloc) __attribute__((__externally_visible__)); void* operator new[](std::size_t) throw(std::bad_alloc) __attribute__((__externally_visible__)); void operator delete(void*) throw() __attribute__((__externally_visible__)); void operator delete[](void*) throw() __attribute__((__externally_visible__)); void* operator new(std::size_t, const std::nothrow_t&) throw() __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); void* operator new[](std::size_t, const std::nothrow_t&) throw() __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__)); void operator delete(void*, const std::nothrow_t&) throw() __attribute__((__externally_visible__)); void operator delete[](void*, const std::nothrow_t&) throw() __attribute__((__externally_visible__)); # 179 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/new" 3 inline void* operator new(std::size_t, void* __p) throw() { return __p; } inline void* operator new[](std::size_t, void* __p) throw() { return __p; } inline void operator delete (void*, void*) throw() { } inline void operator delete[](void*, void*) throw() { } } # 236 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/new" 3 #pragma GCC visibility pop # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/new_allocator.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/functexcept.h" 1 3 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/functexcept.h" 3 #define _FUNCTEXCEPT_H 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/exception_defines.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/exception_defines.h" 3 #define _EXCEPTION_DEFINES_H 1 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/exception_defines.h" 3 #define __try try #define __catch(X) catch(X) #define __throw_exception_again throw # 41 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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_array_new_length(void) __attribute__((__noreturn__)); void __throw_bad_cast(void) __attribute__((__noreturn__,__cold__)); void __throw_bad_typeid(void) __attribute__((__noreturn__,__cold__)); void __throw_logic_error(const char*) __attribute__((__noreturn__,__cold__)); void __throw_domain_error(const char*) __attribute__((__noreturn__,__cold__)); void __throw_invalid_argument(const char*) __attribute__((__noreturn__,__cold__)); void __throw_length_error(const char*) __attribute__((__noreturn__,__cold__)); void __throw_out_of_range(const char*) __attribute__((__noreturn__,__cold__)); void __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__,__cold__)) __attribute__((__format__(__gnu_printf__, 1, 2))); void __throw_runtime_error(const char*) __attribute__((__noreturn__,__cold__)); void __throw_range_error(const char*) __attribute__((__noreturn__,__cold__)); void __throw_overflow_error(const char*) __attribute__((__noreturn__,__cold__)); void __throw_underflow_error(const char*) __attribute__((__noreturn__,__cold__)); void __throw_ios_failure(const char*) __attribute__((__noreturn__,__cold__)); void __throw_ios_failure(const char*, int) __attribute__((__noreturn__,__cold__)); void __throw_system_error(int) __attribute__((__noreturn__,__cold__)); void __throw_future_error(int) __attribute__((__noreturn__,__cold__)); void __throw_bad_function_call() __attribute__((__noreturn__,__cold__)); # 140 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/functexcept.h" 3 } # 36 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/new_allocator.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/move.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/move.h" 3 #define _MOVE_H 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/concept_check.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/concept_check.h" 3 #define _CONCEPT_CHECK_H 1 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/concept_check.h" 3 # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/concept_check.h" 3 #define __glibcxx_function_requires(...) #define __glibcxx_class_requires(_a,_b) #define __glibcxx_class_requires2(_a,_b,_c) #define __glibcxx_class_requires3(_a,_b,_c,_d) #define __glibcxx_class_requires4(_a,_b,_c,_d,_e) # 36 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/move.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline _Tp* __addressof(_Tp& __r) { return __builtin_addressof(__r); } # 184 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/move.h" 3 #define _GLIBCXX_FWDREF(_Tp) const _Tp& #define _GLIBCXX_MOVE(__val) (__val) #define _GLIBCXX_FORWARD(_Tp,__val) (__val) # 200 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/move.h" 3 template inline void swap(_Tp& __a, _Tp& __b) { _Tp __tmp = (__a); __a = (__b); __b = (__tmp); } template inline void swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) { for (size_t __n = 0; __n < _Nm; ++__n) swap(__a[__n], __b[__n]); } } # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/new_allocator.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 62 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/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; }; # 86 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/new_allocator.h" 3 __attribute__((__always_inline__)) __new_allocator() throw() { } __attribute__((__always_inline__)) __new_allocator(const __new_allocator&) throw() { } template __attribute__((__always_inline__)) __new_allocator(const __new_allocator<_Tp1>&) throw() { } ~__new_allocator() throw() { } pointer address(reference __x) const { return std::__addressof(__x); } const_pointer address(const_reference __x) const { return std::__addressof(__x); } #define _GLIBCXX_OPERATOR_NEW ::operator new #define _GLIBCXX_OPERATOR_DELETE ::operator delete _Tp* allocate(size_type __n, const void* = static_cast(0)) { if (__builtin_expect(__n > this->_M_max_size(), false)) { if (__n > (std::size_t(-1) / sizeof(_Tp))) std::__throw_bad_array_new_length(); std::__throw_bad_alloc(); } # 151 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/new_allocator.h" 3 return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); } void deallocate(_Tp* __p, size_type __n __attribute__ ((__unused__))) { #define _GLIBCXX_SIZED_DEALLOC(p,n) (p) # 172 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/new_allocator.h" 3 ::operator delete((__p)); } #undef _GLIBCXX_SIZED_DEALLOC #undef _GLIBCXX_OPERATOR_DELETE #undef _GLIBCXX_OPERATOR_NEW __attribute__((__always_inline__)) size_type max_size() const throw() { return _M_max_size(); } # 202 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/new_allocator.h" 3 __attribute__((__always_inline__)) void construct(pointer __p, const _Tp& __val) { ::new((void *)__p) _Tp(__val); } __attribute__((__always_inline__)) void destroy(pointer __p) { __p->~_Tp(); } template friend __attribute__((__always_inline__)) bool operator==(const __new_allocator&, const __new_allocator<_Up>&) throw() { return true; } template friend __attribute__((__always_inline__)) bool operator!=(const __new_allocator&, const __new_allocator<_Up>&) throw() { return false; } private: __attribute__((__always_inline__)) size_type _M_max_size() const throw() { return std::size_t(0x7fffffffffffffffL) / sizeof(_Tp); } }; } # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++allocator.h" 2 3 # 51 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++allocator.h" 3 #define __allocator_base __new_allocator # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/allocator.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 72 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/allocator.h" 3 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; }; # 115 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/allocator.h" 3 }; # 127 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/allocator.h" 3 template class allocator : public __new_allocator<_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; }; # 159 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/allocator.h" 3 __attribute__((__always_inline__)) allocator() throw() { } __attribute__((__always_inline__)) allocator(const allocator& __a) throw() : __new_allocator<_Tp>(__a) { } template __attribute__((__always_inline__)) allocator(const allocator<_Tp1>&) throw() { } __attribute__((__always_inline__)) ~allocator() throw() { } # 212 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/allocator.h" 3 friend __attribute__((__always_inline__)) bool operator==(const allocator&, const allocator&) throw() { return true; } friend __attribute__((__always_inline__)) bool operator!=(const allocator&, const allocator&) throw() { return false; } }; template __attribute__((__always_inline__)) inline bool operator==(const allocator<_T1>&, const allocator<_T2>&) throw() { return true; } template __attribute__((__always_inline__)) inline bool operator!=(const allocator<_T1>&, const allocator<_T2>&) throw() { 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; #undef __allocator_base } # 44 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ostream_insert.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ostream_insert.h" 3 #define _OSTREAM_INSERT_H 1 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ostream_insert.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/cxxabi_forced.h" 1 3 # 32 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/cxxabi_forced.h" 3 #define _CXXABI_FORCED_H 1 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/cxxabi_forced.h" 3 #pragma GCC visibility push(default) namespace __cxxabiv1 { class __forced_unwind { virtual ~__forced_unwind() throw(); virtual void __pure_dummy() = 0; }; } #pragma GCC visibility pop # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ostream_insert.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline void __ostream_write(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s, streamsize __n) { typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const streamsize __put = __out.rdbuf()->sputn(__s, __n); if (__put != __n) __out.setstate(__ios_base::badbit); } template inline void __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) { typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; const _CharT __c = __out.fill(); for (; __n > 0; --__n) { const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); if (_Traits::eq_int_type(__put, _Traits::eof())) { __out.setstate(__ios_base::badbit); break; } } } template basic_ostream<_CharT, _Traits>& __ostream_insert(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s, streamsize __n) { typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef typename __ostream_type::ios_base __ios_base; typename __ostream_type::sentry __cerb(__out); if (__cerb) { try { 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); } catch(__cxxabiv1::__forced_unwind&) { __out._M_setstate(__ios_base::badbit); throw; } catch(...) { __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); } # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_funcs.h" 1 3 # 60 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_funcs.h" 3 #define _STL_ITERATOR_BASE_FUNCS_H 1 # 63 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_funcs.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/debug/assertions.h" 1 3 # 30 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/debug/assertions.h" 3 #define _GLIBCXX_DEBUG_ASSERTIONS_H 1 #define __glibcxx_requires_non_empty_range(_First,_Last) #define __glibcxx_requires_nonempty() #define __glibcxx_requires_subscript(_N) # 63 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/debug/assertions.h" 3 #define _GLIBCXX_DEBUG_ASSERT(_Condition) #define _GLIBCXX_DEBUG_PEDASSERT(_Condition) #define _GLIBCXX_DEBUG_ONLY(_Statement) # 66 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_funcs.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_types.h" 1 3 # 60 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_types.h" 3 #define _STL_ITERATOR_BASE_TYPES_H 1 # 63 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_types.h" 3 # 74 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_types.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 93 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_types.h" 3 struct input_iterator_tag { }; struct output_iterator_tag { }; struct forward_iterator_tag : public input_iterator_tag { }; struct bidirectional_iterator_tag : public forward_iterator_tag { }; struct random_access_iterator_tag : public bidirectional_iterator_tag { }; # 125 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_types.h" 3 template struct iterator { typedef _Category iterator_category; typedef _Tp value_type; typedef _Distance difference_type; typedef _Pointer pointer; typedef _Reference reference; }; # 149 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_types.h" 3 template struct iterator_traits; # 181 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_types.h" 3 template struct iterator_traits { 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; }; # 209 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_types.h" 3 template struct iterator_traits<_Tp*> { typedef random_access_iterator_tag iterator_category; typedef _Tp value_type; typedef ptrdiff_t difference_type; typedef _Tp* pointer; typedef _Tp& reference; }; template struct iterator_traits { typedef random_access_iterator_tag iterator_category; typedef _Tp value_type; typedef ptrdiff_t difference_type; typedef const _Tp* pointer; typedef const _Tp& reference; }; template __attribute__((__always_inline__)) inline typename iterator_traits<_Iter>::iterator_category __iterator_category(const _Iter&) { return typename iterator_traits<_Iter>::iterator_category(); } # 263 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_types.h" 3 template, typename _Cat = typename _Traits::iterator_category> struct __is_random_access_iter { enum { __value = __is_base_of(random_access_iterator_tag, _Cat) }; }; } # 67 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_funcs.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct _List_iterator; template struct _List_const_iterator; template inline typename iterator_traits<_InputIterator>::difference_type __distance(_InputIterator __first, _InputIterator __last, input_iterator_tag) { typename iterator_traits<_InputIterator>::difference_type __n = 0; while (__first != __last) { ++__first; ++__n; } return __n; } template __attribute__((__always_inline__)) inline 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); # 144 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_funcs.h" 3 template __attribute__((__always_inline__)) inline typename iterator_traits<_InputIterator>::difference_type distance(_InputIterator __first, _InputIterator __last) { return std::__distance(__first, __last, std::__iterator_category(__first)); } template inline void __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) { ; while (__n--) ++__i; } template inline void __advance(_BidirectionalIterator& __i, _Distance __n, bidirectional_iterator_tag) { if (__n > 0) while (__n--) ++__i; else while (__n++) --__i; } template inline void __advance(_RandomAccessIterator& __i, _Distance __n, random_access_iterator_tag) { if (__builtin_constant_p(__n) && __n == 1) ++__i; else if (__builtin_constant_p(__n) && __n == -1) --__i; else __i += __n; } # 217 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_funcs.h" 3 template __attribute__((__always_inline__)) inline void advance(_InputIterator& __i, _Distance __n) { typename iterator_traits<_InputIterator>::difference_type __d = __n; std::__advance(__i, __d, std::__iterator_category(__i)); } # 256 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator_base_funcs.h" 3 } # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 1 3 # 61 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 #define _STL_ITERATOR_H 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ptr_traits.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ptr_traits.h" 3 #define _PTR_TRAITS_H 1 # 68 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 2 3 # 81 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 106 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 # 106 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" # 128 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 template class reverse_iterator : public iterator::iterator_category, typename iterator_traits<_Iterator>::value_type, typename iterator_traits<_Iterator>::difference_type, typename iterator_traits<_Iterator>::pointer, typename iterator_traits<_Iterator>::reference> { template friend class reverse_iterator; # 147 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 protected: _Iterator current; typedef iterator_traits<_Iterator> __traits_type; public: typedef _Iterator iterator_type; typedef typename __traits_type::pointer pointer; typedef typename __traits_type::difference_type difference_type; typedef typename __traits_type::reference reference; # 178 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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) { } # 210 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 template reverse_iterator(const reverse_iterator<_Iter>& __x) : current(__x.current) { } # 239 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 iterator_type base() const { return current; } # 255 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 415 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 private: template static _Tp* _S_to_pointer(_Tp* __p) { return __p; } template static pointer _S_to_pointer(_Tp __t) { return __t.operator->(); } }; # 438 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 template inline bool operator==(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __x.base() == __y.base(); } template inline bool operator<(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y.base() < __x.base(); } template inline bool operator!=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__x == __y); } template inline bool operator>(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y < __x; } template inline bool operator<=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__y < __x); } template inline bool operator>=(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return !(__x < __y); } template inline 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 __x.base() > __y.base(); } 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 __x.base() < __y.base(); } 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 __x.base() <= __y.base(); } # 601 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 template inline typename reverse_iterator<_Iterator>::difference_type operator-(const reverse_iterator<_Iterator>& __x, const reverse_iterator<_Iterator>& __y) { return __y.base() - __x.base(); } template inline typename reverse_iterator<_IteratorL>::difference_type operator-(const reverse_iterator<_IteratorL>& __x, const reverse_iterator<_IteratorR>& __y) { return __y.base() - __x.base(); } # 624 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 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); } # 688 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 template class back_insert_iterator : public iterator { protected: _Container* container; public: typedef _Container container_type; explicit back_insert_iterator(_Container& __x) : container(std::__addressof(__x)) { } # 719 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 back_insert_iterator& operator=(typename _Container::const_reference __value) { container->push_back(__value); return *this; } # 744 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 back_insert_iterator& operator*() { return *this; } back_insert_iterator& operator++() { return *this; } back_insert_iterator operator++(int) { return *this; } }; # 773 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 template inline back_insert_iterator<_Container> back_inserter(_Container& __x) { return back_insert_iterator<_Container>(__x); } # 789 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 template class front_insert_iterator : public iterator { protected: _Container* container; public: typedef _Container container_type; explicit front_insert_iterator(_Container& __x) : container(std::__addressof(__x)) { } # 820 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 front_insert_iterator& operator=(typename _Container::const_reference __value) { container->push_front(__value); return *this; } # 845 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 front_insert_iterator& operator*() { return *this; } front_insert_iterator& operator++() { return *this; } front_insert_iterator operator++(int) { return *this; } }; # 874 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 template inline front_insert_iterator<_Container> front_inserter(_Container& __x) { return front_insert_iterator<_Container>(__x); } # 894 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 template class insert_iterator : public iterator { typedef typename _Container::iterator _Iter; protected: _Container* container; _Iter iter; public: typedef _Container container_type; # 919 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 insert_iterator(_Container& __x, _Iter __i) : container(std::__addressof(__x)), iter(__i) {} # 947 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 insert_iterator& operator=(typename _Container::const_reference __value) { iter = container->insert(iter, __value); ++iter; return *this; } # 975 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 insert_iterator& operator*() { return *this; } insert_iterator& operator++() { return *this; } insert_iterator& operator++(int) { return *this; } }; #pragma GCC diagnostic pop # 1014 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 template inline insert_iterator<_Container> inserter(_Container& __x, typename _Container::iterator __i) { return insert_iterator<_Container>(__x, __i); } } namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 1037 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; __normal_iterator() : _M_current(_Iterator()) { } explicit __normal_iterator(const _Iterator& __i) : _M_current(__i) { } # 1079 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 template __normal_iterator(const __normal_iterator<_Iter, typename __enable_if< (std::__are_same<_Iter, typename _Container::pointer>::__value), _Container>::__type>& __i) : _M_current(__i.base()) { } reference operator*() const { return *_M_current; } pointer operator->() const { return _M_current; } __normal_iterator& operator++() { ++_M_current; return *this; } __normal_iterator operator++(int) { return __normal_iterator(_M_current++); } __normal_iterator& operator--() { --_M_current; return *this; } __normal_iterator operator--(int) { return __normal_iterator(_M_current--); } reference operator[](difference_type __n) const { return _M_current[__n]; } __normal_iterator& operator+=(difference_type __n) { _M_current += __n; return *this; } __normal_iterator operator+(difference_type __n) const { return __normal_iterator(_M_current + __n); } __normal_iterator& operator-=(difference_type __n) { _M_current -= __n; return *this; } __normal_iterator operator-(difference_type __n) const { return __normal_iterator(_M_current - __n); } const _Iterator& base() const { return _M_current; } }; # 1205 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 template inline bool operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() == __rhs.base(); } template inline bool operator==(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() == __rhs.base(); } template inline bool operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() != __rhs.base(); } template inline bool operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() != __rhs.base(); } template inline bool operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() < __rhs.base(); } template inline bool operator<(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() < __rhs.base(); } template inline bool operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() > __rhs.base(); } template inline bool operator>(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() > __rhs.base(); } template inline bool operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() <= __rhs.base(); } template inline bool operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() <= __rhs.base(); } template inline bool operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { return __lhs.base() >= __rhs.base(); } template inline bool operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, const __normal_iterator<_Iterator, _Container>& __rhs) { return __lhs.base() >= __rhs.base(); } template # 1316 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 inline typename __normal_iterator<_IteratorL, _Container>::difference_type operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, const __normal_iterator<_IteratorR, _Container>& __rhs) { 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) { 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) { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } } namespace std __attribute__ ((__visibility__ ("default"))) { template _Iterator __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) { return __it.base(); } # 2965 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 #define _GLIBCXX_MAKE_MOVE_ITERATOR(_Iter) (_Iter) #define _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(_Iter) (_Iter) # 2988 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_iterator.h" 3 } # 49 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 1 3 # 57 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 3 #define _STL_FUNCTION_H 1 namespace std __attribute__ ((__visibility__ ("default"))) { # 116 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 3 template struct unary_function { typedef _Arg argument_type; typedef _Result result_type; } ; template struct binary_function { typedef _Arg1 first_argument_type; typedef _Arg2 second_argument_type; typedef _Result result_type; } ; # 179 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 3 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template struct plus : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x + __y; } }; template struct minus : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x - __y; } }; template struct multiplies : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x * __y; } }; template struct divides : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x / __y; } }; template struct modulus : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x % __y; } }; template struct negate : public unary_function<_Tp, _Tp> { _Tp operator()(const _Tp& __x) const { return -__x; } }; #pragma GCC diagnostic pop # 365 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 3 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template struct equal_to : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x == __y; } }; template struct not_equal_to : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x != __y; } }; template struct greater : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x > __y; } }; template struct less : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x < __y; } }; template struct greater_equal : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x >= __y; } }; template struct less_equal : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x <= __y; } }; template struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool> { bool operator()(_Tp* __x, _Tp* __y) const throw() { return (long unsigned int)__x > (long unsigned int)__y; } }; template struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool> { bool operator()(_Tp* __x, _Tp* __y) const throw() { return (long unsigned int)__x < (long unsigned int)__y; } }; template struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool> { bool operator()(_Tp* __x, _Tp* __y) const throw() { return (long unsigned int)__x >= (long unsigned int)__y; } }; template struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool> { bool operator()(_Tp* __x, _Tp* __y) const throw() { return (long unsigned int)__x <= (long unsigned int)__y; } }; #pragma GCC diagnostic pop # 788 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 3 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template struct logical_and : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x && __y; } }; template struct logical_or : public binary_function<_Tp, _Tp, bool> { bool operator()(const _Tp& __x, const _Tp& __y) const { return __x || __y; } }; template struct logical_not : public unary_function<_Tp, bool> { bool operator()(const _Tp& __x) const { return !__x; } }; #pragma GCC diagnostic pop # 884 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 3 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template struct bit_and : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x & __y; } }; template struct bit_or : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x | __y; } }; template struct bit_xor : public binary_function<_Tp, _Tp, _Tp> { _Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x ^ __y; } }; template struct bit_not : public unary_function<_Tp, _Tp> { _Tp operator()(const _Tp& __x) const { return ~__x; } }; #pragma GCC diagnostic pop # 984 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 3 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" # 1020 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 3 template class unary_negate : public unary_function { protected: _Predicate _M_pred; public: explicit unary_negate(const _Predicate& __x) : _M_pred(__x) { } bool operator()(const typename _Predicate::argument_type& __x) const { return !_M_pred(__x); } }; template inline unary_negate<_Predicate> not1(const _Predicate& __pred) { return unary_negate<_Predicate>(__pred); } template class binary_negate : public binary_function { protected: _Predicate _M_pred; public: explicit binary_negate(const _Predicate& __x) : _M_pred(__x) { } bool operator()(const typename _Predicate::first_argument_type& __x, const typename _Predicate::second_argument_type& __y) const { return !_M_pred(__x, __y); } }; template inline binary_negate<_Predicate> not2(const _Predicate& __pred) { return binary_negate<_Predicate>(__pred); } # 1101 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 3 template class pointer_to_unary_function : public unary_function<_Arg, _Result> { protected: _Result (*_M_ptr)(_Arg); public: pointer_to_unary_function() { } explicit pointer_to_unary_function(_Result (*__x)(_Arg)) : _M_ptr(__x) { } _Result operator()(_Arg __x) const { return _M_ptr(__x); } } ; template inline pointer_to_unary_function<_Arg, _Result> ptr_fun(_Result (*__x)(_Arg)) { return pointer_to_unary_function<_Arg, _Result>(__x); } template class pointer_to_binary_function : public binary_function<_Arg1, _Arg2, _Result> { protected: _Result (*_M_ptr)(_Arg1, _Arg2); public: pointer_to_binary_function() { } explicit pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) : _M_ptr(__x) { } _Result operator()(_Arg1 __x, _Arg2 __y) const { return _M_ptr(__x, __y); } } ; template inline pointer_to_binary_function<_Arg1, _Arg2, _Result> ptr_fun(_Result (*__x)(_Arg1, _Arg2)) { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } template struct _Identity : public unary_function<_Tp, _Tp> { _Tp& operator()(_Tp& __x) const { return __x; } const _Tp& operator()(const _Tp& __x) const { return __x; } }; template struct _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; } # 1193 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 3 }; 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; } }; # 1228 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 3 template class mem_fun_t : public unary_function<_Tp*, _Ret> { public: explicit mem_fun_t(_Ret (_Tp::*__pf)()) : _M_f(__pf) { } _Ret operator()(_Tp* __p) const { return (__p->*_M_f)(); } private: _Ret (_Tp::*_M_f)(); } ; template class const_mem_fun_t : public unary_function { public: explicit const_mem_fun_t(_Ret (_Tp::*__pf)() const) : _M_f(__pf) { } _Ret operator()(const _Tp* __p) const { return (__p->*_M_f)(); } private: _Ret (_Tp::*_M_f)() const; } ; template class mem_fun_ref_t : public unary_function<_Tp, _Ret> { public: explicit mem_fun_ref_t(_Ret (_Tp::*__pf)()) : _M_f(__pf) { } _Ret operator()(_Tp& __r) const { return (__r.*_M_f)(); } private: _Ret (_Tp::*_M_f)(); } ; template class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> { public: explicit const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) : _M_f(__pf) { } _Ret operator()(const _Tp& __r) const { return (__r.*_M_f)(); } private: _Ret (_Tp::*_M_f)() const; } ; template class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> { public: explicit mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) : _M_f(__pf) { } _Ret operator()(_Tp* __p, _Arg __x) const { return (__p->*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg); } ; template class const_mem_fun1_t : public binary_function { public: explicit const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) : _M_f(__pf) { } _Ret operator()(const _Tp* __p, _Arg __x) const { return (__p->*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg) const; } ; template class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> { public: explicit mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) : _M_f(__pf) { } _Ret operator()(_Tp& __r, _Arg __x) const { return (__r.*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg); } ; template class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> { public: explicit const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) : _M_f(__pf) { } _Ret operator()(const _Tp& __r, _Arg __x) const { return (__r.*_M_f)(__x); } private: _Ret (_Tp::*_M_f)(_Arg) const; } ; template inline mem_fun_t<_Ret, _Tp> mem_fun(_Ret (_Tp::*__f)()) { return mem_fun_t<_Ret, _Tp>(__f); } template inline const_mem_fun_t<_Ret, _Tp> mem_fun(_Ret (_Tp::*__f)() const) { return const_mem_fun_t<_Ret, _Tp>(__f); } template inline mem_fun_ref_t<_Ret, _Tp> mem_fun_ref(_Ret (_Tp::*__f)()) { return mem_fun_ref_t<_Ret, _Tp>(__f); } template inline const_mem_fun_ref_t<_Ret, _Tp> mem_fun_ref(_Ret (_Tp::*__f)() const) { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } template inline mem_fun1_t<_Ret, _Tp, _Arg> mem_fun(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } template inline const_mem_fun1_t<_Ret, _Tp, _Arg> mem_fun(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } template inline mem_fun1_ref_t<_Ret, _Tp, _Arg> mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } template inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } #pragma GCC diagnostic pop # 1431 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 3 } # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/backward/binders.h" 1 3 # 57 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/backward/binders.h" 3 #define _BACKWARD_BINDERS_H 1 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" namespace std __attribute__ ((__visibility__ ("default"))) { # 107 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/backward/binders.h" 3 template class binder1st : public unary_function { protected: _Operation op; typename _Operation::first_argument_type value; public: binder1st(const _Operation& __x, const typename _Operation::first_argument_type& __y) : op(__x), value(__y) { } typename _Operation::result_type operator()(const typename _Operation::second_argument_type& __x) const { return op(value, __x); } typename _Operation::result_type operator()(typename _Operation::second_argument_type& __x) const { return op(value, __x); } } ; 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); } } ; 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 # 1436 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_function.h" 2 3 # 50 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/numeric_traits.h" 1 3 # 30 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/numeric_traits.h" 3 #define _EXT_NUMERIC_TRAITS 1 # 33 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/numeric_traits.h" 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { # 50 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/numeric_traits.h" 3 template struct __is_integer_nonstrict : public std::__is_integer<_Tp> { using std::__is_integer<_Tp>::__value; enum { __width = __value ? sizeof(_Tp) * 8 : 0 }; }; template struct __numeric_traits_integer { static const bool __is_signed = (_Value)(-1) < 0; static const int __digits = __is_integer_nonstrict<_Value>::__width - __is_signed; static const _Value __max = __is_signed ? (((((_Value)1 << (__digits - 1)) - 1) << 1) + 1) : ~(_Value)0; static const _Value __min = __is_signed ? -__max - 1 : (_Value)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; #define _GLIBCXX_INT_N_TRAITS(T,WIDTH) __extension__ template<> struct __is_integer_nonstrict { enum { __value = 1 }; typedef std::__true_type __type; enum { __width = WIDTH }; }; __extension__ template<> struct __is_integer_nonstrict { enum { __value = 1 }; typedef std::__true_type __type; enum { __width = WIDTH }; }; # 130 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/numeric_traits.h" 3 __extension__ template<> struct __is_integer_nonstrict<__int128> { enum { __value = 1 }; typedef std::__true_type __type; enum { __width = 128 }; }; __extension__ template<> struct __is_integer_nonstrict { enum { __value = 1 }; typedef std::__true_type __type; enum { __width = 128 }; }; #undef _GLIBCXX_INT_N_TRAITS #define __glibcxx_floating(_Tp,_Fval,_Dval,_LDval) (std::__are_same<_Tp, float>::__value ? _Fval : std::__are_same<_Tp, double>::__value ? _Dval : _LDval) #define __glibcxx_max_digits10(_Tp) (2 + __glibcxx_floating(_Tp, __FLT_MANT_DIG__, __DBL_MANT_DIG__, __LDBL_MANT_DIG__) * 643L / 2136) #define __glibcxx_digits10(_Tp) __glibcxx_floating(_Tp, __FLT_DIG__, __DBL_DIG__, __LDBL_DIG__) #define __glibcxx_max_exponent10(_Tp) __glibcxx_floating(_Tp, __FLT_MAX_10_EXP__, __DBL_MAX_10_EXP__, __LDBL_MAX_10_EXP__) 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 : 113) * 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 : 33); 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; #undef __glibcxx_floating #undef __glibcxx_max_digits10 #undef __glibcxx_digits10 #undef __glibcxx_max_exponent10 template struct __numeric_traits : public __numeric_traits_integer<_Value> { }; template<> struct __numeric_traits : public __numeric_traits_floating { }; template<> struct __numeric_traits : public __numeric_traits_floating { }; template<> struct __numeric_traits : public __numeric_traits_floating { }; # 238 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/numeric_traits.h" 3 } # 51 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 1 3 # 57 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 #define _STL_ALGOBASE_H 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_pair.h" 1 3 # 57 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_pair.h" 3 #define _STL_PAIR_H 1 # 68 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_pair.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 162 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_pair.h" 3 template class __pair_base { }; # 185 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_pair.h" 3 template struct pair : public __pair_base<_T1, _T2> { typedef _T1 first_type; typedef _T2 second_type; _T1 first; _T2 second; # 776 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_pair.h" 3 pair() : first(), second() { } pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) { } template pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-local-typedefs" typedef int _DanglingCheck1[ __reference_constructs_from_temporary(_T1, const _U1&) ? -1 : 1 ]; typedef int _DanglingCheck2[ __reference_constructs_from_temporary(_T2, const _U2&) ? -1 : 1 ]; #pragma GCC diagnostic pop } }; # 809 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_pair.h" 3 template inline bool operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __x.first == __y.first && __x.second == __y.second; } # 832 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_pair.h" 3 template inline 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 bool operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__x == __y); } template inline bool operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return __y < __x; } template inline bool operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__y < __x); } template inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { return !(__x < __y); } # 929 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_pair.h" 3 template inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y) { return pair<_T1, _T2>(__x, __y); } # 1116 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_pair.h" 3 } # 65 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/debug/debug.h" 1 3 # 30 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/debug/debug.h" 3 #define _GLIBCXX_DEBUG_MACRO_SWITCH_H 1 # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/debug/debug.h" 3 namespace std { namespace __debug { } } namespace __gnu_debug { using namespace std::__debug; template struct _Safe_iterator; } #define __glibcxx_requires_cond(_Cond,_Msg) #define __glibcxx_requires_valid_range(_First,_Last) #define __glibcxx_requires_can_increment(_First,_Size) #define __glibcxx_requires_can_increment_range(_First1,_Last1,_First2) #define __glibcxx_requires_can_decrement_range(_First1,_Last1,_First2) #define __glibcxx_requires_sorted(_First,_Last) #define __glibcxx_requires_sorted_pred(_First,_Last,_Pred) #define __glibcxx_requires_sorted_set(_First1,_Last1,_First2) #define __glibcxx_requires_sorted_set_pred(_First1,_Last1,_First2,_Pred) #define __glibcxx_requires_partitioned_lower(_First,_Last,_Value) #define __glibcxx_requires_partitioned_upper(_First,_Last,_Value) #define __glibcxx_requires_partitioned_lower_pred(_First,_Last,_Value,_Pred) #define __glibcxx_requires_partitioned_upper_pred(_First,_Last,_Value,_Pred) #define __glibcxx_requires_heap(_First,_Last) #define __glibcxx_requires_heap_pred(_First,_Last,_Pred) #define __glibcxx_requires_string(_String) #define __glibcxx_requires_string_len(_String,_Len) #define __glibcxx_requires_irreflexive(_First,_Last) #define __glibcxx_requires_irreflexive2(_First,_Last) #define __glibcxx_requires_irreflexive_pred(_First,_Last,_Pred) #define __glibcxx_requires_irreflexive_pred2(_First,_Last,_Pred) # 70 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/predefined_ops.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/predefined_ops.h" 3 #define _GLIBCXX_PREDEFINED_OPS_H 1 namespace __gnu_cxx { namespace __ops { struct _Iter_less_iter { template bool operator()(_Iterator1 __it1, _Iterator2 __it2) const { return *__it1 < *__it2; } }; inline _Iter_less_iter __iter_less_iter() { return _Iter_less_iter(); } struct _Iter_less_val { _Iter_less_val() { } 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 { _Val_less_iter() { } 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 _Iter_comp_iter(_Compare __comp) : _M_comp((__comp)) { } template bool operator()(_Iterator1 __it1, _Iterator2 __it2) { return bool(_M_comp(*__it1, *__it2)); } }; template inline _Iter_comp_iter<_Compare> __iter_comp_iter(_Compare __comp) { return _Iter_comp_iter<_Compare>((__comp)); } template struct _Iter_comp_val { _Compare _M_comp; explicit _Iter_comp_val(_Compare __comp) : _M_comp((__comp)) { } explicit _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp) : _M_comp(__comp._M_comp) { } # 192 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/predefined_ops.h" 3 template bool operator()(_Iterator __it, _Value& __val) { return bool(_M_comp(*__it, __val)); } }; template inline _Iter_comp_val<_Compare> __iter_comp_val(_Compare __comp) { return _Iter_comp_val<_Compare>((__comp)); } template inline _Iter_comp_val<_Compare> __iter_comp_val(_Iter_comp_iter<_Compare> __comp) { return _Iter_comp_val<_Compare>((__comp)); } template struct _Val_comp_iter { _Compare _M_comp; explicit _Val_comp_iter(_Compare __comp) : _M_comp((__comp)) { } explicit _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp) : _M_comp(__comp._M_comp) { } # 236 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/predefined_ops.h" 3 template bool operator()(_Value& __val, _Iterator __it) { return bool(_M_comp(__val, *__it)); } }; template inline _Val_comp_iter<_Compare> __val_comp_iter(_Compare __comp) { return _Val_comp_iter<_Compare>((__comp)); } template inline _Val_comp_iter<_Compare> __val_comp_iter(_Iter_comp_iter<_Compare> __comp) { return _Val_comp_iter<_Compare>((__comp)); } 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((__pred)) { } template bool operator()(_Iterator __it) { return bool(_M_pred(*__it)); } }; template inline _Iter_pred<_Predicate> __pred_iter(_Predicate __pred) { return _Iter_pred<_Predicate>((__pred)); } template struct _Iter_comp_to_val { _Compare _M_comp; _Value& _M_value; _Iter_comp_to_val(_Compare __comp, _Value& __value) : _M_comp((__comp)), _M_value(__value) { } template bool operator()(_Iterator __it) { return bool(_M_comp(*__it, _M_value)); } }; template _Iter_comp_to_val<_Compare, _Value> __iter_comp_val(_Compare __comp, _Value &__val) { return _Iter_comp_to_val<_Compare, _Value>((__comp), __val); } template struct _Iter_comp_to_iter { _Compare _M_comp; _Iterator1 _M_it1; _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) : _M_comp((__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>( (__comp._M_comp), __it); } template struct _Iter_negate { _Predicate _M_pred; explicit _Iter_negate(_Predicate __pred) : _M_pred((__pred)) { } template bool operator()(_Iterator __it) { return !bool(_M_pred(*__it)); } }; template inline _Iter_negate<_Predicate> __negate(_Iter_pred<_Predicate> __pred) { return _Iter_negate<_Predicate>((__pred._M_pred)); } } } # 72 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 2 3 # 82 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline int __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num) { # 108 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num); } template struct __iter_swap { template static void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) { typedef typename iterator_traits<_ForwardIterator1>::value_type _ValueType1; _ValueType1 __tmp = *__a; *__a = *__b; *__b = __tmp; } }; template<> struct __iter_swap { template static void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) { swap(*__a, *__b); } }; # 152 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template inline void iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) { typedef typename iterator_traits<_ForwardIterator1>::value_type _ValueType1; typedef typename iterator_traits<_ForwardIterator2>::value_type _ValueType2; typedef typename iterator_traits<_ForwardIterator1>::reference _ReferenceType1; typedef typename iterator_traits<_ForwardIterator2>::reference _ReferenceType2; std::__iter_swap<__are_same<_ValueType1, _ValueType2>::__value && __are_same<_ValueType1&, _ReferenceType1>::__value && __are_same<_ValueType2&, _ReferenceType2>::__value>:: iter_swap(__a, __b); } # 201 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; } # 230 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template inline const _Tp& min(const _Tp& __a, const _Tp& __b) { if (__b < __a) return __b; return __a; } # 254 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template inline const _Tp& max(const _Tp& __a, const _Tp& __b) { if (__a < __b) return __b; return __a; } # 278 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template inline const _Tp& min(const _Tp& __a, const _Tp& __b, _Compare __comp) { if (__comp(__b, __a)) return __b; return __a; } # 300 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template inline const _Tp& max(const _Tp& __a, const _Tp& __b, _Compare __comp) { if (__comp(__a, __b)) return __b; return __a; } template inline _Iterator __niter_base(_Iterator __it) { return __it; } template _Ite __niter_base(const ::__gnu_debug::_Safe_iterator<_Ite, _Seq, std::random_access_iterator_tag>&); 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; } }; # 378 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 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 static void __assign_one(_Tp* __to, _Up* __from) { *__to = *__from; } }; # 428 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template struct __copy_move<_IsMove, true, random_access_iterator_tag> { template static _Up* __copy_m(_Tp* __first, _Tp* __last, _Up* __result) { const ptrdiff_t _Num = __last - __first; if (__builtin_expect(_Num > 1, true)) __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); else if (_Num == 1) std::__copy_move<_IsMove, false, random_access_iterator_tag>:: __assign_one(__result, __first); return __result + _Num; } }; template struct _Deque_iterator; struct _Bit_iterator; 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 typename __gnu_cxx::__enable_if< __is_char<_CharT>::__value, std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type __copy_move_a2( istreambuf_iterator<_CharT, char_traits<_CharT> >, istreambuf_iterator<_CharT, char_traits<_CharT> >, std::_Deque_iterator<_CharT, _CharT&, _CharT*>); template inline _OI __copy_move_a2(_II __first, _II __last, _OI __result) { typedef typename iterator_traits<_II>::iterator_category _Category; return std::__copy_move<_IsMove, __memcpyable<_OI, _II>::__value, _Category>::__copy_m(__first, __last, __result); } 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>&); template _OutputIterator __copy_n_a(_InputIterator __first, _Size __n, _OutputIterator __result, bool) { if (__n > 0) { while (true) { *__result = *__first; ++__result; if (--__n > 0) ++__first; else break; } } return __result; } template typename __gnu_cxx::__enable_if< __is_char<_CharT>::__value, _CharT*>::__type __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, _Size, _CharT*, bool); template typename __gnu_cxx::__enable_if< __is_char<_CharT>::__value, std::_Deque_iterator<_CharT, _CharT&, _CharT*> >::__type __copy_n_a(istreambuf_iterator<_CharT, char_traits<_CharT> >, _Size, std::_Deque_iterator<_CharT, _CharT&, _CharT*>, bool); # 625 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 675 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 #define _GLIBCXX_MOVE3(_Tp,_Up,_Vp) std::copy(_Tp, _Up, _Vp) template struct __copy_move_backward { template static _BI2 __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) { while (__first != __last) *--__result = *--__last; return __result; } }; # 708 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 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; } }; # 742 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template struct __copy_move_backward<_IsMove, true, random_access_iterator_tag> { template static _Up* __copy_move_b(_Tp* __first, _Tp* __last, _Up* __result) { const ptrdiff_t _Num = __last - __first; if (__builtin_expect(_Num > 1, true)) __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); else if (_Num == 1) std::__copy_move<_IsMove, false, random_access_iterator_tag>:: __assign_one(__result - 1, __first); return __result - _Num; } }; template inline _BI2 __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) { typedef typename iterator_traits<_BI1>::iterator_category _Category; return std::__copy_move_backward<_IsMove, __memcpyable<_BI2, _BI1>::__value, _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>&); # 861 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 915 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 #define _GLIBCXX_MOVE_BACKWARD3(_Tp,_Up,_Vp) std::copy_backward(_Tp, _Up, _Vp) 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; # 957 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 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&); void __fill_a1(std::_Bit_iterator, std::_Bit_iterator, const bool&); 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&); # 1005 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template inline void fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) { ; std::__fill_a(__first, __last, __value); } inline int __size_to_integer(int __n) { return __n; } inline unsigned __size_to_integer(unsigned __n) { return __n; } inline long __size_to_integer(long __n) { return __n; } inline unsigned long __size_to_integer(unsigned long __n) { return __n; } inline long long __size_to_integer(long long __n) { return __n; } inline unsigned long long __size_to_integer(unsigned long long __n) { return __n; } # 1057 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 inline long long __size_to_integer(float __n) { return (long long)__n; } inline long long __size_to_integer(double __n) { return (long long)__n; } inline long long __size_to_integer(long double __n) { return (long long)__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) { return __fill_n_a1(__first, __n, __value); } template inline _OutputIterator __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value, std::input_iterator_tag) { 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) { if (__n <= 0) return __first; ; std::__fill_a(__first, __first + __n, __value); return __first + __n; } # 1158 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; const bool __simple = ((__is_integer<_ValueType1>::__value || __is_pointer<_ValueType1>::__value) && __memcmpable<_II1, _II2>::__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 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { using __gnu_cxx::__ops::__iter_less_iter; return std::__lexicographical_compare_impl(__first1, __last1, __first2, __last2, __iter_less_iter()); } template static int __3way(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { while (__first1 != __last1) { if (__first2 == __last2) return +1; if (*__first1 < *__first2) return -1; if (*__first2 < *__first1) return +1; ++__first1; ++__first2; } return int(__first2 == __last2) - 1; } }; template<> struct __lexicographical_compare { template static bool __lc(const _Tp* __first1, const _Tp* __last1, const _Up* __first2, const _Up* __last2) { return __3way(__first1, __last1, __first2, __last2) < 0; } template static ptrdiff_t __3way(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; return ptrdiff_t(__len1 - __len2); } }; template inline bool __lexicographical_compare_aux1(_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_memcmp_ordered_with<_ValueType1, _ValueType2>::__value && __is_pointer<_II1>::__value && __is_pointer<_II2>::__value ); return std::__lexicographical_compare<__simple>::__lc(__first1, __last1, __first2, __last2); } template bool __lexicographical_compare_aux1( std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, _Tp2*, _Tp2*); template bool __lexicographical_compare_aux1(_Tp1*, _Tp1*, std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>, std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>); template bool __lexicographical_compare_aux1( std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, std::_Deque_iterator<_Tp1, _Ref1, _Ptr1>, std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>, std::_Deque_iterator<_Tp2, _Ref2, _Ptr2>); template inline bool __lexicographical_compare_aux(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { return std::__lexicographical_compare_aux1(std::__niter_base(__first1), std::__niter_base(__last1), std::__niter_base(__first2), std::__niter_base(__last2)); } template bool __lexicographical_compare_aux( const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, _II2, _II2); template bool __lexicographical_compare_aux( _II1, _II1, const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&, const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&); template bool __lexicographical_compare_aux( const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, const ::__gnu_debug::_Safe_iterator<_Iter1, _Seq1, _Cat1>&, const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&, const ::__gnu_debug::_Safe_iterator<_Iter2, _Seq2, _Cat2>&); 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; } # 1510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template inline _ForwardIterator lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __val) { ; return std::__lower_bound(__first, __last, __val, __gnu_cxx::__ops::__iter_less_val()); } template inline _Tp __lg(_Tp __n) { return (sizeof(+__n) * 8 - 1) - (sizeof(+__n) == sizeof(long long) ? __builtin_clzll(+__n) : (sizeof(+__n) == sizeof(long) ? __builtin_clzl(+__n) : __builtin_clz(+__n))); } # 1559 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template inline bool equal(_II1 __first1, _II1 __last1, _II2 __first2) { ; return std::__equal_aux(__first1, __last1, __first2); } # 1590 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; } # 1742 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template inline bool lexicographical_compare(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) { ; ; return std::__lexicographical_compare_aux(__first1, __last1, __first2, __last2); } # 1777 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template inline bool lexicographical_compare(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2, _Compare __comp) { ; ; return std::__lexicographical_compare_impl (__first1, __last1, __first2, __last2, __gnu_cxx::__ops::__iter_comp_iter(__comp)); } # 1889 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 1917 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template inline pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2) { ; return std::__mismatch(__first1, __last1, __first2, __gnu_cxx::__ops::__iter_equal_to_iter()); } # 1951 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 template inline pair<_InputIterator1, _InputIterator2> mismatch(_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _BinaryPredicate __binary_pred) { ; return std::__mismatch(__first1, __last1, __first2, __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); } # 2054 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 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 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; } 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 = (*__first); ++__result; } return __result; } 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; } # 2278 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.h" 3 # 2301 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_algobase.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)); } } # 52 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/refwrap.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/refwrap.h" 3 #define _GLIBCXX_REFWRAP_H 1 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/refwrap.h" 3 # 53 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/range_access.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/range_access.h" 3 #define _GLIBCXX_RANGE_ACCESS_H 1 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/range_access.h" 3 # 54 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 #define _BASIC_STRING_H 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/alloc_traits.h" 1 3 # 30 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/alloc_traits.h" 3 #define _EXT_ALLOC_TRAITS_H 1 # 33 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/alloc_traits.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/alloc_traits.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/alloc_traits.h" 3 #define _ALLOC_TRAITS_H 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_construct.h" 1 3 # 57 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_construct.h" 3 #define _STL_CONSTRUCT_H 1 # 73 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_construct.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 122 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_construct.h" 3 template inline void _Construct(_T1* __p, const _T2& __value) { ::new(static_cast(__p)) _T1(__value); } template inline void _Construct_novalue(_T1* __p) { ::new((void*)__p) _T1; } template void _Destroy(_ForwardIterator __first, _ForwardIterator __last); template inline void _Destroy(_Tp* __pointer) { __pointer->~_Tp(); } template struct _Destroy_aux { template static void __destroy(_ForwardIterator __first, _ForwardIterator __last) { for (; __first != __last; ++__first) std::_Destroy(std::__addressof(*__first)); } }; template<> struct _Destroy_aux { template static void __destroy(_ForwardIterator, _ForwardIterator) { } }; template inline void _Destroy(_ForwardIterator __first, _ForwardIterator __last) { typedef typename iterator_traits<_ForwardIterator>::value_type _Value_type; # 195 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_construct.h" 3 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; # 244 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_construct.h" 3 return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>:: __destroy_n(__first, __count); } # 264 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/stl_construct.h" 3 } # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/alloc_traits.h" 2 3 # 43 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/alloc_traits.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 866 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/alloc_traits.h" 3 template struct __alloc_swap { static void _S_do_it(_Alloc&, _Alloc&) { } }; template struct __alloc_swap<_Alloc, false> { static void _S_do_it(_Alloc& __one, _Alloc& __two) { if (__one != __two) swap(__one, __two); } }; # 919 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/alloc_traits.h" 3 template void _Destroy(_ForwardIterator __first, _ForwardIterator __last, _Allocator& __alloc) { for (; __first != __last; ++__first) __alloc.destroy(std::__addressof(*__first)); } template __attribute__((__always_inline__)) inline void _Destroy(_ForwardIterator __first, _ForwardIterator __last, allocator<_Tp>&) { std::_Destroy(__first, __last); } } # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/alloc_traits.h" 2 3 namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) { template struct __alloc_traits { typedef _Alloc allocator_type; # 129 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ext/alloc_traits.h" 3 typedef typename _Alloc::pointer pointer; typedef typename _Alloc::const_pointer const_pointer; typedef typename _Alloc::value_type value_type; typedef typename _Alloc::reference reference; typedef typename _Alloc::const_reference const_reference; typedef typename _Alloc::size_type size_type; typedef typename _Alloc::difference_type difference_type; __attribute__((__always_inline__)) static pointer allocate(_Alloc& __a, size_type __n) { return __a.allocate(__n); } template __attribute__((__always_inline__)) static pointer allocate(_Alloc& __a, size_type __n, _Hint __hint) { return __a.allocate(__n, __hint); } __attribute__((__always_inline__)) static void deallocate(_Alloc& __a, pointer __p, size_type __n) { __a.deallocate(__p, __n); } template __attribute__((__always_inline__)) static void construct(_Alloc& __a, pointer __p, const _Tp& __arg) { __a.construct(__p, __arg); } __attribute__((__always_inline__)) static void destroy(_Alloc& __a, pointer __p) { __a.destroy(__p); } __attribute__((__always_inline__)) static size_type max_size(const _Alloc& __a) { return __a.max_size(); } __attribute__((__always_inline__)) static const _Alloc& _S_select_on_copy(const _Alloc& __a) { return __a; } __attribute__((__always_inline__)) static void _S_on_swap(_Alloc& __a, _Alloc& __b) { std::__alloc_swap<_Alloc>::_S_do_it(__a, __b); } template struct rebind { typedef typename _Alloc::template rebind<_Tp>::other other; }; }; } # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 2 3 # 54 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 1 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #define __glibcxx_incomplete_container_elements 201505L #undef __glibcxx_want_incomplete_container_elements # 71 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_uncaught_exceptions # 82 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_allocator_traits_is_always_equal # 93 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_null_pointer # 104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_result_of_sfinae # 120 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_arrays # 131 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_swappable # 142 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_void_t # 153 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_enable_shared_from_this # 164 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_spec_funcs # 175 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_coroutine # 186 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_exchange_function # 197 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_sequence # 208 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integral_constant_callable # 219 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_final # 230 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_reverse_iterator # 241 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_null_iterators # 252 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transformation_trait_aliases # 263 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transparent_operators # 274 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuple_element_t # 285 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuples_by_type # 296 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_robust_nonmodifying_seq_ops # 312 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_chars # 323 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono_udls # 334 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_complex_udls # 345 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_associative_lookup # 356 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_unique # 367 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_quoted_string_io # 378 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_timed_mutex # 389 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_udls # 400 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_addressof_constexpr # 411 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_any # 422 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_apply # 433 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_as_const # 444 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_is_always_lock_free # 455 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bool_constant # 466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byte # 477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_has_unique_object_representations # 488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hardware_interference_size # 499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke # 510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_aggregate # 521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_invocable # 532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_launder # 543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_logical_traits # 554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_from_tuple # 565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_not_fn # 576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_trait_variable_templates # 592 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_variant # 603 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_lcm # 614 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd # 625 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd_lcm # 636 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_raw_memory_algorithms # 652 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_array_constexpr # 663 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_nonmember_container_access # 674 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_clamp # 685 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_sample # 696 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_boyer_moore_searcher # 712 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono # 723 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_execution # 734 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_filesystem # 745 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hypot # 756 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_map_try_emplace # 767 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_special_functions # 783 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_memory_resource # 794 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_node_extract # 805 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_parallel_algorithm # 816 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_scoped_lock # 827 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_mutex # 838 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_weak_type # 849 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_view # 860 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unordered_map_try_emplace # 871 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_assume_aligned # 882 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_flag_test # 893 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_float # 904 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_lock_free_type_aliases # 915 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_ref # 926 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_value_initialization # 937 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bind_front # 948 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_starts_ends_with # 959 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bit_cast # 970 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bitops # 981 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bounded_array_traits # 992 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_concepts # 1013 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_optional # 1024 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_destroying_delete # 1035 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string_view # 1046 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_endian # 1057 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_int_pow2 # 1068 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_comparison_functions # 1079 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_constant_evaluated # 1095 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_char_traits # 1106 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_layout_compatible # 1117 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_nothrow_convertible # 1128 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_pointer_interconvertible # 1139 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_constants # 1150 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_obj_using_allocator # 1161 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_remove_cvref # 1172 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_source_location # 1188 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_span # 1199 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ssize # 1210 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_three_way_comparison # 1221 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_address # 1232 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_array # 1243 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_identity # 1254 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unwrap_ref # 1265 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_iterator # 1276 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_interpolate # 1287 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_utility # 1298 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shift # 1314 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges # 1325 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_numeric # 1336 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_functional # 1347 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_algorithms # 1358 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_tuple # 1374 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_memory # 1385 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_shared_ptr # 1401 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_wait # 1412 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_barrier # 1423 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_format # 1434 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_complex # 1445 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_dynamic_alloc # 1466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string # 1477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_vector # 1488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_erase_if # 1499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_unordered_lookup # 1510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_jthread # 1521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_latch # 1532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_list_remove_return_type # 1543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_polymorphic_allocator # 1554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_iterator_concept # 1565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_semaphore # 1576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_smart_ptr_for_overwrite # 1587 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_syncbuf # 1598 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byteswap # 1609 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_charconv # 1620 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_typeinfo # 1631 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_expected # 1642 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_algorithm # 1653 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_array # 1664 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_cstring # 1675 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_expected # 1686 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_optional # 1697 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_string_view # 1708 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_variant # 1719 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke_r # 1730 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_scoped_enum # 1741 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_reference_from_temporary # 1752 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_to_container # 1763 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_zip # 1774 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk # 1785 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_slide # 1796 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk_by # 1807 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_join_with # 1818 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_repeat # 1829 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_stride # 1840 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_cartesian_product # 1851 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_rvalue # 1862 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_const # 1873 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_enumerate # 1884 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_fold # 1895 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_contains # 1906 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_iota # 1917 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_find_last # 1928 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_bitset # 1939 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stdatomic_h # 1950 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_adaptor_iterator_pair_constructor # 1961 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_formatters # 1972 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_forward_like # 1983 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ios_noreplace # 1994 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_only_function # 2005 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_out_ptr # 2016 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_print # 2027 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_spanstream # 2038 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stacktrace # 2049 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_contains # 2060 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_resize_and_overwrite # 2071 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_underlying # 2082 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unreachable # 2093 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_fstream_native_handle # 2104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ratio # 2115 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_saturation_arithmetic # 2126 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_string # 2137 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generator #undef __glibcxx_want_all # 55 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { namespace __cxx11 { # 85 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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 iterator __const_iterator; private: static pointer _S_allocate(_Char_alloc_type& __a, size_type __n) { pointer __p = _Alloc_traits::allocate(__a, __n); # 141 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 return __p; } # 186 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 struct _Alloc_hider : allocator_type { _Alloc_hider(pointer __dat, const _Alloc& __a = _Alloc()) : allocator_type(__a), _M_p(__dat) { } # 201 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 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 pointer(_M_local_buf); } const_pointer _M_local_data() const { return const_pointer(_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 { if (_M_data() == _M_local_data()) { if (_M_string_length > _S_local_capacity) __builtin_unreachable(); return true; } return false; } 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, 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; } __attribute__((__always_inline__)) void _M_init_local_buf() { } __attribute__((__always_inline__)) pointer _M_use_local_data() { return _M_local_data(); } private: # 389 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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 { const bool __testoff = __off < this->size() - __pos; return __testoff ? __off : this->size() - __pos; } bool _M_disjunct(const _CharT* __s) const { 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) { _S_copy_chars(__p, __k1.base(), __k2.base()); } static void _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) { _S_copy_chars(__p, __k1.base(), __k2.base()); } static void _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) { _S_copy(__p, __k1, __k2 - __k1); } static void _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) { _S_copy(__p, __k1, __k2 - __k1); } static int _S_compare(size_type __n1, size_type __n2) { 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() : _M_dataplus(_M_local_data()) { _M_init_local_buf(); _M_set_length(0); } explicit basic_string(const _Alloc& __a) : _M_dataplus(_M_local_data(), __a) { _M_init_local_buf(); _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(), std::forward_iterator_tag()); } # 568 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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), std::forward_iterator_tag()); } 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), std::forward_iterator_tag()); } # 603 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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), std::forward_iterator_tag()); } # 623 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string(const _CharT* __s, size_type __n, const _Alloc& __a = _Alloc()) : _M_dataplus(_M_local_data(), __a) { if (__s == 0 && __n > 0) std::__throw_logic_error(("basic_string: " "construction from null is not valid") ); _M_construct(__s, __s + __n, std::forward_iterator_tag()); } # 645 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) : _M_dataplus(_M_local_data(), __a) { if (__s == 0) std::__throw_logic_error(("basic_string: " "construction from null is not valid") ); const _CharT* __end = __s + traits_type::length(__s); _M_construct(__s, __end, forward_iterator_tag()); } # 668 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 762 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template basic_string(_InputIterator __beg, _InputIterator __end, const _Alloc& __a = _Alloc()) : _M_dataplus(_M_local_data(), __a), _M_string_length(0) { typedef typename std::__is_integer<_InputIterator>::__type _Integral; _M_construct_aux(__beg, __end, _Integral()); } # 807 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 838 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& operator=(_CharT __c) { this->assign(1, __c); return *this; } # 958 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 iterator begin() { return iterator(_M_data()); } const_iterator begin() const { return const_iterator(_M_data()); } iterator end() { return iterator(_M_data() + this->size()); } const_iterator end() const { return const_iterator(_M_data() + this->size()); } reverse_iterator rbegin() { return reverse_iterator(this->end()); } const_reverse_iterator rbegin() const { return const_reverse_iterator(this->end()); } reverse_iterator rend() { return reverse_iterator(this->begin()); } const_reverse_iterator rend() const { return const_reverse_iterator(this->begin()); } # 1070 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 public: size_type size() const { return _M_string_length; } size_type length() const { return _M_string_length; } size_type max_size() const { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; } # 1102 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 void resize(size_type __n, _CharT __c); # 1116 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 void resize(size_type __n) { this->resize(__n, _CharT()); } # 1178 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type capacity() const { return _M_is_local() ? size_type(_S_local_capacity) : _M_allocated_capacity; } # 1203 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 void reserve(size_type __res_arg); void reserve(); void clear() { _M_set_length(0); } bool empty() const { return this->size() == 0; } # 1245 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 const_reference operator[] (size_type __pos) const { ; return _M_data()[__pos]; } # 1263 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 reference operator[](size_type __pos) { ; ; return _M_data()[__pos]; } # 1285 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 const_reference at(size_type __n) const { if (__n >= this->size()) __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") , __n, this->size()); return _M_data()[__n]; } # 1307 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 reference at(size_type __n) { if (__n >= size()) __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)") , __n, this->size()); return _M_data()[__n]; } # 1375 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& operator+=(const basic_string& __str) { return this->append(__str); } basic_string& operator+=(const _CharT* __s) { return this->append(__s); } basic_string& operator+=(_CharT __c) { this->push_back(__c); return *this; } # 1433 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& append(const basic_string& __str) { return this->append(__str._M_data(), __str.size()); } # 1451 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& append(const basic_string& __str, size_type __pos, size_type __n = npos) { return this->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); } # 1496 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& append(size_type __n, _CharT __c) { return _M_replace_aux(this->size(), size_type(0), __n, __c); } # 1526 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template basic_string& append(_InputIterator __first, _InputIterator __last) { return this->replace(end(), end(), __first, __last); } # 1570 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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) { # 1619 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 this->_M_assign(__str); return *this; } # 1656 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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)); } # 1673 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& assign(const _CharT* __s, size_type __n) { ; return _M_replace(size_type(0), this->size(), __s, __n); } # 1690 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& assign(const _CharT* __s) { ; return _M_replace(size_type(0), this->size(), __s, traits_type::length(__s)); } # 1708 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& assign(size_type __n, _CharT __c) { return _M_replace_aux(size_type(0), this->size(), __n, __c); } # 1747 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template basic_string& assign(_InputIterator __first, _InputIterator __last) { return this->replace(begin(), end(), __first, __last); } # 1852 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 void insert(iterator __p, size_type __n, _CharT __c) { this->replace(__p, __p, __n, __c); } # 1896 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template void insert(iterator __p, _InputIterator __beg, _InputIterator __end) { this->replace(__p, __p, __beg, __end); } # 1937 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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()); } # 1961 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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)); } # 1985 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 2005 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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)); } # 2030 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& insert(size_type __pos, size_type __n, _CharT __c) { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), size_type(0), __n, __c); } # 2049 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 2112 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; } # 2132 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 2152 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 2198 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n, const basic_string& __str) { return this->replace(__pos, __n, __str._M_data(), __str.size()); } # 2221 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2 = npos) { return this->replace(__pos1, __n1, __str._M_data() + __str._M_check(__pos2, "basic_string::replace"), __str._M_limit(__pos2, __n2)); } # 2247 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 2273 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n1, const _CharT* __s) { ; return this->replace(__pos, __n1, __s, traits_type::length(__s)); } # 2298 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string& replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), _M_limit(__pos, __n1), __n2, __c); } # 2317 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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()); } # 2338 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 2361 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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)); } # 2383 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 2423 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template basic_string& replace(iterator __i1, iterator __i2, _InputIterator __k1, _InputIterator __k2) { ; ; typedef typename std::__is_integer<_InputIterator>::__type _Integral; return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral()); } basic_string& replace(__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); } # 2569 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); __attribute__((__noinline__, __noclone__, __cold__)) void _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s, const size_type __len2, const size_type __how_much); 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: # 2616 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type copy(_CharT* __s, size_type __n, size_type __pos = 0) const; # 2627 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 void swap(basic_string& __s) ; # 2638 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 const _CharT* c_str() const { return _M_data(); } # 2651 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 const _CharT* data() const { return _M_data(); } # 2672 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 allocator_type get_allocator() const { return _M_get_allocator(); } # 2689 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find(const _CharT* __s, size_type __pos, size_type __n) const ; # 2704 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find(const basic_string& __str, size_type __pos = 0) const { return this->find(__str.data(), __pos, __str.size()); } # 2738 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find(const _CharT* __s, size_type __pos = 0) const { ; return this->find(__s, __pos, traits_type::length(__s)); } # 2756 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find(_CharT __c, size_type __pos = 0) const ; # 2770 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type rfind(const basic_string& __str, size_type __pos = npos) const { return this->rfind(__str.data(), __pos, __str.size()); } # 2806 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type rfind(const _CharT* __s, size_type __pos, size_type __n) const ; # 2821 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type rfind(const _CharT* __s, size_type __pos = npos) const { ; return this->rfind(__s, __pos, traits_type::length(__s)); } # 2839 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type rfind(_CharT __c, size_type __pos = npos) const ; # 2854 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_first_of(const basic_string& __str, size_type __pos = 0) const { return this->find_first_of(__str.data(), __pos, __str.size()); } # 2891 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_first_of(const _CharT* __s, size_type __pos, size_type __n) const ; # 2906 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_first_of(const _CharT* __s, size_type __pos = 0) const { ; return this->find_first_of(__s, __pos, traits_type::length(__s)); } # 2927 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_first_of(_CharT __c, size_type __pos = 0) const { return this->find(__c, __pos); } # 2943 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_last_of(const basic_string& __str, size_type __pos = npos) const { return this->find_last_of(__str.data(), __pos, __str.size()); } # 2980 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_last_of(const _CharT* __s, size_type __pos, size_type __n) const ; # 2995 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_last_of(const _CharT* __s, size_type __pos = npos) const { ; return this->find_last_of(__s, __pos, traits_type::length(__s)); } # 3016 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_last_of(_CharT __c, size_type __pos = npos) const { return this->rfind(__c, __pos); } # 3031 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_first_not_of(const basic_string& __str, size_type __pos = 0) const { return this->find_first_not_of(__str.data(), __pos, __str.size()); } # 3068 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const ; # 3083 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_first_not_of(const _CharT* __s, size_type __pos = 0) const { ; return this->find_first_not_of(__s, __pos, traits_type::length(__s)); } # 3102 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_first_not_of(_CharT __c, size_type __pos = 0) const ; # 3118 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_last_not_of(const basic_string& __str, size_type __pos = npos) const { return this->find_last_not_of(__str.data(), __pos, __str.size()); } # 3155 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const ; # 3170 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_last_not_of(const _CharT* __s, size_type __pos = npos) const { ; return this->find_last_not_of(__s, __pos, traits_type::length(__s)); } # 3189 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 size_type find_last_not_of(_CharT __c, size_type __pos = npos) const ; # 3206 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 basic_string substr(size_type __pos = 0, size_type __n = npos) const { return basic_string(*this, _M_check(__pos, "basic_string::substr"), __n); } # 3226 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 int compare(const basic_string& __str) const { const size_type __size = this->size(); const size_type __osize = __str.size(); const size_type __len = std::min(__size, __osize); int __r = traits_type::compare(_M_data(), __str.data(), __len); if (!__r) __r = _S_compare(__size, __osize); return __r; } # 3323 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 int 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; } # 3360 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 int compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2 = npos) 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; } # 3391 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 int compare(const _CharT* __s) const { ; const size_type __size = this->size(); const size_type __osize = traits_type::length(__s); const size_type __len = std::min(__size, __osize); int __r = traits_type::compare(_M_data(), __s, __len); if (!__r) __r = _S_compare(__size, __osize); return __r; } # 3426 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 int 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; } # 3465 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 int 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; } # 3530 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template friend class basic_stringbuf; }; } } namespace std __attribute__ ((__visibility__ ("default"))) { # 3570 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template inline _Str __str_concat(typename _Str::value_type const* __lhs, typename _Str::size_type __lhs_len, typename _Str::value_type const* __rhs, typename _Str::size_type __rhs_len, typename _Str::allocator_type const& __a) { typedef typename _Str::allocator_type allocator_type; typedef __gnu_cxx::__alloc_traits _Alloc_traits; _Str __str(_Alloc_traits::_S_select_on_copy(__a)); __str.reserve(__lhs_len + __rhs_len); __str.append(__lhs, __lhs_len); __str.append(__rhs, __rhs_len); return __str; } # 3595 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template inline basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { typedef basic_string<_CharT, _Traits, _Alloc> _Str; return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), __rhs.c_str(), __rhs.size(), __lhs.get_allocator()); } template inline basic_string<_CharT,_Traits,_Alloc> operator+(const _CharT* __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs) { ; typedef basic_string<_CharT, _Traits, _Alloc> _Str; return std::__str_concat<_Str>(__lhs, _Traits::length(__lhs), __rhs.c_str(), __rhs.size(), __rhs.get_allocator()); } template inline basic_string<_CharT,_Traits,_Alloc> operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs) { typedef basic_string<_CharT, _Traits, _Alloc> _Str; return std::__str_concat<_Str>(__builtin_addressof(__lhs), 1, __rhs.c_str(), __rhs.size(), __rhs.get_allocator()); } template inline basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { ; typedef basic_string<_CharT, _Traits, _Alloc> _Str; return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), __rhs, _Traits::length(__rhs), __lhs.get_allocator()); } template inline basic_string<_CharT, _Traits, _Alloc> operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) { typedef basic_string<_CharT, _Traits, _Alloc> _Str; return std::__str_concat<_Str>(__lhs.c_str(), __lhs.size(), __builtin_addressof(__rhs), 1, __lhs.get_allocator()); } # 3752 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template inline bool operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.size() == __rhs.size() && !_Traits::compare(__lhs.data(), __rhs.data(), __lhs.size()); } template inline bool operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.size() == _Traits::length(__rhs) && !_Traits::compare(__lhs.data(), __rhs, __lhs.size()); } # 3816 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template inline bool operator==(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs == __lhs; } # 3830 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template inline bool operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return !(__lhs == __rhs); } template inline bool operator!=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return !(__rhs == __lhs); } template inline bool operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return !(__lhs == __rhs); } # 3871 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template inline bool operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) < 0; } template inline bool operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) < 0; } template inline bool operator<(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) > 0; } # 3912 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template inline bool operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) > 0; } template inline bool operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) > 0; } template inline bool operator>(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) < 0; } # 3953 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template inline bool operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) <= 0; } template inline bool operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) <= 0; } template inline bool operator<=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) >= 0; } # 3994 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template inline bool operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __lhs.compare(__rhs) >= 0; } template inline bool operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, const _CharT* __rhs) { return __lhs.compare(__rhs) >= 0; } template inline bool operator>=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) { return __rhs.compare(__lhs) <= 0; } # 4036 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template inline void swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, basic_string<_CharT, _Traits, _Alloc>& __rhs) { __lhs.swap(__rhs); } # 4057 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str); template<> basic_istream& operator>>(basic_istream& __is, basic_string& __str); # 4075 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __os, const basic_string<_CharT, _Traits, _Alloc>& __str) { return __ostream_insert(__os, __str.data(), __str.size()); } # 4098 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); # 4115 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 template inline basic_istream<_CharT, _Traits>& getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _Alloc>& __str) { return std::getline(__is, __str, __is.widen('\n')); } # 4137 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.h" 3 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); } # 55 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.tcc" 1 3 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.tcc" 3 #define _BASIC_STRING_TCC 1 # 43 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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) { if (this == std::__addressof(__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.length() + 1); traits_type::copy(__s._M_local_buf, _M_local_buf, length() + 1); traits_type::copy(_M_local_buf, __tmp_data, __s.length() + 1); } else if (__s.length()) { _M_init_local_buf(); traits_type::copy(_M_local_buf, __s._M_local_buf, __s.length() + 1); _M_length(__s.length()); __s._M_set_length(0); return; } else if (length()) { __s._M_init_local_buf(); traits_type::copy(__s._M_local_buf, _M_local_buf, length() + 1); __s._M_length(length()); _M_set_length(0); return; } } else { const size_type __tmp_capacity = __s._M_allocated_capacity; __s._M_init_local_buf(); traits_type::copy(__s._M_local_buf, _M_local_buf, length() + 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()) { _M_init_local_buf(); traits_type::copy(_M_local_buf, __s._M_local_buf, __s.length() + 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 _S_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); _M_init_local_buf(); while (__beg != __end && __len < __capacity) { _M_local_buf[__len++] = *__beg; ++__beg; } struct _Guard { explicit _Guard(basic_string* __s) : _M_guarded(__s) { } ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); } basic_string* _M_guarded; } __guard(this); 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); } traits_type::assign(_M_data()[__len++], *__beg); ++__beg; } __guard._M_guarded = 0; _M_set_length(__len); } template template void basic_string<_CharT, _Traits, _Alloc>:: _M_construct(_InIterator __beg, _InIterator __end, std::forward_iterator_tag) { 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); } else _M_init_local_buf(); struct _Guard { explicit _Guard(basic_string* __s) : _M_guarded(__s) { } ~_Guard() { if (_M_guarded) _M_guarded->_M_dispose(); } basic_string* _M_guarded; } __guard(this); this->_S_copy_chars(_M_data(), __beg, __end); __guard._M_guarded = 0; _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); } else _M_init_local_buf(); 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 != std::__addressof(__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) { const size_type __capacity = capacity(); if (__res <= __capacity) return; pointer __tmp = _M_create(__res, __capacity); this->_S_copy(__tmp, _M_data(), length() + 1); _M_dispose(); _M_data(__tmp); _M_capacity(__res); } 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>:: reserve() { if (_M_is_local()) return; const size_type __length = length(); const size_type __capacity = _M_allocated_capacity; if (__length <= size_type(_S_local_capacity)) { _M_init_local_buf(); this->_S_copy(_M_local_buf, _M_data(), __length + 1); _M_destroy(__capacity); _M_data(_M_local_data()); } else if (__length < __capacity) try { pointer __tmp = _S_allocate(_M_get_allocator(), __length + 1); this->_S_copy(__tmp, _M_data(), __length + 1); _M_dispose(); _M_data(__tmp); _M_capacity(__length); } catch (const __cxxabiv1::__forced_unwind&) { throw; } catch (...) { } } 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 __attribute__((__noinline__, __noclone__, __cold__)) void basic_string<_CharT, _Traits, _Alloc>:: _M_replace_cold(pointer __p, size_type __len1, const _CharT* __s, const size_type __len2, const size_type __how_much) { 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) { const size_type __poff = (__s - __p) + (__len2 - __len1); this->_S_copy(__p, __p + __poff, __len2); } else { const size_type __nleft = (__p + __len1) - __s; this->_S_move(__p, __s, __nleft); this->_S_copy(__p + __nleft, __p + __len2, __len2 - __nleft); } } } 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; # 537 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.tcc" 3 if (__builtin_expect(_M_disjunct(__s), true)) { if (__how_much && __len1 != __len2) this->_S_move(__p + __len2, __p + __len1, __how_much); if (__len2) this->_S_copy(__p, __s, __len2); } else _M_replace_cold(__p, __len1, __s, __len2, __how_much); } 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; } # 621 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.tcc" 3 #define _GLIBCXX_STRING_CONSTEXPR template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find(const _CharT* __s, size_type __pos, size_type __n) const { ; const size_type __size = this->size(); 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 { size_type __ret = npos; const size_type __size = this->size(); if (__pos < __size) { const _CharT* __data = _M_data(); const size_type __n = __size - __pos; const _CharT* __p = traits_type::find(__data + __pos, __n, __c); if (__p) __ret = __p - __data; } return __ret; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: rfind(const _CharT* __s, size_type __pos, size_type __n) const { ; const size_type __size = this->size(); if (__n <= __size) { __pos = std::min(size_type(__size - __n), __pos); const _CharT* __data = _M_data(); do { if (traits_type::compare(__data + __pos, __s, __n) == 0) return __pos; } while (__pos-- > 0); } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: rfind(_CharT __c, size_type __pos) const { size_type __size = this->size(); if (__size) { if (--__size > __pos) __size = __pos; for (++__size; __size-- > 0; ) if (traits_type::eq(_M_data()[__size], __c)) return __size; } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_first_of(const _CharT* __s, size_type __pos, size_type __n) const { ; for (; __n && __pos < this->size(); ++__pos) { const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); if (__p) return __pos; } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_last_of(const _CharT* __s, size_type __pos, size_type __n) const { ; size_type __size = this->size(); if (__size && __n) { if (--__size > __pos) __size = __pos; do { if (traits_type::find(__s, __n, _M_data()[__size])) return __size; } while (__size-- != 0); } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const { ; for (; __pos < this->size(); ++__pos) if (!traits_type::find(__s, __n, _M_data()[__pos])) return __pos; return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_first_not_of(_CharT __c, size_type __pos) const { for (; __pos < this->size(); ++__pos) if (!traits_type::eq(_M_data()[__pos], __c)) return __pos; return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const { ; size_type __size = this->size(); if (__size) { if (--__size > __pos) __size = __pos; do { if (!traits_type::find(__s, __n, _M_data()[__size])) return __size; } while (__size--); } return npos; } template typename basic_string<_CharT, _Traits, _Alloc>::size_type basic_string<_CharT, _Traits, _Alloc>:: find_last_not_of(_CharT __c, size_type __pos) const { 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; } #undef _GLIBCXX_STRING_CONSTEXPR 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) { try { __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 (__extracted < __n && _Traits::eq_int_type(__c, __eof)) __err |= __ios_base::eofbit; __in.width(0); } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(__ios_base::badbit); throw; } catch(...) { __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) { try { __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; } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(__ios_base::badbit); throw; } catch(...) { __in._M_setstate(__ios_base::badbit); } } if (!__extracted) __err |= __ios_base::failbit; if (__err) __in.setstate(__err); return __in; } # 977 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.tcc" 3 extern template class basic_string; # 990 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.tcc" 3 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; # 1016 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_string.tcc" 3 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&); } # 56 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 2 3 #define __glibcxx_want_constexpr_char_traits #define __glibcxx_want_constexpr_string #define __glibcxx_want_erase_if #define __glibcxx_want_nonmember_container_access #define __glibcxx_want_string_resize_and_overwrite #define __glibcxx_want_string_udls #define __glibcxx_want_to_string # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 1 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #define __glibcxx_incomplete_container_elements 201505L #undef __glibcxx_want_incomplete_container_elements # 71 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_uncaught_exceptions # 82 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_allocator_traits_is_always_equal # 93 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_null_pointer # 104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_result_of_sfinae # 120 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_arrays # 131 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_swappable # 142 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_void_t # 153 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_enable_shared_from_this # 164 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_spec_funcs # 175 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_coroutine # 186 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_exchange_function # 197 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_sequence # 208 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integral_constant_callable # 219 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_final # 230 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_reverse_iterator # 241 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_null_iterators # 252 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transformation_trait_aliases # 263 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transparent_operators # 274 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuple_element_t # 285 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuples_by_type # 296 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_robust_nonmodifying_seq_ops # 312 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_chars # 323 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono_udls # 334 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_complex_udls # 345 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_associative_lookup # 356 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_unique # 367 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_quoted_string_io # 378 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_timed_mutex # 389 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_udls # 400 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_addressof_constexpr # 411 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_any # 422 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_apply # 433 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_as_const # 444 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_is_always_lock_free # 455 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bool_constant # 466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byte # 477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_has_unique_object_representations # 488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hardware_interference_size # 499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke # 510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_aggregate # 521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_invocable # 532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_launder # 543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_logical_traits # 554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_from_tuple # 565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_not_fn # 576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_trait_variable_templates # 592 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_variant # 603 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_lcm # 614 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd # 625 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd_lcm # 636 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_raw_memory_algorithms # 652 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_array_constexpr # 663 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_nonmember_container_access # 674 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_clamp # 685 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_sample # 696 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_boyer_moore_searcher # 712 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono # 723 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_execution # 734 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_filesystem # 745 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hypot # 756 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_map_try_emplace # 767 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_special_functions # 783 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_memory_resource # 794 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_node_extract # 805 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_parallel_algorithm # 816 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_scoped_lock # 827 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_mutex # 838 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_weak_type # 849 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_view # 860 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unordered_map_try_emplace # 871 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_assume_aligned # 882 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_flag_test # 893 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_float # 904 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_lock_free_type_aliases # 915 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_ref # 926 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_value_initialization # 937 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bind_front # 948 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_starts_ends_with # 959 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bit_cast # 970 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bitops # 981 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bounded_array_traits # 992 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_concepts # 1013 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_optional # 1024 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_destroying_delete # 1035 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string_view # 1046 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_endian # 1057 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_int_pow2 # 1068 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_comparison_functions # 1079 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_constant_evaluated # 1095 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_char_traits # 1106 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_layout_compatible # 1117 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_nothrow_convertible # 1128 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_pointer_interconvertible # 1139 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_constants # 1150 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_obj_using_allocator # 1161 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_remove_cvref # 1172 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_source_location # 1188 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_span # 1199 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ssize # 1210 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_three_way_comparison # 1221 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_address # 1232 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_array # 1243 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_identity # 1254 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unwrap_ref # 1265 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_iterator # 1276 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_interpolate # 1287 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_utility # 1298 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shift # 1314 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges # 1325 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_numeric # 1336 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_functional # 1347 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_algorithms # 1358 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_tuple # 1374 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_memory # 1385 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_shared_ptr # 1401 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_wait # 1412 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_barrier # 1423 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_format # 1434 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_complex # 1445 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_dynamic_alloc # 1466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string # 1477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_vector # 1488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_erase_if # 1499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_unordered_lookup # 1510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_jthread # 1521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_latch # 1532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_list_remove_return_type # 1543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_polymorphic_allocator # 1554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_iterator_concept # 1565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_semaphore # 1576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_smart_ptr_for_overwrite # 1587 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_syncbuf # 1598 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byteswap # 1609 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_charconv # 1620 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_typeinfo # 1631 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_expected # 1642 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_algorithm # 1653 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_array # 1664 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_cstring # 1675 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_expected # 1686 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_optional # 1697 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_string_view # 1708 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_variant # 1719 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke_r # 1730 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_scoped_enum # 1741 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_reference_from_temporary # 1752 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_to_container # 1763 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_zip # 1774 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk # 1785 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_slide # 1796 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk_by # 1807 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_join_with # 1818 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_repeat # 1829 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_stride # 1840 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_cartesian_product # 1851 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_rvalue # 1862 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_const # 1873 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_enumerate # 1884 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_fold # 1895 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_contains # 1906 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_iota # 1917 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_find_last # 1928 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_bitset # 1939 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stdatomic_h # 1950 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_adaptor_iterator_pair_constructor # 1961 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_formatters # 1972 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_forward_like # 1983 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ios_noreplace # 1994 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_only_function # 2005 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_out_ptr # 2016 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_print # 2027 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_spanstream # 2038 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stacktrace # 2049 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_contains # 2060 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_resize_and_overwrite # 2071 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_underlying # 2082 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unreachable # 2093 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_fstream_native_handle # 2104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ratio # 2115 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_saturation_arithmetic # 2126 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_string # 2137 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generator #undef __glibcxx_want_all # 65 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/string" 2 3 # 41 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 62 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 class locale { public: typedef int category; class facet; class id; class _Impl; friend class facet; friend class _Impl; template friend bool has_facet(const locale&) throw(); template friend const _Facet& use_facet(const locale&); template friend const _Facet* __try_use_facet(const locale&) throw(); template friend struct __use_cache; # 102 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 static const category none = 0; static const category ctype = 1L << 0; static const category numeric = 1L << 1; static const category collate = 1L << 2; static const category time = 1L << 3; static const category monetary = 1L << 4; static const category messages = 1L << 5; static const category all = (ctype | numeric | collate | time | monetary | messages); # 121 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 locale() throw(); # 130 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 locale(const locale& __other) throw(); # 140 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 explicit locale(const char* __s); # 155 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 locale(const locale& __base, const char* __s, category __cat); # 196 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 locale(const locale& __base, const locale& __add, category __cat); # 209 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 template locale(const locale& __other, _Facet* __f); ~locale() throw(); # 223 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 const locale& operator=(const locale& __other) throw(); # 238 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 template locale combine(const locale& __other) const; __attribute ((__abi_tag__ ("cxx11"))) string name() const; # 258 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 bool operator==(const locale& __other) const throw(); # 268 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 bool operator!=(const locale& __other) const throw() { return !(this->operator==(__other)); } # 288 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 template bool operator()(const basic_string<_Char, _Traits, _Alloc>& __s1, const basic_string<_Char, _Traits, _Alloc>& __s2) const; # 304 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 static locale global(const locale& __loc); static const locale& classic(); private: _Impl* _M_impl; static _Impl* _S_classic; static _Impl* _S_global; static const char* const* const _S_categories; # 339 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 enum { _S_categories_size = 6 + 6 }; static __gthread_once_t _S_once; explicit locale(_Impl*) throw(); static void _S_initialize(); static void _S_initialize_once() throw(); static category _S_normalize_category(category); void _M_coalesce(const locale& __base, const locale& __add, category __cat); static const id* const _S_twinned_facets[]; }; # 377 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 class locale::facet { private: friend class locale; friend class locale::_Impl; mutable _Atomic_word _M_refcount; static __c_locale _S_c_locale; static const char _S_c_name[2]; static __gthread_once_t _S_once; static void _S_initialize_once(); protected: # 408 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 explicit facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0) { } virtual ~facet(); static void _S_create_c_locale(__c_locale& __cloc, const char* __s, __c_locale __old = 0); static __c_locale _S_clone_c_locale(__c_locale& __cloc) throw(); static void _S_destroy_c_locale(__c_locale& __cloc); static __c_locale _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s); static __c_locale _S_get_c_locale(); __attribute__ ((__const__)) static const char* _S_get_c_name() throw(); private: facet(const facet&); facet& operator=(const facet&); 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) { ; try { delete this; } catch(...) { } } } const facet* _M_sso_shim(const id*) const; const facet* _M_cow_shim(const id*) const; protected: class __shim; }; # 489 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 class locale::id { private: friend class locale; friend class locale::_Impl; template friend const _Facet& use_facet(const locale&); template friend bool has_facet(const locale&) throw(); template friend const _Facet* __try_use_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 const _Facet* __try_use_facet(const locale&) throw(); 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) { ; try { delete this; } catch(...) { } } } _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*); }; # 659 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; # 686 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 explicit collate(size_t __refs = 0) : facet(__refs), _M_c_locale_collate(_S_get_c_locale()) { } # 700 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 explicit collate(__c_locale __cloc, size_t __refs = 0) : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc)) { } # 717 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 int compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const { return this->do_compare(__lo1, __hi1, __lo2, __hi2); } # 736 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 string_type transform(const _CharT* __lo, const _CharT* __hi) const { return this->do_transform(__lo, __hi); } # 750 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 long hash(const _CharT* __lo, const _CharT* __hi) const { return this->do_hash(__lo, __hi); } int _M_compare(const _CharT*, const _CharT*) const throw(); size_t _M_transform(_CharT*, const _CharT*, size_t) const throw(); protected: virtual ~collate() { _S_destroy_c_locale(_M_c_locale_collate); } # 779 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 virtual int do_compare(const _CharT* __lo1, const _CharT* __hi1, const _CharT* __lo2, const _CharT* __hi2) const; # 793 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 virtual string_type do_transform(const _CharT* __lo, const _CharT* __hi) const; # 806 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 3 virtual long do_hash(const _CharT* __lo, const _CharT* __hi) const; }; template locale::id collate<_CharT>::id; template<> int collate::_M_compare(const char*, const char*) const throw(); template<> size_t collate::_M_transform(char*, const char*, size_t) const throw(); template<> int collate::_M_compare(const wchar_t*, const wchar_t*) const throw(); template<> size_t collate::_M_transform(wchar_t*, const wchar_t*, size_t) const throw(); template class __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); } } protected: virtual ~collate_byname() { } }; } # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.tcc" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.tcc" 3 #define _LOCALE_CLASSES_TCC 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template locale:: locale(const locale& __other, _Facet* __f) { _M_impl = new _Impl(*__other._M_impl, 1); try { _M_impl->_M_install_facet(&_Facet::id, __f); } catch(...) { _M_impl->_M_remove_reference(); throw; } 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); try { __tmp->_M_replace_facet(__other._M_impl, &_Facet::id); } catch(...) { __tmp->_M_remove_reference(); throw; } 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); } template inline const _Facet* __try_use_facet(const locale& __loc) throw() { const size_t __i = _Facet::id._M_id(); const locale::facet** __facets = __loc._M_impl->_M_facets; #define _GLIBCXX_STD_FACET(...) if _GLIBCXX17_CONSTEXPR (__is_same(_Facet, __VA_ARGS__)) return static_cast(__facets[__i]) if (__is_same(_Facet, ctype)) return static_cast(__facets[__i]); if (__is_same(_Facet, num_get)) return static_cast(__facets[__i]); if (__is_same(_Facet, num_put)) return static_cast(__facets[__i]); if (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); if (__is_same(_Facet, collate)) return static_cast(__facets[__i]); if (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); if (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); if (__is_same(_Facet, money_get)) return static_cast(__facets[__i]); if (__is_same(_Facet, money_put)) return static_cast(__facets[__i]); if (__is_same(_Facet, numpunct)) return static_cast(__facets[__i]); if (__is_same(_Facet, time_get)) return static_cast(__facets[__i]); if (__is_same(_Facet, time_put)) return static_cast(__facets[__i]); if (__is_same(_Facet, messages)) return static_cast(__facets[__i]); if (__is_same(_Facet, ctype)) return static_cast(__facets[__i]); if (__is_same(_Facet, num_get)) return static_cast(__facets[__i]); if (__is_same(_Facet, num_put)) return static_cast(__facets[__i]); if (__is_same(_Facet, codecvt)) return static_cast(__facets[__i]); if (__is_same(_Facet, collate)) return static_cast(__facets[__i]); if (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); if (__is_same(_Facet, moneypunct)) return static_cast(__facets[__i]); if (__is_same(_Facet, money_get)) return static_cast(__facets[__i]); if (__is_same(_Facet, money_put)) return static_cast(__facets[__i]); if (__is_same(_Facet, numpunct)) return static_cast(__facets[__i]); if (__is_same(_Facet, time_get)) return static_cast(__facets[__i]); if (__is_same(_Facet, time_put)) return static_cast(__facets[__i]); if (__is_same(_Facet, messages)) return static_cast(__facets[__i]); #undef _GLIBCXX_STD_FACET if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i]) return 0; return dynamic_cast(__facets[__i]); } # 161 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.tcc" 3 template inline bool has_facet(const locale& __loc) throw() { (void) static_cast(static_cast(0)); return std::__try_use_facet<_Facet>(__loc) != 0; } # 188 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.tcc" 3 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdangling-reference" template inline const _Facet& use_facet(const locale& __loc) { (void) static_cast(static_cast(0)); if (const _Facet* __f = std::__try_use_facet<_Facet>(__loc)) return *__f; __throw_bad_cast(); } #pragma GCC diagnostic pop 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]; try { 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()); } } catch(...) { delete [] __c; throw; } 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* __try_use_facet >(const locale&) throw(); 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* __try_use_facet >(const locale&) throw(); extern template const collate& use_facet >(const locale&); extern template bool has_facet >(const locale&); } # 870 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_classes.h" 2 3 # 42 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/stdexcept" 1 3 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/stdexcept" 3 #define _GLIBCXX_STDEXCEPT 1 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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&) throw(); __cow_string& operator=(const __cow_string&) throw(); ~__cow_string(); }; typedef basic_string __sso_string; # 113 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/stdexcept" 3 class logic_error : public exception { __cow_string _M_msg; public: explicit logic_error(const string& __arg) ; # 131 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/stdexcept" 3 logic_error(const logic_error&) throw(); logic_error& operator=(const logic_error&) throw(); virtual ~logic_error() throw(); virtual const char* what() const throw(); }; class domain_error : public logic_error { public: explicit domain_error(const string& __arg) ; virtual ~domain_error() throw(); }; class invalid_argument : public logic_error { public: explicit invalid_argument(const string& __arg) ; virtual ~invalid_argument() throw(); }; class length_error : public logic_error { public: explicit length_error(const string& __arg) ; virtual ~length_error() throw(); }; class out_of_range : public logic_error { public: explicit out_of_range(const string& __arg) ; virtual ~out_of_range() throw(); }; class runtime_error : public exception { __cow_string _M_msg; public: explicit runtime_error(const string& __arg) ; # 237 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/stdexcept" 3 runtime_error(const runtime_error&) throw(); runtime_error& operator=(const runtime_error&) throw(); virtual ~runtime_error() throw(); virtual const char* what() const throw(); }; class range_error : public runtime_error { public: explicit range_error(const string& __arg) ; virtual ~range_error() throw(); }; class overflow_error : public runtime_error { public: explicit overflow_error(const string& __arg) ; virtual ~overflow_error() throw(); }; class underflow_error : public runtime_error { public: explicit underflow_error(const string& __arg) ; virtual ~underflow_error() throw(); }; } # 45 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { enum _Ios_Fmtflags { _S_boolalpha = 1L << 0, _S_dec = 1L << 1, _S_fixed = 1L << 2, _S_hex = 1L << 3, _S_internal = 1L << 4, _S_left = 1L << 5, _S_oct = 1L << 6, _S_right = 1L << 7, _S_scientific = 1L << 8, _S_showbase = 1L << 9, _S_showpoint = 1L << 10, _S_showpos = 1L << 11, _S_skipws = 1L << 12, _S_unitbuf = 1L << 13, _S_uppercase = 1L << 14, _S_adjustfield = _S_left | _S_right | _S_internal, _S_basefield = _S_dec | _S_oct | _S_hex, _S_floatfield = _S_scientific | _S_fixed, _S_ios_fmtflags_end = 1L << 16, _S_ios_fmtflags_max = 0x7fffffff, _S_ios_fmtflags_min = ~0x7fffffff }; inline _Ios_Fmtflags operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) { return _Ios_Fmtflags(static_cast(__a) & static_cast(__b)); } inline _Ios_Fmtflags operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b) { return _Ios_Fmtflags(static_cast(__a) | static_cast(__b)); } inline _Ios_Fmtflags operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b) { return _Ios_Fmtflags(static_cast(__a) ^ static_cast(__b)); } inline _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_noreplace = 1L << 6, _S_ios_openmode_end = 1L << 16, _S_ios_openmode_max = 0x7fffffff, _S_ios_openmode_min = ~0x7fffffff }; inline _Ios_Openmode operator&(_Ios_Openmode __a, _Ios_Openmode __b) { return _Ios_Openmode(static_cast(__a) & static_cast(__b)); } inline _Ios_Openmode operator|(_Ios_Openmode __a, _Ios_Openmode __b) { return _Ios_Openmode(static_cast(__a) | static_cast(__b)); } inline _Ios_Openmode operator^(_Ios_Openmode __a, _Ios_Openmode __b) { return _Ios_Openmode(static_cast(__a) ^ static_cast(__b)); } inline _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 _Ios_Iostate operator&(_Ios_Iostate __a, _Ios_Iostate __b) { return _Ios_Iostate(static_cast(__a) & static_cast(__b)); } inline _Ios_Iostate operator|(_Ios_Iostate __a, _Ios_Iostate __b) { return _Ios_Iostate(static_cast(__a) | static_cast(__b)); } inline _Ios_Iostate operator^(_Ios_Iostate __a, _Ios_Iostate __b) { return _Ios_Iostate(static_cast(__a) ^ static_cast(__b)); } inline _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 }; # 233 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 class ios_base { struct system_error : std::runtime_error { struct error_code { error_code() { } private: int _M_value; const void* _M_cat; } _M_code; }; public: # 260 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error { public: explicit failure(const string& __str); # 274 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 virtual ~failure() throw(); virtual const char* what() const throw(); }; # 346 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 typedef _Ios_Fmtflags fmtflags; static const fmtflags boolalpha = _S_boolalpha; static const fmtflags dec = _S_dec; static const fmtflags fixed = _S_fixed; static const fmtflags hex = _S_hex; static const fmtflags internal = _S_internal; static const fmtflags left = _S_left; static const fmtflags oct = _S_oct; static const fmtflags right = _S_right; static const fmtflags scientific = _S_scientific; static const fmtflags showbase = _S_showbase; static const fmtflags showpoint = _S_showpoint; static const fmtflags showpos = _S_showpos; static const fmtflags skipws = _S_skipws; static const fmtflags unitbuf = _S_unitbuf; static const fmtflags uppercase = _S_uppercase; static const fmtflags adjustfield = _S_adjustfield; static const fmtflags basefield = _S_basefield; static const fmtflags floatfield = _S_floatfield; # 421 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 typedef _Ios_Iostate iostate; static const iostate badbit = _S_badbit; static const iostate eofbit = _S_eofbit; static const iostate failbit = _S_failbit; static const iostate goodbit = _S_goodbit; # 452 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 typedef _Ios_Openmode openmode; static const openmode app = _S_app; static const openmode ate = _S_ate; static const openmode binary = _S_bin; static const openmode in = _S_in; static const openmode out = _S_out; static const openmode trunc = _S_trunc; static const openmode __noreplace = _S_noreplace; # 491 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 typedef _Ios_Seekdir seekdir; static const seekdir beg = _S_beg; static const seekdir cur = _S_cur; static const seekdir end = _S_end; typedef int io_state __attribute__ ((__deprecated__ ("use '" "std::iostate" "' instead"))); typedef int open_mode __attribute__ ((__deprecated__ ("use '" "std::openmode" "' instead"))); typedef int seek_dir __attribute__ ((__deprecated__ ("use '" "std::seekdir" "' instead"))); typedef std::streampos streampos __attribute__ ((__deprecated__ ("use '" "std::streampos" "' instead"))); typedef std::streamoff streamoff __attribute__ ((__deprecated__ ("use '" "std::streamoff" "' instead"))); # 524 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 enum event { erase_event, imbue_event, copyfmt_event }; # 541 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 typedef void (*event_callback) (event __e, ios_base& __b, int __i); # 553 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 void register_callback(event_callback __fn, int __index); protected: streamsize _M_precision; streamsize _M_width; fmtflags _M_flags; iostate _M_exception; iostate _M_streambuf_state; struct _Callback_list { _Callback_list* _M_next; ios_base::event_callback _M_fn; int _M_index; _Atomic_word _M_refcount; _Callback_list(ios_base::event_callback __fn, int __index, _Callback_list* __cb) : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { } void _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); } int _M_remove_reference() { ; int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1); if (__res == 0) { ; } return __res; } }; _Callback_list* _M_callbacks; void _M_call_callbacks(event __ev) throw(); void _M_dispose_callbacks(void) throw(); struct _Words { void* _M_pword; long _M_iword; _Words() : _M_pword(0), _M_iword(0) { } }; _Words _M_word_zero; enum { _S_local_word_size = 8 }; _Words _M_local_word[_S_local_word_size]; int _M_word_size; _Words* _M_word; _Words& _M_grow_words(int __index, bool __iword); locale _M_ios_locale; void _M_init() throw(); public: class Init { friend class ios_base; public: Init(); ~Init(); private: static _Atomic_word _S_refcount; static bool _S_synced_with_stdio; }; fmtflags flags() const { return _M_flags; } # 671 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 fmtflags flags(fmtflags __fmtfl) { fmtflags __old = _M_flags; _M_flags = __fmtfl; return __old; } # 687 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 fmtflags setf(fmtflags __fmtfl) { fmtflags __old = _M_flags; _M_flags |= __fmtfl; return __old; } # 704 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 fmtflags setf(fmtflags __fmtfl, fmtflags __mask) { fmtflags __old = _M_flags; _M_flags &= ~__mask; _M_flags |= (__fmtfl & __mask); return __old; } void unsetf(fmtflags __mask) { _M_flags &= ~__mask; } # 730 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 streamsize precision() const { return _M_precision; } streamsize precision(streamsize __prec) { streamsize __old = _M_precision; _M_precision = __prec; return __old; } streamsize width() const { return _M_width; } streamsize width(streamsize __wide) { streamsize __old = _M_width; _M_width = __wide; return __old; } # 781 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 static bool sync_with_stdio(bool __sync = true); # 793 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 locale imbue(const locale& __loc) throw(); # 804 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 locale getloc() const { return _M_ios_locale; } # 815 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 const locale& _M_getloc() const { return _M_ios_locale; } # 834 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 static int xalloc() throw(); # 850 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; } # 871 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; } # 888 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 virtual ~ios_base(); protected: ios_base() throw (); private: ios_base(const ios_base&); ios_base& operator=(const ios_base&); # 915 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 }; 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; } # 1118 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ios_base.h" 3 } # 45 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ios" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 1 3 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 #define _GLIBXX_STREAMBUF 1 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 namespace std __attribute__ ((__visibility__ ("default"))) { #define _IsUnused __attribute__ ((__unused__)) template streamsize __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, basic_streambuf<_CharT, _Traits>*, bool&); # 123 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 template class basic_streambuf { public: typedef _CharT char_type; typedef _Traits traits_type; typedef typename traits_type::int_type int_type; typedef typename traits_type::pos_type pos_type; typedef typename traits_type::off_type off_type; typedef basic_streambuf __streambuf_type; friend class basic_ios; friend class basic_istream; friend class basic_ostream; friend class istreambuf_iterator; friend class ostreambuf_iterator; friend streamsize __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, _CharT2*>::__type __copy_move_a2(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, _CharT2*); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, istreambuf_iterator<_CharT2> >::__type find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, const _CharT2&); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, void>::__type advance(istreambuf_iterator<_CharT2>&, _Distance); friend void __istream_extract(istream&, char*, streamsize); 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 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 locale pubimbue(const locale& __loc) { locale __tmp(this->getloc()); this->imbue(__loc); _M_buf_locale = __loc; return __tmp; } # 232 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 locale getloc() const { return _M_buf_locale; } # 245 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 basic_streambuf* pubsetbuf(char_type* __s, streamsize __n) { return this->setbuf(__s, __n); } # 257 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 pos_type pubseekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode = ios_base::in | ios_base::out) { return this->seekoff(__off, __way, __mode); } # 269 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 pos_type pubseekpos(pos_type __sp, ios_base::openmode __mode = ios_base::in | ios_base::out) { return this->seekpos(__sp, __mode); } int pubsync() { return this->sync(); } # 290 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 streamsize in_avail() { const streamsize __ret = this->egptr() - this->gptr(); return __ret ? __ret : this->showmanyc(); } # 304 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 int_type snextc() { int_type __ret = traits_type::eof(); if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(), __ret), true)) __ret = this->sgetc(); return __ret; } # 322 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 int_type sbumpc() { int_type __ret; if (__builtin_expect(this->gptr() < this->egptr(), true)) { __ret = traits_type::to_int_type(*this->gptr()); this->gbump(1); } else __ret = this->uflow(); return __ret; } # 344 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 int_type sgetc() { int_type __ret; if (__builtin_expect(this->gptr() < this->egptr(), true)) __ret = traits_type::to_int_type(*this->gptr()); else __ret = this->underflow(); return __ret; } # 363 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 streamsize sgetn(char_type* __s, streamsize __n) { return this->xsgetn(__s, __n); } # 378 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 int_type sputbackc(char_type __c) { int_type __ret; const bool __testpos = this->eback() < this->gptr(); if (__builtin_expect(!__testpos || !traits_type::eq(__c, this->gptr()[-1]), false)) __ret = this->pbackfail(traits_type::to_int_type(__c)); else { this->gbump(-1); __ret = traits_type::to_int_type(*this->gptr()); } return __ret; } # 403 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 int_type sungetc() { int_type __ret; if (__builtin_expect(this->eback() < this->gptr(), true)) { this->gbump(-1); __ret = traits_type::to_int_type(*this->gptr()); } else __ret = this->pbackfail(); return __ret; } # 430 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 int_type sputc(char_type __c) { int_type __ret; if (__builtin_expect(this->pptr() < this->epptr(), true)) { *this->pptr() = __c; this->pbump(1); __ret = traits_type::to_int_type(__c); } else __ret = this->overflow(traits_type::to_int_type(__c)); return __ret; } # 456 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 streamsize sputn(const char_type* __s, streamsize __n) { return this->xsputn(__s, __n); } protected: # 470 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 basic_streambuf() : _M_in_beg(0), _M_in_cur(0), _M_in_end(0), _M_out_beg(0), _M_out_cur(0), _M_out_end(0), _M_buf_locale(locale()) { } # 488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 char_type* eback() const { return _M_in_beg; } char_type* gptr() const { return _M_in_cur; } char_type* egptr() const { return _M_in_end; } # 504 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 void gbump(int __n) { _M_in_cur += __n; } # 515 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 void setg(char_type* __gbeg, char_type* __gnext, char_type* __gend) { _M_in_beg = __gbeg; _M_in_cur = __gnext; _M_in_end = __gend; } # 535 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 char_type* pbase() const { return _M_out_beg; } char_type* pptr() const { return _M_out_cur; } char_type* epptr() const { return _M_out_end; } # 551 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 void pbump(int __n) { _M_out_cur += __n; } # 561 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 void setp(char_type* __pbeg, char_type* __pend) { _M_out_beg = _M_out_cur = __pbeg; _M_out_end = __pend; } # 582 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 virtual void imbue(const locale& __loc __attribute__ ((__unused__))) { } # 597 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 virtual basic_streambuf* setbuf(char_type*, streamsize) { return this; } # 608 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 virtual pos_type seekoff(off_type, ios_base::seekdir, ios_base::openmode = ios_base::in | ios_base::out) { return pos_type(off_type(-1)); } # 620 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 virtual pos_type seekpos(pos_type, ios_base::openmode = ios_base::in | ios_base::out) { return pos_type(off_type(-1)); } # 633 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 virtual int sync() { return 0; } # 655 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 virtual streamsize showmanyc() { return 0; } # 671 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 virtual streamsize xsgetn(char_type* __s, streamsize __n); # 693 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 virtual int_type underflow() { return traits_type::eof(); } # 706 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 virtual int_type uflow() { int_type __ret = traits_type::eof(); const bool __testeof = traits_type::eq_int_type(this->underflow(), __ret); if (!__testeof) { __ret = traits_type::to_int_type(*this->gptr()); this->gbump(1); } return __ret; } # 730 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 virtual int_type pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) { return traits_type::eof(); } # 748 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 virtual streamsize xsputn(const char_type* __s, streamsize __n); # 774 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 virtual int_type overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof()) { return traits_type::eof(); } public: # 789 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 __attribute__ ((__deprecated__ ("use '" "std::basic_streambuf::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; } private: basic_streambuf(const basic_streambuf&); basic_streambuf& operator=(const basic_streambuf&); # 830 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 }; # 844 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 3 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); #undef _IsUnused } # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/streambuf.tcc" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/streambuf.tcc" 3 #define _STREAMBUF_TCC 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/streambuf.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template streamsize basic_streambuf<_CharT, _Traits>:: xsgetn(char_type* __s, streamsize __n) { streamsize __ret = 0; while (__ret < __n) { const streamsize __buf_len = this->egptr() - this->gptr(); if (__buf_len) { const streamsize __remaining = __n - __ret; const streamsize __len = std::min(__buf_len, __remaining); traits_type::copy(__s, this->gptr(), __len); __ret += __len; __s += __len; this->__safe_gbump(__len); } if (__ret < __n) { const int_type __c = this->uflow(); if (!traits_type::eq_int_type(__c, traits_type::eof())) { traits_type::assign(*__s++, traits_type::to_char_type(__c)); ++__ret; } else break; } } return __ret; } template streamsize basic_streambuf<_CharT, _Traits>:: xsputn(const char_type* __s, streamsize __n) { streamsize __ret = 0; while (__ret < __n) { const streamsize __buf_len = this->epptr() - this->pptr(); if (__buf_len) { const streamsize __remaining = __n - __ret; const streamsize __len = std::min(__buf_len, __remaining); traits_type::copy(this->pptr(), __s, __len); __ret += __len; __s += __len; this->__safe_pbump(__len); } if (__ret < __n) { int_type __c = this->overflow(traits_type::to_int_type(*__s)); if (!traits_type::eq_int_type(__c, traits_type::eof())) { ++__ret; ++__s; } else break; } } return __ret; } template streamsize __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin, basic_streambuf<_CharT, _Traits>* __sbout, bool& __ineof) { streamsize __ret = 0; __ineof = true; typename _Traits::int_type __c = __sbin->sgetc(); while (!_Traits::eq_int_type(__c, _Traits::eof())) { __c = __sbout->sputc(_Traits::to_char_type(__c)); if (_Traits::eq_int_type(__c, _Traits::eof())) { __ineof = false; break; } ++__ret; __c = __sbin->snextc(); } return __ret; } template inline streamsize __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin, basic_streambuf<_CharT, _Traits>* __sbout) { bool __ineof; return __copy_streambufs_eof(__sbin, __sbout, __ineof); } extern template class basic_streambuf; extern template streamsize __copy_streambufs(basic_streambuf*, basic_streambuf*); extern template class basic_streambuf; extern template streamsize __copy_streambufs(basic_streambuf*, basic_streambuf*); } # 861 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/streambuf" 2 3 # 46 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ios" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 #define _BASIC_IOS_H 1 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 #define _LOCALE_FACETS_H 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwctype" 1 3 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwctype" 3 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwctype" 3 # 50 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwctype" 3 # 1 "/usr/include/wctype.h" 1 3 4 # 24 "/usr/include/wctype.h" 3 4 #define _WCTYPE_H 1 # 38 "/usr/include/wctype.h" 3 4 # 1 "/usr/include/bits/wctype-wchar.h" 1 3 4 # 24 "/usr/include/bits/wctype-wchar.h" 3 4 #define _BITS_WCTYPE_WCHAR_H 1 # 38 "/usr/include/bits/wctype-wchar.h" 3 4 typedef unsigned long int wctype_t; # 49 "/usr/include/bits/wctype-wchar.h" 3 4 #define _ISwbit(bit) ((bit) < 8 ? (int) ((1UL << (bit)) << 24) : ((bit) < 16 ? (int) ((1UL << (bit)) << 8) : ((bit) < 24 ? (int) ((1UL << (bit)) >> 8) : (int) ((1UL << (bit)) >> 24)))) 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 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cwctype" 2 3 #define _GLIBCXX_CWCTYPE 1 #undef iswalnum #undef iswalpha #undef iswblank #undef iswcntrl #undef iswctype #undef iswdigit #undef iswgraph #undef iswlower #undef iswprint #undef iswpunct #undef iswspace #undef iswupper #undef iswxdigit #undef towctrans #undef towlower #undef towupper #undef wctrans #undef wctype 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 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cctype" 1 3 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cctype" 3 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cctype" 3 # 41 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/ctype_base.h" 1 3 # 36 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/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; }; } # 42 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/streambuf_iterator.h" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/streambuf_iterator.h" 3 #define _STREAMBUF_ITERATOR_H 1 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/streambuf_iterator.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 49 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/streambuf_iterator.h" 3 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" template class istreambuf_iterator : public iterator { public: typedef _CharT& reference; typedef _CharT char_type; typedef _Traits traits_type; typedef typename _Traits::int_type int_type; typedef basic_streambuf<_CharT, _Traits> streambuf_type; typedef basic_istream<_CharT, _Traits> istream_type; template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, ostreambuf_iterator<_CharT2> >::__type copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, ostreambuf_iterator<_CharT2>); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, _CharT2*>::__type __copy_move_a2(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>, _CharT2*); template friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, _CharT2*>::__type __copy_n_a(istreambuf_iterator<_CharT2>, _Size, _CharT2*, bool); 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: istreambuf_iterator() throw() : _M_sbuf(0), _M_c(traits_type::eof()) { } # 133 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/streambuf_iterator.h" 3 istreambuf_iterator(istream_type& __s) throw() : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { } istreambuf_iterator(streambuf_type* __s) throw() : _M_sbuf(__s), _M_c(traits_type::eof()) { } # 148 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/streambuf_iterator.h" 3 char_type operator*() const { int_type __c = _M_get(); # 161 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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: # 284 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/streambuf_iterator.h" 3 ostreambuf_iterator(ostream_type& __s) throw() : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { } ostreambuf_iterator(streambuf_type* __s) throw() : _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 throw() { 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; } }; #pragma GCC diagnostic pop template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT> >::__type copy(istreambuf_iterator<_CharT> __first, istreambuf_iterator<_CharT> __last, ostreambuf_iterator<_CharT> __result) { if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed) { bool __ineof; __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof); if (!__ineof) __result._M_failed = true; } return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT> >::__type __copy_move_a2(_CharT* __first, _CharT* __last, ostreambuf_iterator<_CharT> __result) { const streamsize __num = __last - __first; if (__num > 0) __result._M_put(__first, __num); return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, ostreambuf_iterator<_CharT> >::__type __copy_move_a2(const _CharT* __first, const _CharT* __last, ostreambuf_iterator<_CharT> __result) { const streamsize __num = __last - __first; if (__num > 0) __result._M_put(__first, __num); return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, _CharT*>::__type __copy_move_a2(istreambuf_iterator<_CharT> __first, istreambuf_iterator<_CharT> __last, _CharT* __result) { typedef istreambuf_iterator<_CharT> __is_iterator_type; typedef typename __is_iterator_type::traits_type traits_type; typedef typename __is_iterator_type::streambuf_type streambuf_type; typedef typename traits_type::int_type int_type; if (__first._M_sbuf && !__last._M_sbuf) { streambuf_type* __sb = __first._M_sbuf; int_type __c = __sb->sgetc(); while (!traits_type::eq_int_type(__c, traits_type::eof())) { const streamsize __n = __sb->egptr() - __sb->gptr(); if (__n > 1) { traits_type::copy(__result, __sb->gptr(), __n); __sb->__safe_gbump(__n); __result += __n; __c = __sb->underflow(); } else { *__result++ = traits_type::to_char_type(__c); __c = __sb->snextc(); } } } return __result; } template typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, _CharT*>::__type __copy_n_a(istreambuf_iterator<_CharT> __it, _Size __n, _CharT* __result, bool __strict __attribute__((__unused__))) { 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 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { #define _GLIBCXX_NUM_FACETS 14 #define _GLIBCXX_NUM_CXX11_FACETS (_GLIBCXX_USE_DUAL_ABI ? 8 : 0) #define _GLIBCXX_NUM_UNICODE_FACETS 2 #define _GLIBCXX_NUM_LBDL_ALT128_FACETS (4 + (_GLIBCXX_USE_DUAL_ABI ? 2 : 0)) 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; } # 152 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 template class __ctype_abstract_base : public locale::facet, public ctype_base { public: typedef _CharT char_type; # 171 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 bool is(mask __m, char_type __c) const { return this->do_is(__m, __c); } # 188 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 const char_type* is(const char_type *__lo, const char_type *__hi, mask *__vec) const { return this->do_is(__lo, __hi, __vec); } # 204 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 const char_type* scan_is(mask __m, const char_type* __lo, const char_type* __hi) const { return this->do_scan_is(__m, __lo, __hi); } # 220 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 const char_type* scan_not(mask __m, const char_type* __lo, const char_type* __hi) const { return this->do_scan_not(__m, __lo, __hi); } # 234 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 char_type toupper(char_type __c) const { return this->do_toupper(__c); } # 249 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 const char_type* toupper(char_type *__lo, const char_type* __hi) const { return this->do_toupper(__lo, __hi); } # 263 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 char_type tolower(char_type __c) const { return this->do_tolower(__c); } # 278 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 const char_type* tolower(char_type* __lo, const char_type* __hi) const { return this->do_tolower(__lo, __hi); } # 295 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 char_type widen(char __c) const { return this->do_widen(__c); } # 314 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 const char* widen(const char* __lo, const char* __hi, char_type* __to) const { return this->do_widen(__lo, __hi, __to); } # 333 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 char narrow(char_type __c, char __dfault) const { return this->do_narrow(__c, __dfault); } # 355 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 const char_type* narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __to) const { return this->do_narrow(__lo, __hi, __dfault, __to); } protected: explicit __ctype_abstract_base(size_t __refs = 0): facet(__refs) { } virtual ~__ctype_abstract_base() { } # 380 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual bool do_is(mask __m, char_type __c) const = 0; # 399 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const = 0; # 418 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const = 0; # 437 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const = 0; # 455 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type __c) const = 0; # 472 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const = 0; # 488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type __c) const = 0; # 505 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const = 0; # 524 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char_type do_widen(char __c) const = 0; # 545 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0; # 566 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char do_narrow(char_type __c, char __dfault) const = 0; # 591 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __to) const = 0; }; # 614 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 template class ctype : public __ctype_abstract_base<_CharT> { public: typedef _CharT char_type; typedef typename __ctype_abstract_base<_CharT>::mask mask; static locale::id id; explicit ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { } protected: virtual ~ctype(); virtual bool do_is(mask __m, char_type __c) const; virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const; virtual char_type do_toupper(char_type __c) const; virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; virtual char_type do_tolower(char_type __c) const; virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; virtual char_type do_widen(char __c) const; virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __dest) const; virtual char do_narrow(char_type, char __dfault) const; virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __to) const; }; template locale::id ctype<_CharT>::id; template class ctype >; # 688 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 template<> class ctype : public locale::facet, public ctype_base { public: typedef char char_type; protected: __c_locale _M_c_locale_ctype; bool _M_del; __to_type _M_toupper; __to_type _M_tolower; const mask* _M_table; mutable char _M_widen_ok; mutable char _M_widen[1 + static_cast(-1)]; mutable char _M_narrow[1 + static_cast(-1)]; mutable char _M_narrow_ok; public: static locale::id id; static const size_t table_size = 1 + static_cast(-1); # 725 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 explicit ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0); # 738 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 explicit ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false, size_t __refs = 0); # 751 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 inline bool is(mask __m, char __c) const; # 766 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 inline const char* is(const char* __lo, const char* __hi, mask* __vec) const; # 780 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 inline const char* scan_is(mask __m, const char* __lo, const char* __hi) const; # 794 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 inline const char* scan_not(mask __m, const char* __lo, const char* __hi) const; # 809 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 char_type toupper(char_type __c) const { return this->do_toupper(__c); } # 826 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 const char_type* toupper(char_type *__lo, const char_type* __hi) const { return this->do_toupper(__lo, __hi); } # 842 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 char_type tolower(char_type __c) const { return this->do_tolower(__c); } # 859 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 const char_type* tolower(char_type* __lo, const char_type* __hi) const { return this->do_tolower(__lo, __hi); } # 879 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 char_type widen(char __c) const { if (_M_widen_ok) return _M_widen[static_cast(__c)]; this->_M_widen_init(); return this->do_widen(__c); } # 906 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 const char* widen(const char* __lo, const char* __hi, char_type* __to) const { if (_M_widen_ok == 1) { 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); } # 938 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 char narrow(char_type __c, char __dfault) const { if (_M_narrow[static_cast(__c)]) return _M_narrow[static_cast(__c)]; const char __t = do_narrow(__c, __dfault); if (__t != __dfault) _M_narrow[static_cast(__c)] = __t; return __t; } # 971 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 const char_type* narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __to) const { if (__builtin_expect(_M_narrow_ok == 1, true)) { 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(); # 1021 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type __c) const; # 1038 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; # 1054 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type __c) const; # 1071 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; # 1091 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char_type do_widen(char __c) const { return __c; } # 1114 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; } # 1141 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const { return __c; } # 1167 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; }; # 1193 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 template<> class ctype : public __ctype_abstract_base { public: typedef wchar_t char_type; typedef wctype_t __wmask_type; protected: __c_locale _M_c_locale_ctype; bool _M_narrow_ok; char _M_narrow[128]; wint_t _M_widen[1 + static_cast(-1)]; mask _M_bit[16]; __wmask_type _M_wmask[16]; public: static locale::id id; # 1226 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 explicit ctype(size_t __refs = 0); # 1237 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 explicit ctype(__c_locale __cloc, size_t __refs = 0); protected: __wmask_type _M_convert_to_wmask(const mask __m) const throw(); virtual ~ctype(); # 1261 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual bool do_is(mask __m, char_type __c) const; # 1280 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const; # 1298 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const; # 1316 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const; # 1333 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char_type do_toupper(char_type __c) const; # 1350 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_toupper(char_type* __lo, const char_type* __hi) const; # 1366 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char_type do_tolower(char_type __c) const; # 1383 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_tolower(char_type* __lo, const char_type* __hi) const; # 1403 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char_type do_widen(char __c) const; # 1425 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char* do_widen(const char* __lo, const char* __hi, char_type* __to) const; # 1448 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char do_narrow(char_type __c, char __dfault) const; # 1474 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual const char_type* do_narrow(const char_type* __lo, const char_type* __hi, char __dfault, char* __to) const; void _M_initialize_ctype() throw(); }; template class ctype_byname : public ctype<_CharT> { public: typedef typename ctype<_CharT>::mask mask; explicit ctype_byname(const char* __s, size_t __refs = 0); protected: virtual ~ctype_byname() { } }; template<> class ctype_byname : public ctype { public: explicit ctype_byname(const char* __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); protected: virtual ~ctype_byname(); }; } # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/ctype_inline.h" 1 3 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/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; } } # 1547 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { class __num_base { public: enum { _S_ominus, _S_oplus, _S_ox, _S_oX, _S_odigits, _S_odigits_end = _S_odigits + 16, _S_oudigits = _S_odigits_end, _S_oudigits_end = _S_oudigits + 16, _S_oe = _S_odigits + 14, _S_oE = _S_oudigits + 14, _S_oend = _S_oudigits_end }; static const char* _S_atoms_out; static const char* _S_atoms_in; enum { _S_iminus, _S_iplus, _S_ix, _S_iX, _S_izero, _S_ie = _S_izero + 14, _S_iE = _S_izero + 20, _S_iend = 26 }; static void _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw(); }; template struct __numpunct_cache : public locale::facet { const char* _M_grouping; size_t _M_grouping_size; bool _M_use_grouping; const _CharT* _M_truename; size_t _M_truename_size; const _CharT* _M_falsename; size_t _M_falsename_size; _CharT _M_decimal_point; _CharT _M_thousands_sep; _CharT _M_atoms_out[__num_base::_S_oend]; _CharT _M_atoms_in[__num_base::_S_iend]; bool _M_allocated; __numpunct_cache(size_t __refs = 0) : facet(__refs), _M_grouping(0), _M_grouping_size(0), _M_use_grouping(false), _M_truename(0), _M_truename_size(0), _M_falsename(0), _M_falsename_size(0), _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()), _M_allocated(false) { } ~__numpunct_cache(); void _M_cache(const locale& __loc); private: __numpunct_cache& operator=(const __numpunct_cache&); explicit __numpunct_cache(const __numpunct_cache&); }; template __numpunct_cache<_CharT>::~__numpunct_cache() { if (_M_allocated) { delete [] _M_grouping; delete [] _M_truename; delete [] _M_falsename; } } namespace __cxx11 { # 1677 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 template class numpunct : public locale::facet { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; typedef __numpunct_cache<_CharT> __cache_type; protected: __cache_type* _M_data; public: static locale::id id; explicit numpunct(size_t __refs = 0) : facet(__refs), _M_data(0) { _M_initialize_numpunct(); } # 1715 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 explicit numpunct(__cache_type* __cache, size_t __refs = 0) : facet(__refs), _M_data(__cache) { _M_initialize_numpunct(); } # 1729 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 explicit numpunct(__c_locale __cloc, size_t __refs = 0) : facet(__refs), _M_data(0) { _M_initialize_numpunct(__cloc); } # 1743 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 char_type decimal_point() const { return this->do_decimal_point(); } # 1756 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 char_type thousands_sep() const { return this->do_thousands_sep(); } # 1787 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 string grouping() const { return this->do_grouping(); } # 1800 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 string_type truename() const { return this->do_truename(); } # 1813 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 string_type falsename() const { return this->do_falsename(); } protected: virtual ~numpunct(); # 1830 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char_type do_decimal_point() const { return _M_data->_M_decimal_point; } # 1842 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual char_type do_thousands_sep() const { return _M_data->_M_thousands_sep; } # 1855 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual string do_grouping() const { return _M_data->_M_grouping; } # 1868 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual string_type do_truename() const { return _M_data->_M_truename; } # 1881 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual string_type do_falsename() const { return _M_data->_M_falsename; } void _M_initialize_numpunct(__c_locale __cloc = 0); }; template locale::id numpunct<_CharT>::id; template<> numpunct::~numpunct(); template<> void numpunct::_M_initialize_numpunct(__c_locale __cloc); template<> numpunct::~numpunct(); template<> void numpunct::_M_initialize_numpunct(__c_locale __cloc); template class numpunct_byname : public numpunct<_CharT> { public: typedef _CharT char_type; typedef basic_string<_CharT> string_type; explicit numpunct_byname(const char* __s, size_t __refs = 0) : numpunct<_CharT>(__refs) { if (__builtin_strcmp(__s, "C") != 0 && __builtin_strcmp(__s, "POSIX") != 0) { __c_locale __tmp; this->_S_create_c_locale(__tmp, __s); this->_M_initialize_numpunct(__tmp); this->_S_destroy_c_locale(__tmp); } } protected: virtual ~numpunct_byname() { } }; } # 1959 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 template class num_get : public locale::facet { public: typedef _CharT char_type; typedef _InIter iter_type; static locale::id id; # 1980 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 explicit num_get(size_t __refs = 0) : facet(__refs) { } # 2006 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, bool& __v) const { return this->do_get(__in, __end, __io, __err, __v); } # 2043 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned short& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned int& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, long long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long long& __v) const { return this->do_get(__in, __end, __io, __err, __v); } # 2103 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, float& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, double& __v) const { return this->do_get(__in, __end, __io, __err, __v); } iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, long double& __v) const { return this->do_get(__in, __end, __io, __err, __v); } # 2146 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 iter_type get(iter_type __in, iter_type __end, ios_base& __io, ios_base::iostate& __err, void*& __v) const { return this->do_get(__in, __end, __io, __err, __v); } protected: virtual ~num_get() { } __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; } # 2219 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const; virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned short& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned int& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, long long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, unsigned long long& __v) const { return _M_extract_int(__beg, __end, __io, __err, __v); } virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const; virtual iter_type do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, double&) const; # 2271 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 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; # 2299 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 }; template locale::id num_get<_CharT, _InIter>::id; # 2317 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 template class num_put : public locale::facet { public: typedef _CharT char_type; typedef _OutIter iter_type; static locale::id id; # 2338 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 explicit num_put(size_t __refs = 0) : facet(__refs) { } # 2356 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const { return this->do_put(__s, __io, __fill, __v); } # 2398 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __io, char_type __fill, long __v) const { return this->do_put(__s, __io, __fill, __v); } iter_type put(iter_type __s, ios_base& __io, char_type __fill, unsigned long __v) const { return this->do_put(__s, __io, __fill, __v); } iter_type put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const { return this->do_put(__s, __io, __fill, __v); } iter_type put(iter_type __s, ios_base& __io, char_type __fill, unsigned long long __v) const { return this->do_put(__s, __io, __fill, __v); } # 2461 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __io, char_type __fill, double __v) const { return this->do_put(__s, __io, __fill, __v); } iter_type put(iter_type __s, ios_base& __io, char_type __fill, long double __v) const { return this->do_put(__s, __io, __fill, __v); } # 2486 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 iter_type put(iter_type __s, ios_base& __io, char_type __fill, const void* __v) const { return this->do_put(__s, __io, __fill, __v); } protected: template iter_type _M_insert_float(iter_type, ios_base& __io, char_type __fill, char __mod, _ValueT __v) const; void _M_group_float(const char* __grouping, size_t __grouping_size, char_type __sep, const char_type* __p, char_type* __new, char_type* __cs, int& __len) const; template iter_type _M_insert_int(iter_type, ios_base& __io, char_type __fill, _ValueT __v) const; void _M_group_int(const char* __grouping, size_t __grouping_size, char_type __sep, ios_base& __io, char_type* __new, char_type* __cs, int& __len) const; void _M_pad(char_type __fill, streamsize __w, ios_base& __io, char_type* __new, const char_type* __cs, int& __len) const; virtual ~num_put() { } # 2534 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const; virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const { return _M_insert_int(__s, __io, __fill, __v); } virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, unsigned long __v) const { return _M_insert_int(__s, __io, __fill, __v); } virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const { return _M_insert_int(__s, __io, __fill, __v); } virtual iter_type do_put(iter_type __s, ios_base& __io, char_type __fill, unsigned long long __v) const { return _M_insert_int(__s, __io, __fill, __v); } virtual iter_type do_put(iter_type, ios_base&, char_type, double) const; virtual iter_type do_put(iter_type, ios_base&, char_type, long double) const; virtual iter_type do_put(iter_type, ios_base&, char_type, const void*) const; # 2586 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 }; 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); } # 2673 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 3 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 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.tcc" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.tcc" 3 #define _LOCALE_FACETS_TCC 1 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template struct __use_cache { const _Facet* operator() (const locale& __loc) const; }; template struct __use_cache<__numpunct_cache<_CharT> > { const __numpunct_cache<_CharT>* operator() (const locale& __loc) const { const size_t __i = numpunct<_CharT>::id._M_id(); const locale::facet** __caches = __loc._M_impl->_M_caches; if (!__caches[__i]) { __numpunct_cache<_CharT>* __tmp = 0; try { __tmp = new __numpunct_cache<_CharT>; __tmp->_M_cache(__loc); } catch(...) { delete __tmp; throw; } __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; try { 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; } catch(...) { delete [] __grouping; delete [] __truename; delete [] __falsename; throw; } } # 139 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.tcc" 3 __attribute__ ((__pure__)) bool __verify_grouping(const char* __grouping, size_t __grouping_size, const string& __grouping_tmp) throw (); template __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 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.tcc" 3 template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, long double& __v) const { string __xtrc; __xtrc.reserve(32); __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc); std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale()); if (__beg == __end) __err |= ios_base::eofbit; return __beg; } template _InIter num_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, ios_base& __io, ios_base::iostate& __err, void*& __v) const { typedef ios_base::fmtflags fmtflags; const fmtflags __fmt = __io.flags(); __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex); typedef __gnu_cxx::__conditional_type<(sizeof(void*) <= sizeof(unsigned long)), unsigned long, unsigned long long>::__type _UIntPtrType; _UIntPtrType __ul; __beg = _M_extract_int(__beg, __end, __io, __err, __ul); __io.flags(__fmt); __v = reinterpret_cast(__ul); return __beg; } # 795 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.tcc" 3 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; } # 989 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.tcc" 3 template template _OutIter num_put<_CharT, _OutIter>:: _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod, _ValueT __v) const { typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision(); const int __max_digits = __gnu_cxx::__numeric_traits<_ValueT>::__digits10; int __len; char __fbuf[16]; __num_base::_S_format_float(__io, __fbuf, __mod); const bool __use_prec = (__io.flags() & ios_base::floatfield) != ios_base::floatfield; int __cs_size = __max_digits * 3; char* __cs = static_cast(__builtin_alloca(__cs_size)); if (__use_prec) __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, __prec, __v); else __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, __v); if (__len >= __cs_size) { __cs_size = __len + 1; __cs = static_cast(__builtin_alloca(__cs_size)); if (__use_prec) __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, __prec, __v); else __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf, __v); } # 1062 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.tcc" 3 const ctype<_CharT>& __ctype = use_facet >(__loc); _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len)); __ctype.widen(__cs, __cs + __len, __ws); _CharT* __wp = 0; const char* __p = char_traits::find(__cs, __len, '.'); if (__p) { __wp = __ws + (__p - __cs); *__wp = __lc->_M_decimal_point; } if (__lc->_M_use_grouping && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9' && __cs[1] >= '0' && __cs[2] >= '0'))) { _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __len * 2)); streamsize __off = 0; if (__cs[0] == '-' || __cs[0] == '+') { __off = 1; __ws2[0] = __ws[0]; __len -= 1; } _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size, __lc->_M_thousands_sep, __wp, __ws2 + __off, __ws + __off, __len); __len += __off; __ws = __ws2; } const streamsize __w = __io.width(); if (__w > static_cast(__len)) { _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w)); _M_pad(__fill, __w, __io, __ws3, __ws, __len); __ws = __ws3; } __io.width(0); return std::__write(__s, __ws, __len); } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const { const ios_base::fmtflags __flags = __io.flags(); if ((__flags & ios_base::boolalpha) == 0) { const long __l = __v; __s = _M_insert_int(__s, __io, __fill, __l); } else { typedef __numpunct_cache<_CharT> __cache_type; __use_cache<__cache_type> __uc; const locale& __loc = __io._M_getloc(); const __cache_type* __lc = __uc(__loc); const _CharT* __name = __v ? __lc->_M_truename : __lc->_M_falsename; int __len = __v ? __lc->_M_truename_size : __lc->_M_falsename_size; const streamsize __w = __io.width(); if (__w > static_cast(__len)) { const streamsize __plen = __w - __len; _CharT* __ps = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __plen)); char_traits<_CharT>::assign(__ps, __plen, __fill); __io.width(0); if ((__flags & ios_base::adjustfield) == ios_base::left) { __s = std::__write(__s, __name, __len); __s = std::__write(__s, __ps, __plen); } else { __s = std::__write(__s, __ps, __plen); __s = std::__write(__s, __name, __len); } return __s; } __io.width(0); __s = std::__write(__s, __name, __len); } return __s; } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const { return _M_insert_float(__s, __io, __fill, char(), __v); } # 1187 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.tcc" 3 template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, long double __v) const { return _M_insert_float(__s, __io, __fill, 'L', __v); } template _OutIter num_put<_CharT, _OutIter>:: do_put(iter_type __s, ios_base& __io, char_type __fill, const void* __v) const { const ios_base::fmtflags __flags = __io.flags(); const ios_base::fmtflags __fmt = ~(ios_base::basefield | ios_base::uppercase); __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase)); typedef __gnu_cxx::__conditional_type<(sizeof(const void*) <= sizeof(unsigned long)), unsigned long, unsigned long long>::__type _UIntPtrType; __s = _M_insert_int(__s, __io, __fill, reinterpret_cast<_UIntPtrType>(__v)); __io.flags(__flags); return __s; } # 1224 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.tcc" 3 # 1233 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.tcc" 3 template void __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill, _CharT* __news, const _CharT* __olds, streamsize __newlen, streamsize __oldlen) { const size_t __plen = static_cast(__newlen - __oldlen); const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield; if (__adjust == ios_base::left) { _Traits::copy(__news, __olds, __oldlen); _Traits::assign(__news + __oldlen, __plen, __fill); return; } size_t __mod = 0; if (__adjust == ios_base::internal) { const locale& __loc = __io._M_getloc(); const ctype<_CharT>& __ctype = use_facet >(__loc); if (__ctype.widen('-') == __olds[0] || __ctype.widen('+') == __olds[0]) { __news[0] = __olds[0]; __mod = 1; ++__news; } else if (__ctype.widen('0') == __olds[0] && __oldlen > 1 && (__ctype.widen('x') == __olds[1] || __ctype.widen('X') == __olds[1])) { __news[0] = __olds[0]; __news[1] = __olds[1]; __mod = 2; __news += 2; } } _Traits::assign(__news, __plen, __fill); _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod); } template _CharT* __add_grouping(_CharT* __s, _CharT __sep, const char* __gbeg, size_t __gsize, const _CharT* __first, const _CharT* __last) { size_t __idx = 0; size_t __ctr = 0; while (__last - __first > __gbeg[__idx] && static_cast(__gbeg[__idx]) > 0 && __gbeg[__idx] != __gnu_cxx::__numeric_traits::__max) { __last -= __gbeg[__idx]; __idx < __gsize - 1 ? ++__idx : ++__ctr; } while (__first != __last) *__s++ = *__first++; while (__ctr--) { *__s++ = __sep; for (char __i = __gbeg[__idx]; __i > 0; --__i) *__s++ = *__first++; } while (__idx--) { *__s++ = __sep; for (char __i = __gbeg[__idx]; __i > 0; --__i) *__s++ = *__first++; } return __s; } extern template class __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* __try_use_facet >(const locale&) throw(); extern template const numpunct* __try_use_facet >(const locale&) throw(); extern template const num_put* __try_use_facet >(const locale&) throw(); extern template const num_get* __try_use_facet >(const locale&) throw(); 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* __try_use_facet >(const locale&) throw(); extern template const numpunct* __try_use_facet >(const locale&) throw(); extern template const num_put* __try_use_facet >(const locale&) throw(); extern template const num_get* __try_use_facet >(const locale&) throw(); 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&); } # 2688 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/locale_facets.h" 2 3 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template inline const _Facet& __check_facet(const _Facet* __f) { if (!__f) __throw_bad_cast(); return *__f; } # 66 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 template class basic_ios : public ios_base { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef ctype<_CharT> __ctype_type; typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > __num_put_type; typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > __num_get_type; protected: basic_ostream<_CharT, _Traits>* _M_tie; mutable char_type _M_fill; mutable bool _M_fill_init; basic_streambuf<_CharT, _Traits>* _M_streambuf; const __ctype_type* _M_ctype; const __num_put_type* _M_num_put; const __num_get_type* _M_num_get; public: # 124 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 operator void*() const { return this->fail() ? 0 : const_cast(this); } bool operator!() const { return this->fail(); } # 140 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 iostate rdstate() const { return _M_streambuf_state; } # 151 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 void clear(iostate __state = goodbit); void setstate(iostate __state) { this->clear(this->rdstate() | __state); } void _M_setstate(iostate __state) { _M_streambuf_state |= __state; if (this->exceptions() & __state) throw; } bool good() const { return this->rdstate() == 0; } bool eof() const { return (this->rdstate() & eofbit) != 0; } # 204 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 bool fail() const { return (this->rdstate() & (badbit | failbit)) != 0; } bool bad() const { return (this->rdstate() & badbit) != 0; } # 225 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 iostate exceptions() const { return _M_exception; } # 260 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 void exceptions(iostate __except) { _M_exception = __except; this->clear(_M_streambuf_state); } explicit basic_ios(basic_streambuf<_CharT, _Traits>* __sb) : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) { this->init(__sb); } virtual ~basic_ios() { } # 298 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 basic_ostream<_CharT, _Traits>* tie() const { return _M_tie; } # 310 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 basic_ostream<_CharT, _Traits>* tie(basic_ostream<_CharT, _Traits>* __tiestr) { basic_ostream<_CharT, _Traits>* __old = _M_tie; _M_tie = __tiestr; return __old; } basic_streambuf<_CharT, _Traits>* rdbuf() const { return _M_streambuf; } # 350 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 basic_streambuf<_CharT, _Traits>* rdbuf(basic_streambuf<_CharT, _Traits>* __sb); # 364 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 basic_ios& copyfmt(const basic_ios& __rhs); char_type fill() const { if (!_M_fill_init) { _M_fill = this->widen(' '); _M_fill_init = true; } return _M_fill; } # 393 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 char_type fill(char_type __ch) { char_type __old = this->fill(); _M_fill = __ch; return __old; } # 413 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 locale imbue(const locale& __loc); # 433 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 char narrow(char_type __c, char __dfault) const { return __check_facet(_M_ctype).narrow(__c, __dfault); } # 452 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 char_type widen(char __c) const { return __check_facet(_M_ctype).widen(__c); } protected: basic_ios() : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false), _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0) { } void init(basic_streambuf<_CharT, _Traits>* __sb); # 513 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 3 void _M_cache_locale(const locale& __loc); }; } # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.tcc" 1 3 # 31 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.tcc" 3 #define _BASIC_IOS_TCC 1 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void basic_ios<_CharT, _Traits>::clear(iostate __state) { if (this->rdbuf()) _M_streambuf_state = __state; else _M_streambuf_state = __state | badbit; if (this->exceptions() & this->rdstate()) __throw_ios_failure(("basic_ios::clear")); } template basic_streambuf<_CharT, _Traits>* basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb) { basic_streambuf<_CharT, _Traits>* __old = _M_streambuf; _M_streambuf = __sb; this->clear(); return __old; } template basic_ios<_CharT, _Traits>& basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs) { if (this != std::__addressof(__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 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.tcc" 3 _M_fill = _CharT(); _M_fill_init = false; _M_tie = 0; _M_exception = goodbit; _M_streambuf = __sb; _M_streambuf_state = __sb ? goodbit : badbit; } template void basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc) { _M_ctype = std::__try_use_facet<__ctype_type>(__loc); _M_num_put = std::__try_use_facet<__num_put_type>(__loc); _M_num_get = std::__try_use_facet<__num_get_type>(__loc); } extern template class basic_ios; extern template class basic_ios; } # 521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/basic_ios.h" 2 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ios" 2 3 #define __glibcxx_want_ios_noreplace # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 1 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #define __glibcxx_incomplete_container_elements 201505L #undef __glibcxx_want_incomplete_container_elements # 71 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_uncaught_exceptions # 82 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_allocator_traits_is_always_equal # 93 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_null_pointer # 104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_result_of_sfinae # 120 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_arrays # 131 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_swappable # 142 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_void_t # 153 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_enable_shared_from_this # 164 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_spec_funcs # 175 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_coroutine # 186 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_exchange_function # 197 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_sequence # 208 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integral_constant_callable # 219 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_final # 230 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_reverse_iterator # 241 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_null_iterators # 252 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transformation_trait_aliases # 263 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transparent_operators # 274 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuple_element_t # 285 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuples_by_type # 296 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_robust_nonmodifying_seq_ops # 312 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_chars # 323 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono_udls # 334 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_complex_udls # 345 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_associative_lookup # 356 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_unique # 367 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_quoted_string_io # 378 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_timed_mutex # 389 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_udls # 400 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_addressof_constexpr # 411 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_any # 422 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_apply # 433 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_as_const # 444 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_is_always_lock_free # 455 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bool_constant # 466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byte # 477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_has_unique_object_representations # 488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hardware_interference_size # 499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke # 510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_aggregate # 521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_invocable # 532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_launder # 543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_logical_traits # 554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_from_tuple # 565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_not_fn # 576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_trait_variable_templates # 592 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_variant # 603 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_lcm # 614 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd # 625 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd_lcm # 636 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_raw_memory_algorithms # 652 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_array_constexpr # 663 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_nonmember_container_access # 674 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_clamp # 685 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_sample # 696 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_boyer_moore_searcher # 712 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono # 723 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_execution # 734 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_filesystem # 745 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hypot # 756 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_map_try_emplace # 767 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_special_functions # 783 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_memory_resource # 794 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_node_extract # 805 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_parallel_algorithm # 816 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_scoped_lock # 827 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_mutex # 838 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_weak_type # 849 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_view # 860 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unordered_map_try_emplace # 871 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_assume_aligned # 882 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_flag_test # 893 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_float # 904 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_lock_free_type_aliases # 915 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_ref # 926 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_value_initialization # 937 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bind_front # 948 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_starts_ends_with # 959 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bit_cast # 970 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bitops # 981 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bounded_array_traits # 992 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_concepts # 1013 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_optional # 1024 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_destroying_delete # 1035 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string_view # 1046 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_endian # 1057 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_int_pow2 # 1068 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_comparison_functions # 1079 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_constant_evaluated # 1095 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_char_traits # 1106 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_layout_compatible # 1117 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_nothrow_convertible # 1128 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_pointer_interconvertible # 1139 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_constants # 1150 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_obj_using_allocator # 1161 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_remove_cvref # 1172 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_source_location # 1188 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_span # 1199 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ssize # 1210 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_three_way_comparison # 1221 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_address # 1232 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_array # 1243 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_identity # 1254 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unwrap_ref # 1265 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_iterator # 1276 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_interpolate # 1287 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_utility # 1298 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shift # 1314 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges # 1325 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_numeric # 1336 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_functional # 1347 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_algorithms # 1358 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_tuple # 1374 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_memory # 1385 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_shared_ptr # 1401 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_wait # 1412 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_barrier # 1423 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_format # 1434 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_complex # 1445 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_dynamic_alloc # 1466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string # 1477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_vector # 1488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_erase_if # 1499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_unordered_lookup # 1510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_jthread # 1521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_latch # 1532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_list_remove_return_type # 1543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_polymorphic_allocator # 1554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_iterator_concept # 1565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_semaphore # 1576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_smart_ptr_for_overwrite # 1587 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_syncbuf # 1598 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byteswap # 1609 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_charconv # 1620 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_typeinfo # 1631 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_expected # 1642 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_algorithm # 1653 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_array # 1664 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_cstring # 1675 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_expected # 1686 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_optional # 1697 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_string_view # 1708 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_variant # 1719 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke_r # 1730 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_scoped_enum # 1741 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_reference_from_temporary # 1752 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_to_container # 1763 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_zip # 1774 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk # 1785 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_slide # 1796 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk_by # 1807 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_join_with # 1818 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_repeat # 1829 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_stride # 1840 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_cartesian_product # 1851 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_rvalue # 1862 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_const # 1873 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_enumerate # 1884 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_fold # 1895 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_contains # 1906 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_iota # 1917 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_find_last # 1928 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_bitset # 1939 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stdatomic_h # 1950 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_adaptor_iterator_pair_constructor # 1961 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_formatters # 1972 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_forward_like # 1983 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ios_noreplace # 1994 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_only_function # 2005 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_out_ptr # 2016 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_print # 2027 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_spanstream # 2038 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stacktrace # 2049 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_contains # 2060 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_resize_and_overwrite # 2071 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_underlying # 2082 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unreachable # 2093 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_fstream_native_handle # 2104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ratio # 2115 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_saturation_arithmetic # 2126 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_string # 2137 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generator #undef __glibcxx_want_all # 50 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ios" 2 3 # 41 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 2 3 #define __glibcxx_want_print # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 1 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #define __glibcxx_incomplete_container_elements 201505L #undef __glibcxx_want_incomplete_container_elements # 71 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_uncaught_exceptions # 82 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_allocator_traits_is_always_equal # 93 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_null_pointer # 104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_result_of_sfinae # 120 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_arrays # 131 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_swappable # 142 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_void_t # 153 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_enable_shared_from_this # 164 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_spec_funcs # 175 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_coroutine # 186 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_exchange_function # 197 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_sequence # 208 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integral_constant_callable # 219 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_final # 230 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_reverse_iterator # 241 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_null_iterators # 252 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transformation_trait_aliases # 263 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transparent_operators # 274 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuple_element_t # 285 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuples_by_type # 296 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_robust_nonmodifying_seq_ops # 312 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_chars # 323 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono_udls # 334 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_complex_udls # 345 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_associative_lookup # 356 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_unique # 367 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_quoted_string_io # 378 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_timed_mutex # 389 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_udls # 400 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_addressof_constexpr # 411 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_any # 422 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_apply # 433 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_as_const # 444 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_is_always_lock_free # 455 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bool_constant # 466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byte # 477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_has_unique_object_representations # 488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hardware_interference_size # 499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke # 510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_aggregate # 521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_invocable # 532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_launder # 543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_logical_traits # 554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_from_tuple # 565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_not_fn # 576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_trait_variable_templates # 592 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_variant # 603 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_lcm # 614 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd # 625 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd_lcm # 636 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_raw_memory_algorithms # 652 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_array_constexpr # 663 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_nonmember_container_access # 674 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_clamp # 685 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_sample # 696 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_boyer_moore_searcher # 712 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono # 723 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_execution # 734 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_filesystem # 745 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hypot # 756 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_map_try_emplace # 767 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_special_functions # 783 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_memory_resource # 794 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_node_extract # 805 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_parallel_algorithm # 816 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_scoped_lock # 827 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_mutex # 838 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_weak_type # 849 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_view # 860 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unordered_map_try_emplace # 871 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_assume_aligned # 882 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_flag_test # 893 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_float # 904 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_lock_free_type_aliases # 915 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_ref # 926 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_value_initialization # 937 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bind_front # 948 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_starts_ends_with # 959 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bit_cast # 970 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bitops # 981 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bounded_array_traits # 992 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_concepts # 1013 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_optional # 1024 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_destroying_delete # 1035 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string_view # 1046 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_endian # 1057 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_int_pow2 # 1068 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_comparison_functions # 1079 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_constant_evaluated # 1095 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_char_traits # 1106 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_layout_compatible # 1117 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_nothrow_convertible # 1128 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_pointer_interconvertible # 1139 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_constants # 1150 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_obj_using_allocator # 1161 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_remove_cvref # 1172 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_source_location # 1188 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_span # 1199 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ssize # 1210 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_three_way_comparison # 1221 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_address # 1232 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_array # 1243 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_identity # 1254 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unwrap_ref # 1265 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_iterator # 1276 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_interpolate # 1287 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_utility # 1298 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shift # 1314 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges # 1325 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_numeric # 1336 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_functional # 1347 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_algorithms # 1358 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_tuple # 1374 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_memory # 1385 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_shared_ptr # 1401 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_wait # 1412 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_barrier # 1423 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_format # 1434 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_complex # 1445 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_dynamic_alloc # 1466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string # 1477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_vector # 1488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_erase_if # 1499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_unordered_lookup # 1510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_jthread # 1521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_latch # 1532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_list_remove_return_type # 1543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_polymorphic_allocator # 1554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_iterator_concept # 1565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_semaphore # 1576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_smart_ptr_for_overwrite # 1587 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_syncbuf # 1598 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byteswap # 1609 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_charconv # 1620 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_typeinfo # 1631 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_expected # 1642 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_algorithm # 1653 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_array # 1664 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_cstring # 1675 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_expected # 1686 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_optional # 1697 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_string_view # 1708 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_variant # 1719 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke_r # 1730 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_scoped_enum # 1741 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_reference_from_temporary # 1752 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_to_container # 1763 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_zip # 1774 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk # 1785 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_slide # 1796 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk_by # 1807 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_join_with # 1818 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_repeat # 1829 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_stride # 1840 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_cartesian_product # 1851 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_rvalue # 1862 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_const # 1873 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_enumerate # 1884 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_fold # 1895 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_contains # 1906 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_iota # 1917 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_find_last # 1928 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_bitset # 1939 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stdatomic_h # 1950 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_adaptor_iterator_pair_constructor # 1961 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_formatters # 1972 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_forward_like # 1983 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ios_noreplace # 1994 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_only_function # 2005 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_out_ptr # 2016 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_print # 2027 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_spanstream # 2038 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stacktrace # 2049 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_contains # 2060 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_resize_and_overwrite # 2071 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_underlying # 2082 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unreachable # 2093 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_fstream_native_handle # 2104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ratio # 2115 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_saturation_arithmetic # 2126 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_string # 2137 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generator #undef __glibcxx_want_all # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 65 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 template class basic_ostream : virtual public basic_ios<_CharT, _Traits> { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_ios<_CharT, _Traits> __ios_type; typedef basic_ostream<_CharT, _Traits> __ostream_type; typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> > __num_put_type; typedef ctype<_CharT> __ctype_type; # 91 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 explicit basic_ostream(__streambuf_type* __sb) { this->init(__sb); } virtual ~basic_ostream() { } class sentry; friend class sentry; # 115 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 __ostream_type& operator<<(__ostream_type& (*__pf)(__ostream_type&)) { return __pf(*this); } __ostream_type& operator<<(__ios_type& (*__pf)(__ios_type&)) { __pf(*this); return *this; } __ostream_type& operator<<(ios_base& (*__pf) (ios_base&)) { __pf(*this); return *this; } # 173 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 __ostream_type& operator<<(long __n) { return _M_insert(__n); } __ostream_type& operator<<(unsigned long __n) { return _M_insert(__n); } __ostream_type& operator<<(bool __n) { return _M_insert(__n); } __ostream_type& operator<<(short __n); __ostream_type& operator<<(unsigned short __n) { return _M_insert(static_cast(__n)); } __ostream_type& operator<<(int __n); __ostream_type& operator<<(unsigned int __n) { return _M_insert(static_cast(__n)); } __ostream_type& operator<<(long long __n) { return _M_insert(__n); } __ostream_type& operator<<(unsigned long long __n) { return _M_insert(__n); } # 227 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 __ostream_type& operator<<(double __f) { return _M_insert(__f); } __ostream_type& operator<<(float __f) { return _M_insert(static_cast(__f)); } __ostream_type& operator<<(long double __f) { return _M_insert(__f); } # 297 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 __ostream_type& operator<<(const void* __p) { return _M_insert(__p); } # 335 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 __ostream_type& operator<<(__streambuf_type* __sb); # 368 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 __ostream_type& put(char_type __c); # 387 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 __ostream_type& write(const char_type* __s, streamsize __n); # 400 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 __ostream_type& flush(); # 410 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 pos_type tellp(); # 421 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 __ostream_type& seekp(pos_type); # 433 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 __ostream_type& seekp(off_type, ios_base::seekdir); protected: basic_ostream() { this->init(0); } # 466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 template __ostream_type& _M_insert(_ValueT __v); private: void _M_write(const char_type* __s, streamsize __n) { std::__ostream_insert(*this, __s, __n); } }; # 485 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 template class basic_ostream<_CharT, _Traits>::sentry { bool _M_ok; basic_ostream<_CharT, _Traits>& _M_os; public: # 504 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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 # 538 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 operator bool() const { return _M_ok; } }; # 558 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c) { if (__out.width() != 0) return __ostream_insert(__out, &__c, 1); __out.put(__c); return __out; } 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) { if (__out.width() != 0) return __ostream_insert(__out, &__c, 1); __out.put(__c); return __out; } 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)); } # 649 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 template inline basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s) { if (!__s) __out.setstate(ios_base::badbit); else __ostream_insert(__out, __s, static_cast(_Traits::length(__s))); return __out; } template basic_ostream<_CharT, _Traits> & operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s); template inline basic_ostream& operator<<(basic_ostream& __out, const char* __s) { if (!__s) __out.setstate(ios_base::badbit); else __ostream_insert(__out, __s, static_cast(_Traits::length(__s))); return __out; } template inline basic_ostream& operator<<(basic_ostream& __out, const signed char* __s) { return (__out << reinterpret_cast(__s)); } template inline basic_ostream & operator<<(basic_ostream& __out, const unsigned char* __s) { return (__out << reinterpret_cast(__s)); } # 739 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 template inline basic_ostream<_CharT, _Traits>& endl(basic_ostream<_CharT, _Traits>& __os) { return flush(__os.put(__os.widen('\n'))); } # 751 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 template inline basic_ostream<_CharT, _Traits>& ends(basic_ostream<_CharT, _Traits>& __os) { return __os.put(_CharT()); } template inline basic_ostream<_CharT, _Traits>& flush(basic_ostream<_CharT, _Traits>& __os) { return __os.flush(); } # 1002 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 3 } # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ostream.tcc" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ostream.tcc" 3 #define _OSTREAM_TCC 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/ostream.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template basic_ostream<_CharT, _Traits>::sentry:: sentry(basic_ostream<_CharT, _Traits>& __os) : _M_ok(false), _M_os(__os) { if (__os.tie() && __os.good()) __os.tie()->flush(); if (__os.good()) _M_ok = true; else if (__os.bad()) __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; try { const __num_put_type& __np = __check_facet(this->_M_num_put); if (__np.put(*this, *this, this->fill(), __v).failed()) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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) { try { if (!__copy_streambufs(__sbin, this->rdbuf())) __err |= ios_base::failbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { const int_type __put = this->rdbuf()->sputc(__c); if (traits_type::eq_int_type(__put, traits_type::eof())) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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) { ios_base::iostate __err = ios_base::goodbit; try { if (this->rdbuf()->sputn(__s, __n) != __n) __err = ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { this->_M_setstate(ios_base::badbit); } if (__err) this->setstate(ios_base::badbit); } return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: flush() { if (__streambuf_type* __buf = this->rdbuf()) { sentry __cerb(*this); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { if (this->rdbuf()->pubsync() == -1) __err |= ios_base::badbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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() { sentry __cerb(*this); pos_type __ret = pos_type(-1); if (!this->fail()) __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out); return __ret; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: seekp(pos_type __pos) { sentry __cerb(*this); if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekpos(__pos, ios_base::out); if (__p == pos_type(off_type(-1))) this->setstate(ios_base::failbit); } return *this; } template basic_ostream<_CharT, _Traits>& basic_ostream<_CharT, _Traits>:: seekp(off_type __off, ios_base::seekdir __dir) { sentry __cerb(*this); if (!this->fail()) { const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir, ios_base::out); if (__p == pos_type(off_type(-1))) this->setstate(ios_base::failbit); } 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); try { 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); } catch(__cxxabiv1::__forced_unwind&) { __out._M_setstate(ios_base::badbit); throw; } catch(...) { __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*); } # 1006 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/ostream" 2 3 # 42 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iostream" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 1 3 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 #define _GLIBCXX_ISTREAM 1 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 59 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 template class basic_istream : virtual public basic_ios<_CharT, _Traits> { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_ios<_CharT, _Traits> __ios_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> > __num_get_type; typedef ctype<_CharT> __ctype_type; protected: streamsize _M_gcount; public: explicit basic_istream(__streambuf_type* __sb) : _M_gcount(streamsize(0)) { this->init(__sb); } virtual ~basic_istream() { _M_gcount = streamsize(0); } class sentry; friend class sentry; # 121 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& operator>>(__istream_type& (*__pf)(__istream_type&)) { return __pf(*this); } __istream_type& operator>>(__ios_type& (*__pf)(__ios_type&)) { __pf(*this); return *this; } __istream_type& operator>>(ios_base& (*__pf)(ios_base&)) { __pf(*this); return *this; } # 169 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& operator>>(bool& __n) { return _M_extract(__n); } __istream_type& operator>>(short& __n); __istream_type& operator>>(unsigned short& __n) { return _M_extract(__n); } __istream_type& operator>>(int& __n); __istream_type& operator>>(unsigned int& __n) { return _M_extract(__n); } __istream_type& operator>>(long& __n) { return _M_extract(__n); } __istream_type& operator>>(unsigned long& __n) { return _M_extract(__n); } __istream_type& operator>>(long long& __n) { return _M_extract(__n); } __istream_type& operator>>(unsigned long long& __n) { return _M_extract(__n); } # 215 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& operator>>(float& __f) { return _M_extract(__f); } __istream_type& operator>>(double& __f) { return _M_extract(__f); } __istream_type& operator>>(long double& __f) { return _M_extract(__f); } # 324 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& operator>>(void*& __p) { return _M_extract(__p); } # 348 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& operator>>(__streambuf_type* __sb); # 358 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 streamsize gcount() const { return _M_gcount; } # 391 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 int_type get(); # 405 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& get(char_type& __c); # 432 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& get(char_type* __s, streamsize __n, char_type __delim); # 443 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& get(char_type* __s, streamsize __n) { return this->get(__s, __n, this->widen('\n')); } # 466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& get(__streambuf_type& __sb, char_type __delim); # 476 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& get(__streambuf_type& __sb) { return this->get(__sb, this->widen('\n')); } # 505 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& getline(char_type* __s, streamsize __n, char_type __delim); # 516 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& getline(char_type* __s, streamsize __n) { return this->getline(__s, __n, this->widen('\n')); } # 540 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& ignore(streamsize __n, int_type __delim); __istream_type& ignore(streamsize __n); __istream_type& ignore(); # 557 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 int_type peek(); # 575 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& read(char_type* __s, streamsize __n); # 594 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 streamsize readsome(char_type* __s, streamsize __n); # 611 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& putback(char_type __c); # 627 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& unget(); # 645 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 int sync(); # 660 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 pos_type tellg(); # 675 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& seekg(pos_type); # 691 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 __istream_type& seekg(off_type, ios_base::seekdir); protected: basic_istream() : _M_gcount(streamsize(0)) { this->init(0); } # 729 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 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); # 775 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 template class basic_istream<_CharT, _Traits>::sentry { bool _M_ok; public: typedef _Traits traits_type; typedef basic_streambuf<_CharT, _Traits> __streambuf_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef typename __istream_type::__ctype_type __ctype_type; typedef typename _Traits::int_type __int_type; # 811 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 explicit sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false); # 824 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 operator bool() const { return _M_ok; } }; # 840 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 template basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c); template inline basic_istream& operator>>(basic_istream& __in, unsigned char& __c) { return (__in >> reinterpret_cast(__c)); } template inline basic_istream& operator>>(basic_istream& __in, signed char& __c) { return (__in >> reinterpret_cast(__c)); } template void __istream_extract(basic_istream<_CharT, _Traits>&, _CharT*, streamsize); void __istream_extract(istream&, char*, streamsize); # 890 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 template __attribute__((__nonnull__(2), __access__(__write_only__, 2))) inline basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) { size_t __n = __builtin_object_size(__s, 0); if (__n < sizeof(_CharT)) { ; __in.width(0); __in.setstate(ios_base::failbit); } else if (__n != (size_t)-1) { __n /= sizeof(_CharT); streamsize __w = __in.width(); std::__istream_extract(__in, __s, __n); if (__in.good() && (__w <= 0 || __n < __w)) { const typename _Traits::int_type __c = __in.rdbuf()->sgetc(); const bool __eof = _Traits::eq_int_type(__c, _Traits::eof()); if (__builtin_expect(__eof, true)) __in.setstate(ios_base::eofbit); } } else { streamsize __n = __gnu_cxx::__numeric_traits::__max; __n /= sizeof(_CharT); std::__istream_extract(__in, __s, __n); } return __in; } template __attribute__((__nonnull__(2), __access__(__write_only__, 2))) inline basic_istream& operator>>(basic_istream& __in, unsigned char* __s) { return __in >> reinterpret_cast(__s); } template __attribute__((__nonnull__(2), __access__(__write_only__, 2))) inline basic_istream& operator>>(basic_istream& __in, signed char* __s) { return __in >> reinterpret_cast(__s); } # 979 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 template class basic_iostream : public basic_istream<_CharT, _Traits>, public basic_ostream<_CharT, _Traits> { public: typedef _CharT char_type; typedef typename _Traits::int_type int_type; typedef typename _Traits::pos_type pos_type; typedef typename _Traits::off_type off_type; typedef _Traits traits_type; typedef basic_istream<_CharT, _Traits> __istream_type; typedef basic_ostream<_CharT, _Traits> __ostream_type; explicit basic_iostream(basic_streambuf<_CharT, _Traits>* __sb) : __istream_type(__sb), __ostream_type(__sb) { } virtual ~basic_iostream() { } protected: basic_iostream() : __istream_type(), __ostream_type() { } # 1040 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 }; # 1062 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 template basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _Traits>& __is); # 1103 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 3 } # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/istream.tcc" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/istream.tcc" 3 #define _ISTREAM_TCC 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/istream.tcc" 3 namespace std __attribute__ ((__visibility__ ("default"))) { template basic_istream<_CharT, _Traits>::sentry:: sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false) { ios_base::iostate __err = ios_base::goodbit; if (__in.good()) { try { 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; } } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(ios_base::badbit); throw; } catch(...) { __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; try { const __num_get_type& __ng = __check_facet(this->_M_num_get); __ng.get(*this, 0, *this, __err, __v); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { 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); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { 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); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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) { try { bool __ineof; if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof)) __err |= ios_base::failbit; if (__ineof) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::failbit); throw; } catch(...) { 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) { try { __c = this->rdbuf()->sbumpc(); if (!traits_type::eq_int_type(__c, __eof)) _M_gcount = 1; else __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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) { try { 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; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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) { try { 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; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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) { try { 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); unsigned long long __gcount = 0; while (!traits_type::eq_int_type(__c, __eof) && !traits_type::eq_int_type(__c, __idelim) && !traits_type::eq_int_type(__sb.sputc(__c2), __eof)) { ++__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 (__gcount <= __gnu_cxx::__numeric_traits::__max) _M_gcount = __gcount; else _M_gcount = __gnu_cxx::__numeric_traits::__max; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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) { try { 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; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { 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; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { const int_type __eof = traits_type::eof(); __streambuf_type* __sb = this->rdbuf(); int_type __c = __sb->sgetc(); # 545 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/istream.tcc" 3 bool __large_ignore = false; while (true) { while (_M_gcount < __n && !traits_type::eq_int_type(__c, __eof)) { ++_M_gcount; __c = __sb->snextc(); } if (__n == __gnu_cxx::__numeric_traits::__max && !traits_type::eq_int_type(__c, __eof)) { _M_gcount = __gnu_cxx::__numeric_traits::__min; __large_ignore = true; } else break; } if (__n == __gnu_cxx::__numeric_traits::__max) { if (__large_ignore) _M_gcount = __gnu_cxx::__numeric_traits::__max; if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } else if (_M_gcount < __n) { if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { 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 (__n == __gnu_cxx::__numeric_traits::__max) { if (__large_ignore) _M_gcount = __gnu_cxx::__numeric_traits::__max; if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; else { if (_M_gcount != __n) ++_M_gcount; __sb->sbumpc(); } } else if (_M_gcount < __n) { if (traits_type::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; else { ++_M_gcount; __sb->sbumpc(); } } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { __c = this->rdbuf()->sgetc(); if (traits_type::eq_int_type(__c, traits_type::eof())) __err |= ios_base::eofbit; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { _M_gcount = this->rdbuf()->sgetn(__s, __n); if (_M_gcount != __n) __err |= (ios_base::eofbit | ios_base::failbit); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { 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; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { 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; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { 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; } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { __streambuf_type* __sb = this->rdbuf(); if (__sb) { if (__sb->pubsync() == -1) __err |= ios_base::badbit; else __ret = 0; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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) { try { if (!this->fail()) __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in); } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { 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; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { 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; } } catch(__cxxabiv1::__forced_unwind&) { this->_M_setstate(ios_base::badbit); throw; } catch(...) { 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; try { 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); } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(ios_base::badbit); throw; } catch(...) { __in._M_setstate(ios_base::badbit); } if (__err) __in.setstate(__err); } return __in; } template void __istream_extract(basic_istream<_CharT, _Traits>& __in, _CharT* __s, streamsize __num) { 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) { try { streamsize __width = __in.width(); if (0 < __width && __width < __num) __num = __width; 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 (__extracted < __num - 1 && _Traits::eq_int_type(__c, __eof)) __err |= ios_base::eofbit; *__s = char_type(); __in.width(0); } catch(__cxxabiv1::__forced_unwind&) { __in._M_setstate(ios_base::badbit); throw; } catch(...) { __in._M_setstate(ios_base::badbit); } } if (!__extracted) __err |= ios_base::failbit; if (__err) __in.setstate(__err); } 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; typename __istream_type::sentry __cerb(__in, true); if (__cerb) { ios_base::iostate __err = ios_base::goodbit; try { 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 (true) { if (_Traits::eq_int_type(__c, __eof)) { __err = ios_base::eofbit; break; } if (!__ct.is(ctype_base::space, _Traits::to_char_type(__c))) break; __c = __sb->snextc(); } } catch(const __cxxabiv1::__forced_unwind&) { __in._M_setstate(ios_base::badbit); throw; } catch(...) { __in._M_setstate(ios_base::badbit); } if (__err) __in.setstate(__err); } return __in; } extern template class basic_istream; extern template istream& ws(istream&); extern template istream& operator>>(istream&, 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 void __istream_extract(wistream&, wchar_t*, streamsize); 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; } # 1107 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/istream" 2 3 # 43 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iostream" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { # 62 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iostream" 3 extern istream cin; extern ostream cout; extern ostream cerr; extern ostream clog; extern wistream wcin; extern wostream wcout; extern wostream wcerr; extern wostream wclog; # 82 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iostream" 3 __extension__ __asm (".globl _ZSt21ios_base_library_initv"); } # 24 "example.cc" 2 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iomanip" 1 3 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iomanip" 3 #define _GLIBCXX_IOMANIP 1 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iomanip" 3 #define __glibcxx_want_quoted_string_io # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 1 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #define __glibcxx_incomplete_container_elements 201505L #undef __glibcxx_want_incomplete_container_elements # 71 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_uncaught_exceptions # 82 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_allocator_traits_is_always_equal # 93 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_null_pointer # 104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_result_of_sfinae # 120 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_arrays # 131 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_swappable # 142 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_void_t # 153 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_enable_shared_from_this # 164 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_spec_funcs # 175 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_coroutine # 186 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_exchange_function # 197 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_sequence # 208 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integral_constant_callable # 219 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_final # 230 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_reverse_iterator # 241 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_null_iterators # 252 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transformation_trait_aliases # 263 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transparent_operators # 274 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuple_element_t # 285 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuples_by_type # 296 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_robust_nonmodifying_seq_ops # 312 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_chars # 323 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono_udls # 334 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_complex_udls # 345 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_associative_lookup # 356 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_unique # 367 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_quoted_string_io # 378 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_timed_mutex # 389 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_udls # 400 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_addressof_constexpr # 411 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_any # 422 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_apply # 433 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_as_const # 444 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_is_always_lock_free # 455 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bool_constant # 466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byte # 477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_has_unique_object_representations # 488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hardware_interference_size # 499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke # 510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_aggregate # 521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_invocable # 532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_launder # 543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_logical_traits # 554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_from_tuple # 565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_not_fn # 576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_trait_variable_templates # 592 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_variant # 603 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_lcm # 614 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd # 625 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd_lcm # 636 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_raw_memory_algorithms # 652 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_array_constexpr # 663 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_nonmember_container_access # 674 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_clamp # 685 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_sample # 696 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_boyer_moore_searcher # 712 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono # 723 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_execution # 734 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_filesystem # 745 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hypot # 756 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_map_try_emplace # 767 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_special_functions # 783 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_memory_resource # 794 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_node_extract # 805 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_parallel_algorithm # 816 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_scoped_lock # 827 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_mutex # 838 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_weak_type # 849 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_view # 860 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unordered_map_try_emplace # 871 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_assume_aligned # 882 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_flag_test # 893 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_float # 904 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_lock_free_type_aliases # 915 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_ref # 926 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_value_initialization # 937 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bind_front # 948 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_starts_ends_with # 959 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bit_cast # 970 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bitops # 981 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bounded_array_traits # 992 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_concepts # 1013 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_optional # 1024 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_destroying_delete # 1035 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string_view # 1046 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_endian # 1057 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_int_pow2 # 1068 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_comparison_functions # 1079 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_constant_evaluated # 1095 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_char_traits # 1106 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_layout_compatible # 1117 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_nothrow_convertible # 1128 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_pointer_interconvertible # 1139 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_constants # 1150 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_obj_using_allocator # 1161 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_remove_cvref # 1172 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_source_location # 1188 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_span # 1199 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ssize # 1210 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_three_way_comparison # 1221 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_address # 1232 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_array # 1243 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_identity # 1254 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unwrap_ref # 1265 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_iterator # 1276 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_interpolate # 1287 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_utility # 1298 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shift # 1314 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges # 1325 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_numeric # 1336 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_functional # 1347 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_algorithms # 1358 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_tuple # 1374 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_memory # 1385 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_shared_ptr # 1401 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_wait # 1412 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_barrier # 1423 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_format # 1434 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_complex # 1445 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_dynamic_alloc # 1466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string # 1477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_vector # 1488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_erase_if # 1499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_unordered_lookup # 1510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_jthread # 1521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_latch # 1532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_list_remove_return_type # 1543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_polymorphic_allocator # 1554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_iterator_concept # 1565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_semaphore # 1576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_smart_ptr_for_overwrite # 1587 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_syncbuf # 1598 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byteswap # 1609 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_charconv # 1620 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_typeinfo # 1631 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_expected # 1642 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_algorithm # 1653 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_array # 1664 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_cstring # 1675 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_expected # 1686 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_optional # 1697 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_string_view # 1708 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_variant # 1719 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke_r # 1730 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_scoped_enum # 1741 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_reference_from_temporary # 1752 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_to_container # 1763 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_zip # 1774 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk # 1785 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_slide # 1796 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk_by # 1807 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_join_with # 1818 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_repeat # 1829 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_stride # 1840 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_cartesian_product # 1851 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_rvalue # 1862 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_const # 1873 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_enumerate # 1884 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_fold # 1895 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_contains # 1906 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_iota # 1917 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_find_last # 1928 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_bitset # 1939 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stdatomic_h # 1950 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_adaptor_iterator_pair_constructor # 1961 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_formatters # 1972 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_forward_like # 1983 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ios_noreplace # 1994 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_only_function # 2005 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_out_ptr # 2016 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_print # 2027 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_spanstream # 2038 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stacktrace # 2049 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_contains # 2060 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_resize_and_overwrite # 2071 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_underlying # 2082 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unreachable # 2093 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_fstream_native_handle # 2104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ratio # 2115 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_saturation_arithmetic # 2126 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_string # 2137 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generator #undef __glibcxx_want_all # 46 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iomanip" 2 3 # 54 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iomanip" 3 namespace std __attribute__ ((__visibility__ ("default"))) { struct _Resetiosflags { ios_base::fmtflags _M_mask; }; # 70 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; }; # 100 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; }; # 131 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; }; # 168 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/iomanip" 3 template inline _Setfill<_CharT> setfill(_CharT __c) { return { __c }; } template __attribute__((__deprecated__("'std::setfill' should only be used with " "output streams"))) 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; }; # 201 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; }; # 231 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; } # 514 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 25 "example.cc" 2 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 1 3 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 #define _GLIBCXX_FSTREAM 1 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/codecvt.h" 1 3 # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/codecvt.h" 3 #define _CODECVT_H 1 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/codecvt.h" 3 namespace std __attribute__ ((__visibility__ ("default"))) { class codecvt_base { public: enum result { ok, partial, error, noconv }; }; # 70 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; # 118 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 157 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } # 198 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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() { } # 239 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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; }; # 276 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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(); }; # 698 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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); } } protected: virtual ~codecvt_byname() { } }; # 805 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/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&); # 840 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/codecvt.h" 3 } # 43 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdio" 1 3 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdio" 3 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdio" 3 # 1 "/usr/include/stdio.h" 1 3 4 # 24 "/usr/include/stdio.h" 3 4 #define _STDIO_H 1 #define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION # 1 "/usr/include/bits/libc-header-start.h" 1 3 4 # 31 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION #undef __GLIBC_USE_LIB_EXT2 #define __GLIBC_USE_LIB_EXT2 1 # 67 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_BFP_EXT #define __GLIBC_USE_IEC_60559_BFP_EXT 1 #undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X #define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_EXT #define __GLIBC_USE_IEC_60559_EXT 1 # 90 "/usr/include/bits/libc-header-start.h" 3 4 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT #define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 #undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X #define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1 #undef __GLIBC_USE_IEC_60559_TYPES_EXT #define __GLIBC_USE_IEC_60559_TYPES_EXT 1 # 28 "/usr/include/stdio.h" 2 3 4 extern "C" { #define __need_size_t #define __need_NULL # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 1 3 4 # 237 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_size_t # 399 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef NULL #define NULL __null # 410 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_NULL # 34 "/usr/include/stdio.h" 2 3 4 #define __need___va_list # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stdarg.h" 1 3 4 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stdarg.h" 3 4 #undef __need___va_list # 37 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4 #define _____fpos_t_defined 1 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 #define _____fpos64_t_defined 1 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 # 19 "/usr/include/bits/types/struct_FILE.h" 3 4 #define __struct_FILE_defined 1 # 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)]; }; #define __getc_unlocked_body(_fp) (__glibc_unlikely ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end) ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++) #define __putc_unlocked_body(_ch,_fp) (__glibc_unlikely ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) ? __overflow (_fp, (unsigned char) (_ch)) : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch))) #define _IO_EOF_SEEN 0x0010 #define __feof_unlocked_body(_fp) (((_fp)->_flags & _IO_EOF_SEEN) != 0) #define _IO_ERR_SEEN 0x0020 #define __ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0) #define _IO_USER_LOCK 0x8000 # 44 "/usr/include/stdio.h" 2 3 4 # 1 "/usr/include/bits/types/cookie_io_functions_t.h" 1 3 4 # 19 "/usr/include/bits/types/cookie_io_functions_t.h" 3 4 #define __cookie_io_functions_t_defined 1 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; #define _VA_LIST_DEFINED # 84 "/usr/include/stdio.h" 3 4 typedef __fpos_t fpos_t; typedef __fpos64_t fpos64_t; #define _IOFBF 0 #define _IOLBF 1 #define _IONBF 2 #define BUFSIZ 8192 #define EOF (-1) #define SEEK_SET 0 #define SEEK_CUR 1 #define SEEK_END 2 #define SEEK_DATA 3 #define SEEK_HOLE 4 #define P_tmpdir "/tmp" # 133 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 19 "/usr/include/bits/stdio_lim.h" 3 4 #define _BITS_STDIO_LIM_H 1 #define L_tmpnam 20 #define TMP_MAX 238328 #define FILENAME_MAX 4096 #define L_ctermid 9 #define L_cuserid 9 #undef FOPEN_MAX #define FOPEN_MAX 16 # 134 "/usr/include/stdio.h" 2 3 4 #define _PRINTF_NAN_LEN_MAX 4 extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; #define stdin stdin #define stdout stdout #define stderr 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 (); #define RENAME_NOREPLACE (1 << 0) #define RENAME_EXCHANGE (1 << 1) #define RENAME_WHITEOUT (1 << 2) extern int renameat2 (int __oldfd, const char *__old, int __newfd, const char *__new, unsigned int __flags) throw (); extern int fclose (FILE *__stream); #undef __attr_dealloc_fclose #define __attr_dealloc_fclose __attr_dealloc (fclose, 1) extern FILE *tmpfile (void) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; # 200 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile64 (void) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern char *tmpnam (char[20]) throw () ; extern char *tmpnam_r (char __s[20]) throw () ; # 222 "/usr/include/stdio.h" 3 4 extern char *tempnam (const char *__dir, const char *__pfx) throw () __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (__builtin_free, 1))); extern int fflush (FILE *__stream); # 239 "/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 249 "/usr/include/stdio.h" 3 4 extern int fcloseall (void); # 258 "/usr/include/stdio.h" 3 4 extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) ; # 283 "/usr/include/stdio.h" 3 4 extern FILE *fopen64 (const char *__restrict __filename, const char *__restrict __modes) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *freopen64 (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) ; extern FILE *fdopen (int __fd, const char *__modes) throw () __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *fopencookie (void *__restrict __magic_cookie, const char *__restrict __modes, cookie_io_functions_t __io_funcs) throw () __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) throw () __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))) ; extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw () __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (fclose, 1))); 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))) ; extern int __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw () __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) ; extern int scanf (const char *__restrict __format, ...) ; extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) throw (); # 459 "/usr/include/stdio.h" 3 4 extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))) ; extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))) ; extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) throw () __attribute__ ((__format__ (__scanf__, 2, 0))); # 513 "/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 538 "/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); # 549 "/usr/include/stdio.h" 3 4 extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 565 "/usr/include/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__access__ (__write_only__, 1, 2))); # 605 "/usr/include/stdio.h" 3 4 extern char *gets (char *__s) __attribute__ ((__deprecated__)); # 615 "/usr/include/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) __attribute__ ((__access__ (__write_only__, 1, 2))); # 632 "/usr/include/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) ; extern int fputs (const char *__restrict __s, FILE *__restrict __stream); extern int puts (const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 691 "/usr/include/stdio.h" 3 4 extern int fputs_unlocked (const char *__restrict __s, FILE *__restrict __stream); # 702 "/usr/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream); # 736 "/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) ; # 760 "/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, const fpos_t *__pos); # 779 "/usr/include/stdio.h" 3 4 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); extern __off64_t ftello64 (FILE *__stream) ; 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 () ; extern int ferror (FILE *__stream) throw () ; extern void clearerr_unlocked (FILE *__stream) throw (); extern int feof_unlocked (FILE *__stream) throw () ; extern int ferror_unlocked (FILE *__stream) throw () ; extern void perror (const char *__s); extern int fileno (FILE *__stream) throw () ; extern int fileno_unlocked (FILE *__stream) throw () ; # 823 "/usr/include/stdio.h" 3 4 extern int pclose (FILE *__stream); extern FILE *popen (const char *__command, const char *__modes) __attribute__ ((__malloc__)) __attribute__ ((__malloc__ (pclose, 1))) ; extern char *ctermid (char *__s) throw () __attribute__ ((__access__ (__write_only__, 1))); extern char *cuserid (char *__s) __attribute__ ((__access__ (__write_only__, 1))); 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 () ; extern void funlockfile (FILE *__stream) throw (); # 885 "/usr/include/stdio.h" 3 4 extern int __uflow (FILE *); extern int __overflow (FILE *, int); # 1 "/usr/include/bits/stdio.h" 1 3 4 # 20 "/usr/include/bits/stdio.h" 3 4 #define _BITS_STDIO_H 1 # 29 "/usr/include/bits/stdio.h" 3 4 #define __STDIO_INLINE __extern_inline # 38 "/usr/include/bits/stdio.h" 3 4 extern __inline __attribute__ ((__gnu_inline__)) int vprintf (const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } 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); } # 193 "/usr/include/bits/stdio.h" 3 4 #undef __STDIO_INLINE # 892 "/usr/include/stdio.h" 2 3 4 # 902 "/usr/include/stdio.h" 3 4 } # 43 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdio" 2 3 #define _GLIBCXX_CSTDIO 1 #undef clearerr #undef fclose #undef feof #undef ferror #undef fflush #undef fgetc #undef fgetpos #undef fgets #undef fopen #undef fprintf #undef fputc #undef fputs #undef fread #undef freopen #undef fscanf #undef fseek #undef fsetpos #undef ftell #undef fwrite #undef getc #undef getchar #undef gets #undef perror #undef printf #undef putc #undef putchar #undef puts #undef remove #undef rename #undef rewind #undef scanf #undef setbuf #undef setvbuf #undef sprintf #undef sscanf #undef tmpfile #undef tmpnam #undef ungetc #undef vfprintf #undef vprintf #undef vsprintf namespace std { using ::FILE; using ::fpos_t; using ::clearerr; using ::fclose; using ::feof; using ::ferror; using ::fflush; using ::fgetc; using ::fgetpos; using ::fgets; using ::fopen; using ::fprintf; using ::fputc; using ::fputs; using ::fread; using ::freopen; using ::fscanf; using ::fseek; using ::fsetpos; using ::ftell; using ::fwrite; using ::getc; using ::getchar; using ::gets; using ::perror; using ::printf; using ::putc; using ::putchar; using ::puts; using ::remove; using ::rename; using ::rewind; using ::scanf; using ::setbuf; using ::setvbuf; using ::sprintf; using ::sscanf; using ::tmpfile; using ::tmpnam; using ::ungetc; using ::vfprintf; using ::vprintf; using ::vsprintf; } #undef snprintf #undef vfscanf #undef vscanf #undef vsnprintf #undef vsscanf namespace __gnu_cxx { # 175 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdio" 3 using ::snprintf; using ::vfscanf; using ::vscanf; using ::vsnprintf; using ::vsscanf; } namespace std { using ::__gnu_cxx::snprintf; using ::__gnu_cxx::vfscanf; using ::__gnu_cxx::vscanf; using ::__gnu_cxx::vsnprintf; using ::__gnu_cxx::vsscanf; } # 44 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 2 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/basic_file.h" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/basic_file.h" 3 #define _GLIBCXX_BASIC_FILE_STDIO_H 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/basic_file.h" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++io.h" 1 3 # 33 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++io.h" 3 #define _GLIBCXX_CXX_IO_H 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdio" 1 3 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdio" 3 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdio" 3 # 36 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/c++io.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { typedef __gthread_mutex_t __c_lock; typedef FILE __c_file; } # 41 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/basic_file.h" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template class __basic_file; template<> class __basic_file { __c_file* _M_cfile; bool _M_cfile_created; public: __basic_file(__c_lock* __lock = 0) throw (); # 84 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/basic_file.h" 3 __basic_file* open(const char* __name, ios_base::openmode __mode, int __prot = 0664); __basic_file* sys_open(__c_file* __file, ios_base::openmode); __basic_file* sys_open(int __fd, ios_base::openmode __mode) throw (); __basic_file* close(); __attribute__ ((__pure__)) bool is_open() const throw (); __attribute__ ((__pure__)) int fd() throw (); __attribute__ ((__pure__)) __c_file* file() throw (); ~__basic_file(); streamsize xsputn(const char* __s, streamsize __n); streamsize xsputn_2(const char* __s1, streamsize __n1, const char* __s2, streamsize __n2); streamsize xsgetn(char* __s, streamsize __n); streamoff seekoff(streamoff __off, ios_base::seekdir __way) throw (); int sync(); streamsize showmanyc(); # 143 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/loongarch64-linux-gnu/bits/basic_file.h" 3 }; } # 45 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 2 3 #define __glibcxx_want_fstream_native_handle # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 1 3 # 47 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 # 48 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #define __glibcxx_incomplete_container_elements 201505L #undef __glibcxx_want_incomplete_container_elements # 71 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_uncaught_exceptions # 82 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_allocator_traits_is_always_equal # 93 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_null_pointer # 104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_result_of_sfinae # 120 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_arrays # 131 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_swappable # 142 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_void_t # 153 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_enable_shared_from_this # 164 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_spec_funcs # 175 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_coroutine # 186 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_exchange_function # 197 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_sequence # 208 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integral_constant_callable # 219 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_final # 230 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_reverse_iterator # 241 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_null_iterators # 252 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transformation_trait_aliases # 263 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_transparent_operators # 274 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuple_element_t # 285 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_tuples_by_type # 296 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_robust_nonmodifying_seq_ops # 312 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_chars # 323 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono_udls # 334 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_complex_udls # 345 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_associative_lookup # 356 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_unique # 367 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_quoted_string_io # 378 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_timed_mutex # 389 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_udls # 400 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_addressof_constexpr # 411 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_any # 422 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_apply # 433 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_as_const # 444 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_is_always_lock_free # 455 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bool_constant # 466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byte # 477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_has_unique_object_representations # 488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hardware_interference_size # 499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke # 510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_aggregate # 521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_invocable # 532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_launder # 543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_logical_traits # 554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_from_tuple # 565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_not_fn # 576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_trait_variable_templates # 592 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_variant # 603 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_lcm # 614 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd # 625 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_gcd_lcm # 636 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_raw_memory_algorithms # 652 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_array_constexpr # 663 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_nonmember_container_access # 674 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_clamp # 685 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_sample # 696 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_boyer_moore_searcher # 712 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_chrono # 723 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_execution # 734 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_filesystem # 745 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_hypot # 756 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_map_try_emplace # 767 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_special_functions # 783 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_memory_resource # 794 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_node_extract # 805 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_parallel_algorithm # 816 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_scoped_lock # 827 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_mutex # 838 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shared_ptr_weak_type # 849 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_view # 860 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unordered_map_try_emplace # 871 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_assume_aligned # 882 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_flag_test # 893 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_float # 904 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_lock_free_type_aliases # 915 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_ref # 926 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_value_initialization # 937 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bind_front # 948 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_starts_ends_with # 959 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bit_cast # 970 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bitops # 981 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_bounded_array_traits # 992 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_concepts # 1013 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_optional # 1024 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_destroying_delete # 1035 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string_view # 1046 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_endian # 1057 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_int_pow2 # 1068 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_integer_comparison_functions # 1079 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_constant_evaluated # 1095 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_char_traits # 1106 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_layout_compatible # 1117 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_nothrow_convertible # 1128 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_pointer_interconvertible # 1139 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_math_constants # 1150 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_make_obj_using_allocator # 1161 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_remove_cvref # 1172 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_source_location # 1188 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_span # 1199 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ssize # 1210 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_three_way_comparison # 1221 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_address # 1232 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_array # 1243 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_type_identity # 1254 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unwrap_ref # 1265 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_iterator # 1276 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_interpolate # 1287 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_utility # 1298 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_shift # 1314 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges # 1325 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_numeric # 1336 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_functional # 1347 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_algorithms # 1358 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_tuple # 1374 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_memory # 1385 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_shared_ptr # 1401 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_atomic_wait # 1412 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_barrier # 1423 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_format # 1434 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_complex # 1445 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_dynamic_alloc # 1466 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_string # 1477 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_vector # 1488 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_erase_if # 1499 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generic_unordered_lookup # 1510 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_jthread # 1521 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_latch # 1532 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_list_remove_return_type # 1543 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_polymorphic_allocator # 1554 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_iterator_concept # 1565 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_semaphore # 1576 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_smart_ptr_for_overwrite # 1587 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_syncbuf # 1598 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_byteswap # 1609 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_charconv # 1620 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_typeinfo # 1631 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_expected # 1642 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_algorithm # 1653 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_array # 1664 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_cstring # 1675 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_expected # 1686 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_optional # 1697 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_string_view # 1708 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_freestanding_variant # 1719 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_invoke_r # 1730 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_is_scoped_enum # 1741 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_reference_from_temporary # 1752 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_to_container # 1763 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_zip # 1774 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk # 1785 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_slide # 1796 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_chunk_by # 1807 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_join_with # 1818 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_repeat # 1829 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_stride # 1840 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_cartesian_product # 1851 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_rvalue # 1862 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_as_const # 1873 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_enumerate # 1884 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_fold # 1895 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_contains # 1906 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_iota # 1917 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ranges_find_last # 1928 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_constexpr_bitset # 1939 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stdatomic_h # 1950 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_adaptor_iterator_pair_constructor # 1961 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_formatters # 1972 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_forward_like # 1983 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ios_noreplace # 1994 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_move_only_function # 2005 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_out_ptr # 2016 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_print # 2027 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_spanstream # 2038 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_stacktrace # 2049 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_contains # 2060 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_string_resize_and_overwrite # 2071 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_underlying # 2082 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_unreachable # 2093 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_fstream_native_handle # 2104 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_ratio # 2115 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_saturation_arithmetic # 2126 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_to_string # 2137 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/version.h" 3 #undef __glibcxx_want_generator #undef __glibcxx_want_all # 51 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 2 3 #define _GLIBCXX_BUFSIZ BUFSIZ namespace std __attribute__ ((__visibility__ ("default"))) { # 89 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 template class basic_filebuf : public basic_streambuf<_CharT, _Traits> { # 106 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 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; typedef basic_filebuf __filebuf_type; typedef __basic_file __file_type; typedef typename traits_type::state_type __state_type; typedef codecvt __codecvt_type; friend class ios_base; protected: __c_lock _M_lock; __file_type _M_file; ios_base::openmode _M_mode; __state_type _M_state_beg; __state_type _M_state_cur; __state_type _M_state_last; char_type* _M_buf; size_t _M_buf_size; bool _M_buf_allocated; # 165 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 bool _M_reading; bool _M_writing; char_type _M_pback; char_type* _M_pback_cur_save; char_type* _M_pback_end_save; bool _M_pback_init; const __codecvt_type* _M_codecvt; char* _M_ext_buf; streamsize _M_ext_buf_size; const char* _M_ext_next; char* _M_ext_end; void _M_create_pback() { if (!_M_pback_init) { _M_pback_cur_save = this->gptr(); _M_pback_end_save = this->egptr(); this->setg(&_M_pback, &_M_pback, &_M_pback + 1); _M_pback_init = true; } } void _M_destroy_pback() throw() { if (_M_pback_init) { _M_pback_cur_save += this->gptr() != this->eback(); this->setg(_M_buf, _M_pback_cur_save, _M_pback_end_save); _M_pback_init = false; } } public: basic_filebuf(); # 255 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 virtual ~basic_filebuf() { try { this->close(); } catch(...) { } } # 274 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 bool is_open() const throw() { return _M_file.is_open(); } # 319 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 __filebuf_type* open(const char* __s, ios_base::openmode __mode); # 370 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 __filebuf_type* close(); # 403 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 protected: void _M_allocate_internal_buffer(); void _M_destroy_internal_buffer() throw(); virtual streamsize showmanyc(); virtual int_type underflow(); virtual int_type pbackfail(int_type __c = _Traits::eof()); # 432 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 virtual int_type overflow(int_type __c = _Traits::eof()); bool _M_convert_to_external(char_type*, streamsize); # 452 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 virtual __streambuf_type* setbuf(char_type* __s, streamsize __n); 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 __pos, ios_base::openmode __mode = ios_base::in | ios_base::out); pos_type _M_seek(off_type __off, ios_base::seekdir __way, __state_type __state); int _M_get_ext_pos(__state_type &__state); virtual int sync(); virtual void imbue(const locale& __loc); virtual streamsize xsgetn(char_type* __s, streamsize __n); virtual streamsize xsputn(const char_type* __s, streamsize __n); bool _M_terminate_output(); # 498 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 void _M_set_buffer(streamsize __off) { const bool __testin = _M_mode & ios_base::in; const bool __testout = (_M_mode & ios_base::out || _M_mode & ios_base::app); if (__testin && __off > 0) this->setg(_M_buf, _M_buf, _M_buf + __off); else this->setg(_M_buf, _M_buf, _M_buf); if (__testout && __off == 0 && _M_buf_size > 1 ) this->setp(_M_buf, _M_buf + _M_buf_size - 1); else this->setp(0, 0); } }; # 531 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 template class basic_ifstream : public basic_istream<_CharT, _Traits> { 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_filebuf __filebuf_type; typedef basic_istream __istream_type; private: __filebuf_type _M_filebuf; public: # 558 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 basic_ifstream() : __istream_type(), _M_filebuf() { this->init(&_M_filebuf); } # 568 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 explicit basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in) : __istream_type(), _M_filebuf() { this->init(&_M_filebuf); this->open(__s, __mode); } # 639 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 ~basic_ifstream() { } # 671 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 __filebuf_type* rdbuf() const { return const_cast<__filebuf_type*>(&_M_filebuf); } bool is_open() { return _M_filebuf.is_open(); } bool is_open() const { return _M_filebuf.is_open(); } # 697 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 void open(const char* __s, ios_base::openmode __mode = ios_base::in) { if (!_M_filebuf.open(__s, __mode | ios_base::in)) this->setstate(ios_base::failbit); else this->clear(); } # 769 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 void close() { if (!_M_filebuf.close()) this->setstate(ios_base::failbit); } # 784 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 }; # 801 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 template class basic_ofstream : public basic_ostream<_CharT,_Traits> { 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_filebuf __filebuf_type; typedef basic_ostream __ostream_type; private: __filebuf_type _M_filebuf; public: # 828 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 basic_ofstream(): __ostream_type(), _M_filebuf() { this->init(&_M_filebuf); } # 838 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 explicit basic_ofstream(const char* __s, ios_base::openmode __mode = ios_base::out) : __ostream_type(), _M_filebuf() { this->init(&_M_filebuf); this->open(__s, __mode); } # 911 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 ~basic_ofstream() { } # 943 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 __filebuf_type* rdbuf() const { return const_cast<__filebuf_type*>(&_M_filebuf); } bool is_open() { return _M_filebuf.is_open(); } bool is_open() const { return _M_filebuf.is_open(); } # 969 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 void open(const char* __s, ios_base::openmode __mode = ios_base::out) { if (!_M_filebuf.open(__s, __mode | ios_base::out)) this->setstate(ios_base::failbit); else this->clear(); } # 1041 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 void close() { if (!_M_filebuf.close()) this->setstate(ios_base::failbit); } # 1056 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 }; # 1073 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 template class basic_fstream : public basic_iostream<_CharT, _Traits> { 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_filebuf __filebuf_type; typedef basic_ios __ios_type; typedef basic_iostream __iostream_type; private: __filebuf_type _M_filebuf; public: # 1101 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 basic_fstream() : __iostream_type(), _M_filebuf() { this->init(&_M_filebuf); } explicit basic_fstream(const char* __s, ios_base::openmode __mode = ios_base::in | ios_base::out) : __iostream_type(0), _M_filebuf() { this->init(&_M_filebuf); this->open(__s, __mode); } # 1176 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 ~basic_fstream() { } # 1208 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 __filebuf_type* rdbuf() const { return const_cast<__filebuf_type*>(&_M_filebuf); } bool is_open() { return _M_filebuf.is_open(); } bool is_open() const { return _M_filebuf.is_open(); } # 1234 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 void open(const char* __s, ios_base::openmode __mode = ios_base::in | ios_base::out) { if (!_M_filebuf.open(__s, __mode)) this->setstate(ios_base::failbit); else this->clear(); } # 1310 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 void close() { if (!_M_filebuf.close()) this->setstate(ios_base::failbit); } # 1325 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 }; # 1357 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 3 } # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/fstream.tcc" 1 3 # 35 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/fstream.tcc" 3 #define _FSTREAM_TCC 1 # 38 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/fstream.tcc" 3 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cerrno" 1 3 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cerrno" 3 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cerrno" 3 # 1 "/usr/include/errno.h" 1 3 4 # 23 "/usr/include/errno.h" 3 4 #define _ERRNO_H 1 # 1 "/usr/include/bits/errno.h" 1 3 4 # 20 "/usr/include/bits/errno.h" 3 4 #define _BITS_ERRNO_H 1 # 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 #define _ASM_GENERIC_ERRNO_H # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 #define _ASM_GENERIC_ERRNO_BASE_H #define EPERM 1 #define ENOENT 2 #define ESRCH 3 #define EINTR 4 #define EIO 5 #define ENXIO 6 #define E2BIG 7 #define ENOEXEC 8 #define EBADF 9 #define ECHILD 10 #define EAGAIN 11 #define ENOMEM 12 #define EACCES 13 #define EFAULT 14 #define ENOTBLK 15 #define EBUSY 16 #define EEXIST 17 #define EXDEV 18 #define ENODEV 19 #define ENOTDIR 20 #define EISDIR 21 #define EINVAL 22 #define ENFILE 23 #define EMFILE 24 #define ENOTTY 25 #define ETXTBSY 26 #define EFBIG 27 #define ENOSPC 28 #define ESPIPE 29 #define EROFS 30 #define EMLINK 31 #define EPIPE 32 #define EDOM 33 #define ERANGE 34 # 6 "/usr/include/asm-generic/errno.h" 2 3 4 #define EDEADLK 35 #define ENAMETOOLONG 36 #define ENOLCK 37 # 18 "/usr/include/asm-generic/errno.h" 3 4 #define ENOSYS 38 #define ENOTEMPTY 39 #define ELOOP 40 #define EWOULDBLOCK EAGAIN #define ENOMSG 42 #define EIDRM 43 #define ECHRNG 44 #define EL2NSYNC 45 #define EL3HLT 46 #define EL3RST 47 #define ELNRNG 48 #define EUNATCH 49 #define ENOCSI 50 #define EL2HLT 51 #define EBADE 52 #define EBADR 53 #define EXFULL 54 #define ENOANO 55 #define EBADRQC 56 #define EBADSLT 57 #define EDEADLOCK EDEADLK #define EBFONT 59 #define ENOSTR 60 #define ENODATA 61 #define ETIME 62 #define ENOSR 63 #define ENONET 64 #define ENOPKG 65 #define EREMOTE 66 #define ENOLINK 67 #define EADV 68 #define ESRMNT 69 #define ECOMM 70 #define EPROTO 71 #define EMULTIHOP 72 #define EDOTDOT 73 #define EBADMSG 74 #define EOVERFLOW 75 #define ENOTUNIQ 76 #define EBADFD 77 #define EREMCHG 78 #define ELIBACC 79 #define ELIBBAD 80 #define ELIBSCN 81 #define ELIBMAX 82 #define ELIBEXEC 83 #define EILSEQ 84 #define ERESTART 85 #define ESTRPIPE 86 #define EUSERS 87 #define ENOTSOCK 88 #define EDESTADDRREQ 89 #define EMSGSIZE 90 #define EPROTOTYPE 91 #define ENOPROTOOPT 92 #define EPROTONOSUPPORT 93 #define ESOCKTNOSUPPORT 94 #define EOPNOTSUPP 95 #define EPFNOSUPPORT 96 #define EAFNOSUPPORT 97 #define EADDRINUSE 98 #define EADDRNOTAVAIL 99 #define ENETDOWN 100 #define ENETUNREACH 101 #define ENETRESET 102 #define ECONNABORTED 103 #define ECONNRESET 104 #define ENOBUFS 105 #define EISCONN 106 #define ENOTCONN 107 #define ESHUTDOWN 108 #define ETOOMANYREFS 109 #define ETIMEDOUT 110 #define ECONNREFUSED 111 #define EHOSTDOWN 112 #define EHOSTUNREACH 113 #define EALREADY 114 #define EINPROGRESS 115 #define ESTALE 116 #define EUCLEAN 117 #define ENOTNAM 118 #define ENAVAIL 119 #define EISNAM 120 #define EREMOTEIO 121 #define EDQUOT 122 #define ENOMEDIUM 123 #define EMEDIUMTYPE 124 #define ECANCELED 125 #define ENOKEY 126 #define EKEYEXPIRED 127 #define EKEYREVOKED 128 #define EKEYREJECTED 129 #define EOWNERDEAD 130 #define ENOTRECOVERABLE 131 #define ERFKILL 132 #define EHWPOISON 133 # 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 #define ENOTSUP EOPNOTSUPP # 29 "/usr/include/errno.h" 2 3 4 extern "C" { extern int *__errno_location (void) throw () __attribute__ ((__const__)); #define errno (*__errno_location ()) extern char *program_invocation_name; extern char *program_invocation_short_name; # 1 "/usr/include/bits/types/error_t.h" 1 3 4 # 20 "/usr/include/bits/types/error_t.h" 3 4 #define __error_t_defined 1 typedef int error_t; # 49 "/usr/include/errno.h" 2 3 4 } # 43 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cerrno" 2 3 #define _GLIBCXX_CERRNO 1 # 42 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/fstream.tcc" 2 3 namespace std __attribute__ ((__visibility__ ("default"))) { template void basic_filebuf<_CharT, _Traits>:: _M_allocate_internal_buffer() { if (!_M_buf_allocated && !_M_buf) { _M_buf = new char_type[_M_buf_size]; _M_buf_allocated = true; } } template void basic_filebuf<_CharT, _Traits>:: _M_destroy_internal_buffer() throw() { if (_M_buf_allocated) { delete [] _M_buf; _M_buf = 0; _M_buf_allocated = false; } delete [] _M_ext_buf; _M_ext_buf = 0; _M_ext_buf_size = 0; _M_ext_next = 0; _M_ext_end = 0; } template basic_filebuf<_CharT, _Traits>:: basic_filebuf() : __streambuf_type(), _M_lock(), _M_file(&_M_lock), _M_mode(ios_base::openmode(0)), _M_state_beg(), _M_state_cur(), _M_state_last(), _M_buf(0), _M_buf_size(8192), _M_buf_allocated(false), _M_reading(false), _M_writing(false), _M_pback(), _M_pback_cur_save(0), _M_pback_end_save(0), _M_pback_init(false), _M_codecvt(0), _M_ext_buf(0), _M_ext_buf_size(0), _M_ext_next(0), _M_ext_end(0) { _M_codecvt = std::__try_use_facet<__codecvt_type>(this->_M_buf_locale); } # 176 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/fstream.tcc" 3 template typename basic_filebuf<_CharT, _Traits>::__filebuf_type* basic_filebuf<_CharT, _Traits>:: open(const char* __s, ios_base::openmode __mode) { __filebuf_type *__ret = 0; if (!this->is_open()) { _M_file.open(__s, __mode); if (this->is_open()) { _M_allocate_internal_buffer(); _M_mode = __mode; _M_reading = false; _M_writing = false; _M_set_buffer(-1); _M_state_last = _M_state_cur = _M_state_beg; if ((__mode & ios_base::ate) && this->seekoff(0, ios_base::end, __mode) == pos_type(off_type(-1))) this->close(); else __ret = this; } } return __ret; } # 246 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/fstream.tcc" 3 template typename basic_filebuf<_CharT, _Traits>::__filebuf_type* basic_filebuf<_CharT, _Traits>:: close() { if (!this->is_open()) return 0; bool __testfail = false; { struct __close_sentry { basic_filebuf *__fb; __close_sentry (basic_filebuf *__fbi): __fb(__fbi) { } ~__close_sentry () { __fb->_M_mode = ios_base::openmode(0); __fb->_M_pback_init = false; __fb->_M_destroy_internal_buffer(); __fb->_M_reading = false; __fb->_M_writing = false; __fb->_M_set_buffer(-1); __fb->_M_state_last = __fb->_M_state_cur = __fb->_M_state_beg; } } __cs (this); try { if (!_M_terminate_output()) __testfail = true; } catch(...) { _M_file.close(); throw; } } if (!_M_file.close()) __testfail = true; if (__testfail) return 0; else return this; } template streamsize basic_filebuf<_CharT, _Traits>:: showmanyc() { streamsize __ret = -1; const bool __testin = _M_mode & ios_base::in; if (__testin && this->is_open()) { __ret = this->egptr() - this->gptr(); if (__check_facet(_M_codecvt).encoding() >= 0) __ret += _M_file.showmanyc() / _M_codecvt->max_length(); } return __ret; } template typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>:: underflow() { int_type __ret = traits_type::eof(); const bool __testin = _M_mode & ios_base::in; if (__testin) { if (_M_writing) { if (overflow() == traits_type::eof()) return __ret; _M_set_buffer(-1); _M_writing = false; } _M_destroy_pback(); if (this->gptr() < this->egptr()) return traits_type::to_int_type(*this->gptr()); const size_t __buflen = _M_buf_size > 1 ? _M_buf_size - 1 : 1; bool __got_eof = false; streamsize __ilen = 0; codecvt_base::result __r = codecvt_base::ok; if (__check_facet(_M_codecvt).always_noconv()) { __ilen = _M_file.xsgetn(reinterpret_cast(this->eback()), __buflen); if (__ilen == 0) __got_eof = true; } else { const int __enc = _M_codecvt->encoding(); streamsize __blen; streamsize __rlen; if (__enc > 0) __blen = __rlen = __buflen * __enc; else { __blen = __buflen + _M_codecvt->max_length() - 1; __rlen = __buflen; } const streamsize __remainder = _M_ext_end - _M_ext_next; __rlen = __rlen > __remainder ? __rlen - __remainder : 0; if (_M_reading && this->egptr() == this->eback() && __remainder) __rlen = 0; if (_M_ext_buf_size < __blen) { char* __buf = new char[__blen]; if (__remainder) __builtin_memcpy(__buf, _M_ext_next, __remainder); delete [] _M_ext_buf; _M_ext_buf = __buf; _M_ext_buf_size = __blen; } else if (__remainder) __builtin_memmove(_M_ext_buf, _M_ext_next, __remainder); _M_ext_next = _M_ext_buf; _M_ext_end = _M_ext_buf + __remainder; _M_state_last = _M_state_cur; do { if (__rlen > 0) { if (_M_ext_end - _M_ext_buf + __rlen > _M_ext_buf_size) { __throw_ios_failure(("basic_filebuf::underflow " "codecvt::max_length() " "is not valid") ); } streamsize __elen = _M_file.xsgetn(_M_ext_end, __rlen); if (__elen == 0) __got_eof = true; else if (__elen == -1) break; _M_ext_end += __elen; } char_type* __iend = this->eback(); if (_M_ext_next < _M_ext_end) __r = _M_codecvt->in(_M_state_cur, _M_ext_next, _M_ext_end, _M_ext_next, this->eback(), this->eback() + __buflen, __iend); if (__r == codecvt_base::noconv) { size_t __avail = _M_ext_end - _M_ext_buf; __ilen = std::min(__avail, __buflen); traits_type::copy(this->eback(), reinterpret_cast (_M_ext_buf), __ilen); _M_ext_next = _M_ext_buf + __ilen; } else __ilen = __iend - this->eback(); if (__r == codecvt_base::error) break; __rlen = 1; } while (__ilen == 0 && !__got_eof); } if (__ilen > 0) { _M_set_buffer(__ilen); _M_reading = true; __ret = traits_type::to_int_type(*this->gptr()); } else if (__got_eof) { _M_set_buffer(-1); _M_reading = false; if (__r == codecvt_base::partial) __throw_ios_failure(("basic_filebuf::underflow " "incomplete character in file") ); } else if (__r == codecvt_base::error) __throw_ios_failure(("basic_filebuf::underflow " "invalid byte sequence in file") ); else __throw_ios_failure(("basic_filebuf::underflow " "error reading the file") , (*__errno_location ())); } return __ret; } template typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>:: pbackfail(int_type __i) { int_type __ret = traits_type::eof(); const bool __testin = _M_mode & ios_base::in; if (__testin) { if (_M_writing) { if (overflow() == traits_type::eof()) return __ret; _M_set_buffer(-1); _M_writing = false; } const bool __testpb = _M_pback_init; const bool __testeof = traits_type::eq_int_type(__i, __ret); int_type __tmp; if (this->eback() < this->gptr()) { this->gbump(-1); __tmp = traits_type::to_int_type(*this->gptr()); } else if (this->seekoff(-1, ios_base::cur) != pos_type(off_type(-1))) { __tmp = this->underflow(); if (traits_type::eq_int_type(__tmp, __ret)) return __ret; } else { return __ret; } if (!__testeof && traits_type::eq_int_type(__i, __tmp)) __ret = __i; else if (__testeof) __ret = traits_type::not_eof(__i); else if (!__testpb) { _M_create_pback(); _M_reading = true; *this->gptr() = traits_type::to_char_type(__i); __ret = __i; } } return __ret; } template typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>:: overflow(int_type __c) { int_type __ret = traits_type::eof(); const bool __testeof = traits_type::eq_int_type(__c, __ret); const bool __testout = (_M_mode & ios_base::out || _M_mode & ios_base::app); if (__testout) { if (_M_reading) { _M_destroy_pback(); const int __gptr_off = _M_get_ext_pos(_M_state_last); if (_M_seek(__gptr_off, ios_base::cur, _M_state_last) == pos_type(off_type(-1))) return __ret; } if (this->pbase() < this->pptr()) { if (!__testeof) { *this->pptr() = traits_type::to_char_type(__c); this->pbump(1); } if (_M_convert_to_external(this->pbase(), this->pptr() - this->pbase())) { _M_set_buffer(0); __ret = traits_type::not_eof(__c); } } else if (_M_buf_size > 1) { _M_set_buffer(0); _M_writing = true; if (!__testeof) { *this->pptr() = traits_type::to_char_type(__c); this->pbump(1); } __ret = traits_type::not_eof(__c); } else { char_type __conv = traits_type::to_char_type(__c); if (__testeof || _M_convert_to_external(&__conv, 1)) { _M_writing = true; __ret = traits_type::not_eof(__c); } } } return __ret; } template bool basic_filebuf<_CharT, _Traits>:: _M_convert_to_external(_CharT* __ibuf, streamsize __ilen) { streamsize __elen; streamsize __plen; if (__check_facet(_M_codecvt).always_noconv()) { __elen = _M_file.xsputn(reinterpret_cast(__ibuf), __ilen); __plen = __ilen; } else { streamsize __blen = __ilen * _M_codecvt->max_length(); char* __buf = static_cast(__builtin_alloca(__blen)); char* __bend; const char_type* __iend; codecvt_base::result __r; __r = _M_codecvt->out(_M_state_cur, __ibuf, __ibuf + __ilen, __iend, __buf, __buf + __blen, __bend); if (__r == codecvt_base::ok || __r == codecvt_base::partial) __blen = __bend - __buf; else if (__r == codecvt_base::noconv) { __buf = reinterpret_cast(__ibuf); __blen = __ilen; } else __throw_ios_failure(("basic_filebuf::_M_convert_to_external " "conversion error") ); __elen = _M_file.xsputn(__buf, __blen); __plen = __blen; if (__r == codecvt_base::partial && __elen == __plen) { const char_type* __iresume = __iend; streamsize __rlen = this->pptr() - __iend; __r = _M_codecvt->out(_M_state_cur, __iresume, __iresume + __rlen, __iend, __buf, __buf + __blen, __bend); if (__r != codecvt_base::error) { __rlen = __bend - __buf; __elen = _M_file.xsputn(__buf, __rlen); __plen = __rlen; } else __throw_ios_failure(("basic_filebuf::_M_convert_to_external " "conversion error") ); } } return __elen == __plen; } template streamsize basic_filebuf<_CharT, _Traits>:: xsgetn(_CharT* __s, streamsize __n) { streamsize __ret = 0; if (_M_pback_init) { if (__n > 0 && this->gptr() == this->eback()) { *__s++ = *this->gptr(); this->gbump(1); __ret = 1; --__n; } _M_destroy_pback(); } else if (_M_writing) { if (overflow() == traits_type::eof()) return __ret; _M_set_buffer(-1); _M_writing = false; } const bool __testin = _M_mode & ios_base::in; const streamsize __buflen = _M_buf_size > 1 ? _M_buf_size - 1 : 1; if (__n > __buflen && __check_facet(_M_codecvt).always_noconv() && __testin) { const streamsize __avail = this->egptr() - this->gptr(); if (__avail != 0) { traits_type::copy(__s, this->gptr(), __avail); __s += __avail; this->setg(this->eback(), this->gptr() + __avail, this->egptr()); __ret += __avail; __n -= __avail; } streamsize __len; for (;;) { __len = _M_file.xsgetn(reinterpret_cast(__s), __n); if (__len == -1) __throw_ios_failure(("basic_filebuf::xsgetn " "error reading the file") , (*__errno_location ())); if (__len == 0) break; __n -= __len; __ret += __len; if (__n == 0) break; __s += __len; } if (__n == 0) { _M_reading = true; } else if (__len == 0) { _M_set_buffer(-1); _M_reading = false; } } else __ret += __streambuf_type::xsgetn(__s, __n); return __ret; } template streamsize basic_filebuf<_CharT, _Traits>:: xsputn(const _CharT* __s, streamsize __n) { streamsize __ret = 0; const bool __testout = (_M_mode & ios_base::out || _M_mode & ios_base::app); if (__check_facet(_M_codecvt).always_noconv() && __testout && !_M_reading) { streamsize __bufavail = this->epptr() - this->pptr(); if (!_M_writing && _M_buf_size > 1) __bufavail = _M_buf_size - 1; if (__n >= __bufavail) { const streamsize __buffill = this->pptr() - this->pbase(); const char* __buf = reinterpret_cast(this->pbase()); __ret = _M_file.xsputn_2(__buf, __buffill, reinterpret_cast(__s), __n); if (__ret == __buffill + __n) { _M_set_buffer(0); _M_writing = true; } if (__ret > __buffill) __ret -= __buffill; else __ret = 0; } else __ret = __streambuf_type::xsputn(__s, __n); } else __ret = __streambuf_type::xsputn(__s, __n); return __ret; } template typename basic_filebuf<_CharT, _Traits>::__streambuf_type* basic_filebuf<_CharT, _Traits>:: setbuf(char_type* __s, streamsize __n) { if (!this->is_open()) { if (__s == 0 && __n == 0) _M_buf_size = 1; else if (__s && __n > 0) { # 816 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/bits/fstream.tcc" 3 _M_buf = __s; _M_buf_size = __n; } } return this; } template typename basic_filebuf<_CharT, _Traits>::pos_type basic_filebuf<_CharT, _Traits>:: seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode) { int __width = 0; if (_M_codecvt) __width = _M_codecvt->encoding(); if (__width < 0) __width = 0; pos_type __ret = pos_type(off_type(-1)); const bool __testfail = __off != 0 && __width <= 0; if (this->is_open() && !__testfail) { bool __no_movement = __way == ios_base::cur && __off == 0 && (!_M_writing || _M_codecvt->always_noconv()); if (!__no_movement) _M_destroy_pback(); __state_type __state = _M_state_beg; off_type __computed_off = __off * __width; if (_M_reading && __way == ios_base::cur) { __state = _M_state_last; __computed_off += _M_get_ext_pos(__state); } if (!__no_movement) __ret = _M_seek(__computed_off, __way, __state); else { if (_M_writing) __computed_off = this->pptr() - this->pbase(); off_type __file_off = _M_file.seekoff(0, ios_base::cur); if (__file_off != off_type(-1)) { __ret = __file_off + __computed_off; __ret.state(__state); } } } return __ret; } template typename basic_filebuf<_CharT, _Traits>::pos_type basic_filebuf<_CharT, _Traits>:: seekpos(pos_type __pos, ios_base::openmode) { pos_type __ret = pos_type(off_type(-1)); if (this->is_open()) { _M_destroy_pback(); __ret = _M_seek(off_type(__pos), ios_base::beg, __pos.state()); } return __ret; } template typename basic_filebuf<_CharT, _Traits>::pos_type basic_filebuf<_CharT, _Traits>:: _M_seek(off_type __off, ios_base::seekdir __way, __state_type __state) { pos_type __ret = pos_type(off_type(-1)); if (_M_terminate_output()) { off_type __file_off = _M_file.seekoff(__off, __way); if (__file_off != off_type(-1)) { _M_reading = false; _M_writing = false; _M_ext_next = _M_ext_end = _M_ext_buf; _M_set_buffer(-1); _M_state_cur = __state; __ret = __file_off; __ret.state(_M_state_cur); } } return __ret; } template int basic_filebuf<_CharT, _Traits>:: _M_get_ext_pos(__state_type& __state) { if (_M_codecvt->always_noconv()) return this->gptr() - this->egptr(); else { const int __gptr_off = _M_codecvt->length(__state, _M_ext_buf, _M_ext_next, this->gptr() - this->eback()); return _M_ext_buf + __gptr_off - _M_ext_end; } } template bool basic_filebuf<_CharT, _Traits>:: _M_terminate_output() { bool __testvalid = true; if (this->pbase() < this->pptr()) { const int_type __tmp = this->overflow(); if (traits_type::eq_int_type(__tmp, traits_type::eof())) __testvalid = false; } if (_M_writing && !__check_facet(_M_codecvt).always_noconv() && __testvalid) { const size_t __blen = 128; char __buf[__blen]; codecvt_base::result __r; streamsize __ilen = 0; do { char* __next; __r = _M_codecvt->unshift(_M_state_cur, __buf, __buf + __blen, __next); if (__r == codecvt_base::error) __testvalid = false; else if (__r == codecvt_base::ok || __r == codecvt_base::partial) { __ilen = __next - __buf; if (__ilen > 0) { const streamsize __elen = _M_file.xsputn(__buf, __ilen); if (__elen != __ilen) __testvalid = false; } } } while (__r == codecvt_base::partial && __ilen > 0 && __testvalid); if (__testvalid) { const int_type __tmp = this->overflow(); if (traits_type::eq_int_type(__tmp, traits_type::eof())) __testvalid = false; } } return __testvalid; } template int basic_filebuf<_CharT, _Traits>:: sync() { int __ret = 0; if (this->pbase() < this->pptr()) { const int_type __tmp = this->overflow(); if (traits_type::eq_int_type(__tmp, traits_type::eof())) __ret = -1; } return __ret; } template void basic_filebuf<_CharT, _Traits>:: imbue(const locale& __loc) { bool __testvalid = true; const __codecvt_type* const _M_codecvt_tmp = __try_use_facet<__codecvt_type>(__loc); if (this->is_open()) { if ((_M_reading || _M_writing) && __check_facet(_M_codecvt).encoding() == -1) __testvalid = false; else { if (_M_reading) { if (__check_facet(_M_codecvt).always_noconv()) { if (_M_codecvt_tmp && !__check_facet(_M_codecvt_tmp).always_noconv()) __testvalid = this->seekoff(0, ios_base::cur, _M_mode) != pos_type(off_type(-1)); } else { _M_ext_next = _M_ext_buf + _M_codecvt->length(_M_state_last, _M_ext_buf, _M_ext_next, this->gptr() - this->eback()); const streamsize __remainder = _M_ext_end - _M_ext_next; if (__remainder) __builtin_memmove(_M_ext_buf, _M_ext_next, __remainder); _M_ext_next = _M_ext_buf; _M_ext_end = _M_ext_buf + __remainder; _M_set_buffer(-1); _M_state_last = _M_state_cur = _M_state_beg; } } else if (_M_writing && (__testvalid = _M_terminate_output())) _M_set_buffer(-1); } } if (__testvalid) _M_codecvt = _M_codecvt_tmp; else _M_codecvt = 0; } extern template class basic_filebuf; extern template class basic_ifstream; extern template class basic_ofstream; extern template class basic_fstream; extern template class basic_filebuf; extern template class basic_ifstream; extern template class basic_ofstream; extern template class basic_fstream; } # 1361 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/fstream" 2 3 # 26 "example.cc" 2 # 1 "spxdefines.h" 1 # 34 "spxdefines.h" #define _SPXDEFINES_H_ # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/math.h" 1 3 # 37 "spxdefines.h" 2 # 45 "spxdefines.h" # 45 "spxdefines.h" extern std::ofstream out_file; extern char *out_filename; namespace soplex { #define SOPLEX_VERSION 121 #define VERBOSE1(x) { if(Param::verbose() >= 1) {x} } #define VERBOSE2(x) { if(Param::verbose() >= 2) {x} } #define VERBOSE3(x) { if(Param::verbose() >= 3) {x} } #define TRACE(x) #define DEBUG(x) # 106 "spxdefines.h" #define METHOD(x) # 127 "spxdefines.h" typedef double Real; #define DEFAULT_BND_VIOL 1e-6 #define DEFAULT_EPS_ZERO 1e-17 #define DEFAULT_INFINITY 1e100 extern const Real infinity; class Param { private: static Real s_epsilon; static int s_verbose; public: inline static Real epsilon() { return s_epsilon; } static void setEpsilon(Real eps); static void computeEpsilon(); inline static int verbose() { return s_verbose; } static void setVerbose(int p_verbose); }; inline bool EQ(Real a, Real b, Real eps = Param::epsilon()) { return fabs(a - b) <= eps; } inline bool NE(Real a, Real b, Real eps = Param::epsilon()) { return fabs(a - b) > eps; } inline bool LT(Real a, Real b, Real eps = Param::epsilon()) { return (a - b) < -eps; } inline bool LE(Real a, Real b, Real eps = Param::epsilon()) { return (a - b) < eps; } inline bool GT(Real a, Real b, Real eps = Param::epsilon()) { return (a - b) > eps; } inline bool GE(Real a, Real b, Real eps = Param::epsilon()) { return (a - b) > -eps; } inline bool isZero(Real a, Real eps = Param::epsilon()) { return fabs(a) <= eps; } inline bool isNotZero(Real a, Real eps = Param::epsilon()) { return fabs(a) > eps; } } # 28 "example.cc" 2 # 1 "spxsolver.h" 1 # 24 "spxsolver.h" #define _SPXSOLVER_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxsolver.h" 2 # 1 "spxsteeppr.h" 1 # 25 "spxsteeppr.h" #define _SPXSTEEPPR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 29 "spxsteeppr.h" 2 # 1 "spxdefines.h" 1 # 31 "spxsteeppr.h" 2 # 1 "spxpricer.h" 1 # 25 "spxpricer.h" #define _SPXPRICE_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 28 "spxpricer.h" 2 # 1 "spxdefines.h" 1 # 30 "spxpricer.h" 2 # 1 "soplex.h" 1 # 24 "soplex.h" #define _SOPLEX_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "soplex.h" 2 # 1 "spxdefines.h" 1 # 29 "soplex.h" 2 # 1 "timer.h" 1 # 25 "timer.h" #define _TIMER_H_ namespace soplex { # 95 "timer.h" class Timer { private: static const long ticks_per_sec; enum { RESET, STOPPED, RUNNING } status; long uAccount; long sAccount; long rAccount; mutable long uTicks; mutable long sTicks; mutable long rTicks; Real ticks2sec(long ticks) const { return (Real(ticks) * 1000.0 / ticks_per_sec) / 1000.0; } void updateTicks() const; public: Timer() : status(RESET), uAccount(0), sAccount(0), rAccount(0) { # 127 "timer.h" 3 4 (static_cast (0)) # 127 "timer.h" ; } void reset() { status = RESET; uAccount = rAccount = sAccount = 0; } void start(); Real stop(); void getTimes( Real* userTime, Real* systemTime, Real* realTime) const; Real userTime() const; Real systemTime() const; Real realTime() const; long resolution() const { return ticks_per_sec; } }; } # 30 "soplex.h" 2 # 1 "spxlp.h" 1 # 24 "spxlp.h" #define _SPXLP_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxlp.h" 2 # 1 "spxdefines.h" 1 # 31 "spxlp.h" 2 # 1 "datakey.h" 1 # 24 "datakey.h" #define _DATAKEY_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "datakey.h" 2 namespace soplex { # 50 "datakey.h" class DataKey { protected: public: signed int info: 8; signed int idx : (8 * sizeof(int) - 8); public: inline int getIdx() const { return idx; } inline void setIdx(int p_idx) { idx = p_idx; } inline int isValid() const { return idx >= 0; } inline void inValidate() { idx = -1; info = 0; } DataKey() : info(0), idx(-1) {} DataKey(int p_info, int p_idx) : info(p_info) , idx(p_idx) {} DataKey& operator=(const DataKey& rhs) { info = rhs.info; idx = rhs.idx; return *this; } DataKey(const DataKey& old) : info(old.info) , idx(old.idx) {} }; } # 32 "spxlp.h" 2 # 1 "spxid.h" 1 # 24 "spxid.h" #define _SPXID_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxid.h" 2 # 1 "datakey.h" 1 # 29 "spxid.h" 2 namespace soplex { class SPxId; class SPxColId : public DataKey { public: SPxColId() {} explicit SPxColId(const DataKey& p_key); explicit SPxColId(const SPxId& p_key); }; class SPxRowId : public DataKey { public: SPxRowId() {} explicit SPxRowId(const DataKey& p_key); explicit SPxRowId(const SPxId& p_key); }; # 88 "spxid.h" class SPxId : public DataKey { public: enum Type { ROW_ID = -1, INVALID = 0, COL_ID = 1 }; Type type() const { return info ? (info < 0 ? ROW_ID : COL_ID) : INVALID; } bool isValid() const { return info != 0; } void inValidate() { info = 0; } bool isSPxRowId() const { return info < 0; } bool isSPxColId() const { return info > 0; } SPxId& operator=(const SPxId& id) { if (this != &id) DataKey::operator= ( id ); return *this; } SPxId& operator=(const SPxColId& cid) { DataKey::operator= ( cid ); info = COL_ID; return *this; } SPxId& operator=(const SPxRowId& rid) { DataKey::operator= ( rid ); info = ROW_ID; return *this; } SPxId() : DataKey(INVALID, -1) {} explicit SPxId(const SPxColId& cid) : DataKey(COL_ID, cid.idx) {} explicit SPxId(const SPxRowId& rid) : DataKey(ROW_ID, rid.idx) {} int operator==(const SPxId& id) { return (this == &id); } int operator!=(const SPxId& id) { return (this != &id); } bool operator<(const SPxId& id) { return getIdx() < id.getIdx(); } }; } # 33 "spxlp.h" 2 # 1 "dvector.h" 1 # 24 "dvector.h" #define _DVECTOR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 28 "dvector.h" 2 # 1 "spxdefines.h" 1 # 30 "dvector.h" 2 # 1 "vector.h" 1 # 24 "vector.h" #define _VECTOR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "vector.h" 2 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/math.h" 1 3 # 29 "vector.h" 2 namespace soplex { class SLUFactor; class SVector; class SSVector; # 82 "vector.h" class Vector { friend class LP; friend Vector& Usolve(Vector&, const SLUFactor&); friend Vector& Usolve2(Vector&, Vector&, const SLUFactor&); protected: int dimen; Real* val; public: # 107 "vector.h" Vector(int p_dimen, Real *p_val) : dimen(p_dimen) , val(p_val) { # 111 "vector.h" 3 4 (static_cast (0)) # 111 "vector.h" ; } Vector& operator=(const Vector& vec); Vector& operator=(const SVector& vec); Vector& operator=(const SSVector& vec); Vector& assign(const SVector& sv); Vector& assign(const SSVector& sv); int dim() const { return dimen; } Real& operator[](int n) { # 153 "vector.h" 3 4 (static_cast (0)) # 153 "vector.h" ; return val[n]; } Real operator[](int n) const { # 160 "vector.h" 3 4 (static_cast (0)) # 160 "vector.h" ; return val[n]; } Vector& operator+=(const Vector& vec); Vector& operator+=(const SVector& vec); Vector& operator+=(const SSVector& vec); Vector& operator-=(const Vector& vec); Vector& operator-=(const SVector& vec); Vector& operator-=(const SSVector& vec); Vector& operator*=(Real x); Real operator*(const SSVector& v) const; Real operator*(const SVector& v) const; Real operator*(const Vector& v) const { # 191 "vector.h" 3 4 (static_cast (0)) # 191 "vector.h" ; Real x = 0; for(int i = 0; i < dimen; i++) x += val[i] * v.val[i]; return x; } Real maxAbs() const; Real length() const; Real length2() const; Vector& multAdd(Real x, const SVector& vec); Vector& multAdd(Real x, const SSVector& svec); Vector& multAdd(Real x, const Vector& vec) { # 212 "vector.h" 3 4 (static_cast (0)) # 212 "vector.h" ; for(int i = 0; i < dim(); i++) val[i] += x * vec.val[i]; return *this; } # 229 "vector.h" Real* get_ptr() { return val; } const Real* get_const_ptr() const { return val; } friend std::ostream& operator<<(std::ostream& s, const Vector& vec); bool isConsistent() const; void clear() { if (dimen) memset(val, 0, dimen*sizeof(Real)); } private: Vector(); }; } # 31 "dvector.h" 2 # 1 "svector.h" 1 # 24 "svector.h" #define _SVECTOR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 28 "svector.h" 2 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/math.h" 1 3 # 29 "svector.h" 2 # 1 "spxdefines.h" 1 # 31 "svector.h" 2 # 1 "vector.h" 1 # 32 "svector.h" 2 namespace soplex { # 98 "svector.h" class SVector { friend class Vector; friend class SSVector; friend std::ostream& operator<<(std::ostream& os, const SVector& v); public: struct Element { Real val; int idx; }; private: Element *m_elem; public: void add(int i, Real v) { # 129 "svector.h" 3 4 (static_cast (0)) # 129 "svector.h" ; int n = size(); m_elem[n].idx = i; m_elem[n].val = v; set_size( n + 1 ); # 134 "svector.h" 3 4 (static_cast (0)) # 134 "svector.h" ; } void add(const SVector& sv) { add(sv.size(), sv.m_elem); } void add(int n, const int i[], const Real v[]); void add(int n, const Element e[]); void remove(int n, int m); void remove(int n) { # 155 "svector.h" 3 4 (static_cast (0)) # 155 "svector.h" ; set_size( size() - 1 ); m_elem[n] = m_elem[size()]; } void clear() { set_size(0); } void sort(); int size() const { if( m_elem != 0 ) return m_elem[ -1].idx; else return 0; } int max() const { if( m_elem != 0 ) return int(m_elem[ -1].val); else return 0; } int dim() const; int number(int i) const { if( m_elem != 0 ) { int n = size(); Element* e = &(m_elem[n]); while (n--) { --e; if (e->idx == i) return n; } } return -1; } Real operator[](int i) const { int n = number(i); if (n >= 0) return m_elem[n].val; return 0; } Element& element(int n) { # 225 "svector.h" 3 4 (static_cast (0)) # 225 "svector.h" ; return m_elem[n]; } const Element& element(int n) const { # 232 "svector.h" 3 4 (static_cast (0)) # 232 "svector.h" ; return m_elem[n]; } int& index(int n) { # 239 "svector.h" 3 4 (static_cast (0)) # 239 "svector.h" ; return m_elem[n].idx; } int index(int n) const { # 246 "svector.h" 3 4 (static_cast (0)) # 246 "svector.h" ; return m_elem[n].idx; } Real& value(int n) { # 253 "svector.h" 3 4 (static_cast (0)) # 253 "svector.h" ; return m_elem[n].val; } Real value(int n) const { # 260 "svector.h" 3 4 (static_cast (0)) # 260 "svector.h" ; return m_elem[n].val; } Real maxAbs() const; Real minAbs() const; Real length() const { return sqrt(length2()); } Real length2() const; SVector& operator*=(Real x); Real operator*(const Vector& w) const { Real x = 0; int n = size(); Element* e = m_elem; while (n--) { x += e->val * w[e->idx]; e++; } return x; } SVector& operator=(const SSVector& sv); SVector& operator=(const SVector& sv); SVector& operator=(const Vector& sv); bool isConsistent() const; # 324 "svector.h" SVector(int n = 0, Element* p_mem = 0) { setMem(n, p_mem); } Element* mem() const { return m_elem - 1; } void set_size(int s) { # 336 "svector.h" 3 4 (static_cast (0)) # 336 "svector.h" ; m_elem[ -1].idx = s; } void set_max(int m) { # 342 "svector.h" 3 4 (static_cast (0)) # 342 "svector.h" ; m_elem[ -1].val = m; } void setMem(int n, Element* elmem) { # 348 "svector.h" 3 4 (static_cast (0)) # 348 "svector.h" ; if (n > 0) { # 352 "svector.h" 3 4 (static_cast (0)) # 352 "svector.h" ; elmem->val = 0; m_elem = &(elmem[1]); set_size( 0 ); set_max ( n - 1 ); } else m_elem = 0; } }; inline Vector& Vector::multAdd(Real x, const SVector& vec) { # 371 "svector.h" 3 4 (static_cast (0)) # 371 "svector.h" ; for(int i = 0; i < vec.size(); i++) val[vec.m_elem[i].idx] += x * vec.m_elem[i].val; return *this; } } # 32 "dvector.h" 2 namespace soplex { # 55 "dvector.h" class DVector : public Vector { int memsize; Real* mem; public: friend DVector operator+(const Vector& v, const Vector& w); friend DVector operator+(const SVector& v, const Vector& w); friend DVector operator+(const Vector& v, const SVector& w); friend DVector operator-(const Vector& v, const Vector& w); friend DVector operator-(const SVector& v, const Vector& w); friend DVector operator-(const Vector& v, const SVector& w); friend DVector operator-(const Vector& vec); friend DVector operator-(const SVector& vec); friend DVector operator*(const Vector& v, Real x); friend DVector operator*(Real x, const Vector& v); friend std::istream& operator>>(std::istream& s, DVector& vec); DVector& operator+=(const Vector& vec) { Vector::operator+=(vec); return *this; } DVector& operator+=(const SVector& vec) { Vector::operator+=(vec); return *this; } DVector& operator-=(const Vector& vec) { Vector::operator-=(vec); return *this; } DVector& operator-=(const SVector& vec) { Vector::operator-=(vec); return *this; } DVector& operator*=(Real x) { Vector::operator*=(x); return *this; } void reDim(int newdim); void reSize(int newsize); void reSize(int newsize, int newdim); int memSize() const { return memsize; } bool isConsistent() const; DVector(int dim = 0); explicit DVector(const Vector& old); DVector(const DVector& old); DVector& operator=(const Vector& vec) { if (vec.dim() != dim()) reDim(vec.dim()); Vector::operator=(vec); return *this; } DVector& operator=(const DVector& vec) { if (this != &vec) { if (vec.dim() != dim()) reDim(vec.dim()); Vector::operator=(vec); } return *this; } DVector& operator=(const SVector& vec) { if (vec.dim() != dim()) reDim(vec.dim()); Vector::operator=(vec); return *this; } ~DVector(); }; } # 34 "spxlp.h" 2 # 1 "svset.h" 1 # 25 "svset.h" #define _SVSET_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 28 "svset.h" 2 # 1 "spxdefines.h" 1 # 30 "svset.h" 2 # 1 "svector.h" 1 # 31 "svset.h" 2 # 1 "dataset.h" 1 # 24 "dataset.h" #define _DATASET_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 29 "dataset.h" 2 # 1 "dataarray.h" 1 # 24 "dataarray.h" #define _DATAARRAY_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "dataarray.h" 2 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 1 3 4 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #define _STDDEF_H #define _STDDEF_H_ #define _ANSI_STDDEF_H # 132 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #define _PTRDIFF_T #define _T_PTRDIFF_ #define _T_PTRDIFF #define __PTRDIFF_T #define _PTRDIFF_T_ #define _BSD_PTRDIFF_T_ #define ___int_ptrdiff_t_h #define _GCC_PTRDIFF_T #define _PTRDIFF_T_DECLARED #define __DEFINED_ptrdiff_t # 145 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 typedef long int ptrdiff_t; # 158 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_ptrdiff_t # 237 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_size_t # 349 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_wchar_t # 399 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef NULL #define NULL __null # 410 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/lib/gcc/loongarch64-linux-gnu/14.0.0/include/stddef.h" 3 4 #undef __need_NULL #undef offsetof #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER) # 28 "dataarray.h" 2 # 1 "spxdefines.h" 1 # 32 "dataarray.h" 2 # 1 "spxalloc.h" 1 # 24 "spxalloc.h" #define _SPXALLOC_H_ # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/stdlib.h" 1 3 # 34 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/stdlib.h" 3 #define _GLIBCXX_STDLIB_H 1 # 1 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdlib" 1 3 # 39 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdlib" 3 # 40 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdlib" 3 #define _GLIBCXX_CSTDLIB 1 # 78 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdlib" 3 #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS #undef abort #undef atexit #undef atof #undef atoi #undef atol #undef bsearch #undef calloc #undef div #undef exit #undef free #undef getenv #undef labs #undef ldiv #undef malloc #undef mblen #undef mbstowcs #undef mbtowc #undef qsort #undef rand #undef realloc #undef srand #undef strtod #undef strtol #undef strtoul #undef system #undef wcstombs #undef wctomb extern "C++" { namespace std __attribute__ ((__visibility__ ("default"))) { using ::div_t; using ::ldiv_t; using ::abort; using ::atexit; 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 ::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) throw() { return ldiv(__i, __j); } } #undef _Exit #undef llabs #undef lldiv #undef atoll #undef strtoll #undef strtoull #undef strtof #undef strtold 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; # 231 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdlib" 3 using ::atoll; using ::strtoll; using ::strtoull; using ::strtof; using ::strtold; } namespace std { using ::__gnu_cxx::lldiv_t; using ::__gnu_cxx::_Exit; using ::__gnu_cxx::llabs; using ::__gnu_cxx::div; using ::__gnu_cxx::lldiv; using ::__gnu_cxx::atoll; using ::__gnu_cxx::strtof; using ::__gnu_cxx::strtoll; using ::__gnu_cxx::strtoull; using ::__gnu_cxx::strtold; } # 275 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/cstdlib" 3 } # 37 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/stdlib.h" 2 3 using std::abort; using std::atexit; using std::exit; # 54 "/home/chenglulu/work/toolchain-upstream/install/optimize/usr/include/c++/14.0.0/stdlib.h" 3 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 "spxalloc.h" 2 # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 29 "spxalloc.h" 2 # 1 "spxdefines.h" 1 # 31 "spxalloc.h" 2 # 32 "spxalloc.h" namespace soplex { # 47 "spxalloc.h" template inline void spx_alloc(T& p, int n) { # 50 "spxalloc.h" 3 4 (static_cast (0)) # 50 "spxalloc.h" ; # 51 "spxalloc.h" 3 4 (static_cast (0)) # 51 "spxalloc.h" ; if (n == 0) n = 1; p = reinterpret_cast(malloc(sizeof(*p) * n)); if (0 == p) { std::cerr << "malloc: Out of memory" << std::endl; abort(); } } template inline void spx_realloc(T& p, int n) { # 72 "spxalloc.h" 3 4 (static_cast (0)) # 72 "spxalloc.h" ; # 73 "spxalloc.h" 3 4 (static_cast (0)) # 73 "spxalloc.h" ; p = reinterpret_cast(realloc(p, sizeof(*p) * n)); if (0 == p) { std::cerr << "realloc: Out of memory" << std::endl; abort(); } } template inline void spx_free(T& p) { # 88 "spxalloc.h" 3 4 (static_cast (0)) # 88 "spxalloc.h" ; free(p); p = 0; } } # 33 "dataarray.h" 2 # 1 "message.h" 1 # 20 "message.h" namespace soplex { extern bool msginconsistent(const char* name, const char* file, int line); #define MSGinconsistent(name) msginconsistent(name, __FILE__, __LINE__) } # 34 "dataarray.h" 2 namespace soplex { # 67 "dataarray.h" template < class T > class DataArray { private: int thesize; int themax; T* data; protected: Real memFactor; public: T& operator[](int n) { # 89 "dataarray.h" 3 4 (static_cast (0)) # 89 "dataarray.h" ; # 90 "dataarray.h" 3 4 (static_cast (0)) # 90 "dataarray.h" ; return data[n]; } const T& operator[](int n) const { # 96 "dataarray.h" 3 4 (static_cast (0)) # 96 "dataarray.h" ; # 97 "dataarray.h" 3 4 (static_cast (0)) # 97 "dataarray.h" ; return data[n]; } T& last() { # 104 "dataarray.h" 3 4 (static_cast (0)) # 104 "dataarray.h" ; return data[thesize -1]; } const T& last() const { # 110 "dataarray.h" 3 4 (static_cast (0)) # 110 "dataarray.h" ; return data[thesize -1]; } T* get_ptr() { return data; } const T* get_const_ptr() const { return data; } void append(const T& t) { insert(thesize, 1, &t); } void append(int n, const T t[]) { insert(thesize, n, t); } void append(const DataArray& t) { insert(thesize, t); } void insert(int i, int n) { int j = size(); reSize(thesize + n); while (i < j--) data[j + n] = data[j]; } void insert(int i, int n, const T t[]) { if (n > 0) { insert(i, n); memcpy(&(data[i]), t, n*sizeof(T)); } } void insert(int i, const DataArray& t) { if (t.size()) { insert(i, t.size()); memcpy(&(data[i]), t.data, t.size()*sizeof(T)); } } void remove(int n = 0, int m = 1) { # 173 "dataarray.h" 3 4 (static_cast (0)) # 173 "dataarray.h" ; if (n + m < size()) memcpy(&(data[n]), &(data[n + m]), (size() - (n + m)) * sizeof(T)); else m = size() - n; thesize -= m; } void removeLast(int m = 1) { # 183 "dataarray.h" 3 4 (static_cast (0)) # 183 "dataarray.h" ; thesize -= m; } void clear() { thesize = 0; } int size() const { return thesize; } # 205 "dataarray.h" void reSize(int newsize) { # 207 "dataarray.h" 3 4 (static_cast (0)) # 207 "dataarray.h" ; if (newsize > themax) reMax(int(memFactor * newsize), newsize); else if (newsize < 0) thesize = 0; else thesize = newsize; } int max() const { return themax; } # 239 "dataarray.h" ptrdiff_t reMax(int newMax = 1, int newSize = -1) { if (newSize >= 0) thesize = newSize; if (newMax < newSize) newMax = newSize; if (newMax < 1) newMax = 1; if (newMax == themax) return 0; themax = newMax; T* olddata = data; if (thesize <= 0) { spx_free(data); spx_alloc(data, themax); } else spx_realloc(data, themax); return reinterpret_cast(data) - reinterpret_cast(olddata); } DataArray& operator=(const DataArray& rhs) { if (this != &rhs) { reSize(rhs.size()); memcpy(data, rhs.data, size() * sizeof(T)); } return *this; } bool isConsistent() const { if ( (data == 0) || (themax < 1) || (themax < thesize) || (thesize < 0) || (memFactor < 1.0)) return msginconsistent("DataArray", "dataarray.h", 280); return true; } DataArray(const DataArray& old) : thesize(old.thesize) , themax (old.themax) , data (0) , memFactor (old.memFactor) { spx_alloc(data, max()); if (thesize) memcpy(data, old.data, thesize * sizeof(T)); # 297 "dataarray.h" 3 4 (static_cast (0)) # 297 "dataarray.h" ; } # 309 "dataarray.h" explicit DataArray(int p_size = 0, int p_max = 0, Real p_fac = 1.2) : data (0) , memFactor(p_fac) { thesize = (p_size < 0) ? 0 : p_size; if (p_max > thesize) themax = p_max; else themax = (thesize == 0) ? 1 : thesize; spx_alloc(data, themax); # 321 "dataarray.h" 3 4 (static_cast (0)) # 321 "dataarray.h" ; } ~DataArray() { spx_free(data); } }; } # 31 "dataset.h" 2 # 1 "datakey.h" 1 # 32 "dataset.h" 2 # 1 "spxalloc.h" 1 # 33 "dataset.h" 2 # 1 "message.h" 1 # 20 "message.h" namespace soplex { extern bool msginconsistent(const char* name, const char* file, int line); #define MSGinconsistent(name) msginconsistent(name, __FILE__, __LINE__) } # 34 "dataset.h" 2 namespace soplex { # 87 "dataset.h" template class DataSet { protected: struct Item { DATA data; int info; }* theitem; DataKey* thekey; int themax; int thesize; int thenum; int firstfree; public: # 114 "dataset.h" void add(DataKey& newkey, const DATA& item) { DATA* data = create(newkey); # 118 "dataset.h" 3 4 (static_cast (0)) # 118 "dataset.h" ; *data = item; } void add(const DATA& item) { DATA* data = create(); # 129 "dataset.h" 3 4 (static_cast (0)) # 129 "dataset.h" ; *data = item; } void add(DataKey newkey[], const DATA* item, int n) { # 137 "dataset.h" 3 4 (static_cast (0)) # 137 "dataset.h" ; # 138 "dataset.h" 3 4 (static_cast (0)) # 138 "dataset.h" ; for (int i = 0; i < n; ++i) add(newkey[i], item[i]); } void add(const DATA* items, int n) { # 147 "dataset.h" 3 4 (static_cast (0)) # 147 "dataset.h" ; # 148 "dataset.h" 3 4 (static_cast (0)) # 148 "dataset.h" ; for (int i = 0; i < n; ++i) add(items[i]); } void add(DataKey newkey[], const DataSet < DATA > & set) { # 157 "dataset.h" 3 4 (static_cast (0)) # 157 "dataset.h" ; for (int i = 0; i < set.num(); ++i) add(newkey[i], set[i]); } void add(const DataSet < DATA > & set) { # 166 "dataset.h" 3 4 (static_cast (0)) # 166 "dataset.h" ; for (int i = 0; i < set.num(); ++i) add(set[i]); } DATA* create(DataKey& newkey) { if (num() >= max()) abort(); if (firstfree != -themax - 1) { newkey.idx = -firstfree - 1; firstfree = theitem[newkey.idx].info; } else newkey.idx = thesize++; thekey[thenum] = newkey; theitem[newkey.idx].info = thenum; ++thenum; return &(theitem[newkey.idx].data); } DATA* create() { DataKey tmp; return create(tmp); } # 219 "dataset.h" void remove(int removenum) { if (has(removenum)) { int idx = thekey[removenum].idx; theitem[idx].info = firstfree; firstfree = -idx - 1; while (-firstfree == thesize) { firstfree = theitem[ -firstfree - 1].info; --thesize; } --thenum; if (removenum != thenum) { thekey[removenum] = thekey[thenum]; theitem[thekey[removenum].idx].info = removenum; } } } void remove(const DataKey& removekey) { remove(number(removekey)); } void remove(int perm[]) { int k, j, first = -1; for (k = j = 0; k < num(); ++k) { if (perm[k] >= 0) perm[k] = j++; else { int idx = thekey[k].idx; theitem[idx].info = firstfree; firstfree = -idx - 1; if (first < 0) first = k; } } if (first >= 0) { for (k = first, j = num(); k < j; ++k) { if (perm[k] >= 0) { thekey[perm[k]] = thekey[k]; theitem[thekey[k].idx].info = perm[k]; thekey[k].idx = -1; } else --thenum; } } } void remove(DataKey *keys, int n, int* perm) { # 290 "dataset.h" 3 4 (static_cast (0)) # 290 "dataset.h" ; for (int i = num() - 1; i >= 0; --i) perm[i] = i; while (--n >= 0) perm[number(keys[n])] = -1; remove(perm); } void remove(DataKey *keys, int n) { DataArray perm(num()); remove(keys, n, perm.get_ptr()); } void remove(int *nums, int n, int* perm) { # 306 "dataset.h" 3 4 (static_cast (0)) # 306 "dataset.h" ; for (int i = num() - 1; i >= 0; --i) perm[i] = i; while (--n >= 0) perm[nums[n]] = -1; remove(perm); } void remove(int *nums, int n) { DataArray perm(num()); remove(nums, n, perm.get_ptr()); } void clear() { thesize = 0; thenum = 0; firstfree = -themax - 1; } # 337 "dataset.h" DATA& operator[](int n) { # 339 "dataset.h" 3 4 (static_cast (0)) # 339 "dataset.h" ; return theitem[thekey[n].idx].data; } const DATA& operator[](int n) const { # 345 "dataset.h" 3 4 (static_cast (0)) # 345 "dataset.h" ; return theitem[thekey[n].idx].data; } DATA& operator[](const DataKey& k) { # 352 "dataset.h" 3 4 (static_cast (0)) # 352 "dataset.h" ; return theitem[k.idx].data; } const DATA& operator[](const DataKey& k) const { # 358 "dataset.h" 3 4 (static_cast (0)) # 358 "dataset.h" ; return theitem[k.idx].data; } int max() const { return themax; } int num() const { return thenum; } int size() const { return thesize; } DataKey key(int n) const { # 386 "dataset.h" 3 4 (static_cast (0)) # 386 "dataset.h" ; return thekey[n]; } DataKey key(const DATA* item) const { # 393 "dataset.h" 3 4 (static_cast (0)) # 393 "dataset.h" ; return thekey[number(item)]; } int number(const DataKey& k) const { return (k.idx < 0 || k.idx >= size()) ? -1 : theitem[k.idx].info; } int number(const DATA* item) const { ptrdiff_t idx = reinterpret_cast(item) - theitem; if( idx < 0 || idx >= size()) return -1; # 426 "dataset.h" return theitem[idx].info; } int has(const DataKey& k) const { return theitem[k.idx].info >= 0; } int has(int n) const { return (n >= 0 && n < num()); } int has(const DATA* item) const { return number(item) >= 0; } # 458 "dataset.h" ptrdiff_t reMax(int newmax = 0) { struct Item * old_theitem = theitem; newmax = (newmax < size()) ? size() : newmax; int* lastfree = &firstfree; while (*lastfree != -themax - 1) lastfree = &(theitem[ -1 - *lastfree].info); *lastfree = -newmax - 1; themax = newmax; spx_realloc(theitem, themax); spx_realloc(thekey, themax); return reinterpret_cast(theitem) - reinterpret_cast(old_theitem); } bool isConsistent() const { if (theitem == 0 || thekey == 0) return msginconsistent("DataSet", "dataset.h", 481); if (thesize > themax || thenum > themax || thenum > thesize) return msginconsistent("DataSet", "dataset.h", 484); if (thesize == thenum && firstfree != -themax - 1) return msginconsistent("DataSet", "dataset.h", 487); if (thesize != thenum && firstfree == -themax - 1) return msginconsistent("DataSet", "dataset.h", 490); for (int i = 0; i < thenum; ++i) if (theitem[thekey[i].idx].info != i) return msginconsistent("DataSet", "dataset.h", 494); return true; } DataSet(int pmax = 8) : theitem( 0 ) , thekey ( 0 ) , themax ( pmax < 1 ? 8 : pmax ) , thesize( 0 ) , thenum ( 0 ) { firstfree = -themax - 1; spx_alloc(theitem, themax); spx_alloc(thekey, themax); } DataSet(const DataSet& old) : theitem( 0 ) , thekey ( 0 ) , themax ( old.themax ) , thesize( old.thesize ) , thenum ( old.thenum ) { firstfree = (old.firstfree == -old.themax - 1) ? -themax - 1 : old.firstfree; spx_alloc(theitem, themax); spx_alloc(thekey, themax); memcpy(theitem, old.theitem, themax * sizeof(*theitem)); memcpy(thekey, old.thekey, themax * sizeof(*thekey)); } DataSet < DATA > & operator=(const DataSet < DATA > & rhs) { if (this != &rhs) { int i; if (rhs.size() > max()) reMax(rhs.size()); clear(); for (i = 0; i < rhs.size(); ++i) memcpy(&theitem[i], &rhs.theitem[i], sizeof(*theitem)); for (i = 0; i < rhs.num(); ++i) thekey[i] = rhs.thekey[i]; if (rhs.firstfree == -rhs.themax - 1) firstfree = -themax - 1; else { firstfree = rhs.firstfree; i = rhs.firstfree; while (rhs.theitem[ -i - 1].info != -rhs.themax - 1) i = rhs.theitem[ -i - 1].info; theitem[ -i - 1].info = -themax - 1; } thenum = rhs.thenum; thesize = rhs.thesize; } return *this; } ~DataSet() { spx_free(theitem); spx_free(thekey); } }; } # 32 "svset.h" 2 # 1 "dataarray.h" 1 # 33 "svset.h" 2 # 1 "idlist.h" 1 # 24 "idlist.h" #define _IDLIST_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "idlist.h" 2 # 1 "spxdefines.h" 1 # 29 "idlist.h" 2 # 1 "islist.h" 1 # 24 "islist.h" #define _ISLIST_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "islist.h" 2 # 1 "message.h" 1 # 20 "message.h" namespace soplex { extern bool msginconsistent(const char* name, const char* file, int line); #define MSGinconsistent(name) msginconsistent(name, __FILE__, __LINE__) } # 30 "islist.h" 2 namespace soplex { # 42 "islist.h" template < class T > class IsElement : public T { protected: IsElement* the_next; public: IsElement*& next() { return the_next; } IsElement* next() const { return the_next; } IsElement() {} IsElement(const T& old) : T(old) , the_next(0) {} IsElement(const IsElement& old) : T(old) , the_next(0) {} }; # 91 "islist.h" template < class T > class IsList { protected: T* the_first; T* the_last; public: typedef IsElement Element; void append(T* elem) { if (the_last) the_last->next() = elem; else the_first = elem; the_last = elem; } void prepend(T* elem) { if (the_first) elem->next() = the_first; else the_last = elem; the_first = elem; } void insert(T* elem, T* after) { # 126 "islist.h" 3 4 (static_cast (0)) # 126 "islist.h" ; if (after == the_last) append(elem); else { elem->next() = after->next(); after->next() = elem; } } # 143 "islist.h" void append(IsList& list) { if (list.the_first) { append(list.the_first); the_last = list.the_last; } } # 159 "islist.h" void prepend(IsList& list) { if (list.the_first) { prepend(list.the_last); the_first = list.the_first; } } # 175 "islist.h" void insert(IsList& list, T*after) { # 177 "islist.h" 3 4 (static_cast (0)) # 177 "islist.h" ; if (list.the_first) { list.the_last->next() = after->next(); after->next() = list.first(); if (after == last()) the_last = list.last(); } } void remove_next(T *after) { # 193 "islist.h" 3 4 (static_cast (0)) # 193 "islist.h" ; if (after->next()) { if (after->next() == last()) the_last = after; after->next() = after->next()->next(); } } void remove(const T *elem) { if (the_first) { if (elem == the_first) { the_first = next(elem); if (the_first == 0) the_last = 0; } else { T *after = the_first; for (; after != the_last; after = after->next()) if (after->next() == elem) { remove_next(after); return; } } } } void remove(const IsList& list) { if (the_first != 0 && list.the_first != 0) { # 236 "islist.h" 3 4 (static_cast (0)) # 236 "islist.h" ; # 237 "islist.h" 3 4 (static_cast (0)) # 237 "islist.h" ; if (the_first == list.the_first) { if (the_last == list.the_last) the_first = the_last = 0; else the_first = list.the_last->next(); } else { T *after = the_first; for (; after->next() != list.the_first; after = after->next()) ; if (the_last == list.the_last) the_last = after; else after->next() = list.the_last->next(); } } } void clear() { the_first = the_last = 0; } T* first() const { return the_first; } T* last() const { return the_last; } # 288 "islist.h" T* next(const T *elem) const { return (elem == the_last) ? 0 : elem->next(); } int length() const { int num; if (the_first) { T *test = the_first; for (num = 1; test != the_last; test = test->next()) ++num; return num; } return 0; } int find(const T* elem) const { T *test = the_first; do { if (test == elem) return 1; } while ((test = next(test))); return 0; } IsListsublist(const T* start = 0, const T* end = 0) const { IsListpart = *this; if (start) { # 331 "islist.h" 3 4 (static_cast (0)) # 331 "islist.h" ; part.the_first = const_cast(start); } if (end) { # 336 "islist.h" 3 4 (static_cast (0)) # 336 "islist.h" ; part.the_last = const_cast(end); } return part; } # 354 "islist.h" void move(ptrdiff_t delta) { if (the_first) { T* elem; the_last = reinterpret_cast(reinterpret_cast(the_last) + delta); the_first = reinterpret_cast(reinterpret_cast(the_first) + delta); for (elem = first(); elem; elem = next(elem)) if (elem != last()) elem->next() = reinterpret_cast(reinterpret_cast(elem->next()) + delta); } } bool isConsistent() const { if (first() != 0 && last() == 0) return msginconsistent("IsList", "islist.h", 371); if (first() == 0 && last() != 0) return msginconsistent("IsList", "islist.h", 374); if (first() && find(last()) == 0) return msginconsistent("IsList", "islist.h", 377); return true; } # 390 "islist.h" IsList(T* pfirst = 0, T* plast = 0) : the_first(pfirst), the_last(plast) { if (pfirst) { # 395 "islist.h" 3 4 (static_cast (0)) # 395 "islist.h" ; # 396 "islist.h" 3 4 (static_cast (0)) # 396 "islist.h" ; } } }; } # 30 "idlist.h" 2 namespace soplex { # 50 "idlist.h" template < class T > class IdElement : public T { IdElement* theprev; IdElement* thenext; public: IdElement*& next() { return thenext; } IdElement*const& next() const { return thenext; } IdElement*& prev() { return theprev; } IdElement*const& prev() const { return theprev; } IdElement() : theprev(0) , thenext(0) {} IdElement(const T& old) : T(old) , theprev(0) , thenext(0) {} }; # 104 "idlist.h" template < class T > class IdList : public IsList { public: T* first() const { return static_cast(this->the_first); } T* last() const { return static_cast(this->the_last); } T* next(const T *elem) const { return (elem == last()) ? 0 : elem->next(); } T* prev(const T *elem) const { return (elem == first()) ? 0 : elem->prev(); } void append (T* elem) { if (last()) { last()->next() = elem; elem->prev() = last(); } else this->the_first = elem; this->the_last = elem; } void prepend(T* elem) { if (first()) { elem->next() = first(); first()->prev() = elem; } else this->the_last = elem; this->the_first = elem; } void insert (T* elem, T* after) { # 168 "idlist.h" 3 4 (static_cast (0)) # 168 "idlist.h" ; if (after == last()) append(elem); else { elem->next() = after->next(); elem->prev() = after; after->next() = elem->next()->prev() = elem; } } void append (IdList& list) { if (list.first()) { append(list.first()); this->the_last = list.last(); } } void prepend(IdList& list) { if (list.first()) { prepend(list.last()); this->the_first = list.the_first; } } void insert (IdList& list, T* after) { # 202 "idlist.h" 3 4 (static_cast (0)) # 202 "idlist.h" ; if (list.first()) { list.last()->next() = after->next(); list.first()->prev() = after; after->next() = list.first(); if (after == last()) this->the_last = list.last(); else list.last()->next()->prev() = list.last(); } } void remove_next(T* after) { remove(next(after)); } void remove(T* elem) { if (elem == first()) { this->the_first = next(elem); if (first() == 0) this->the_last = 0; } else if (elem == last()) this->the_last = elem->prev(); else { elem->next()->prev() = elem->prev(); elem->prev()->next() = elem->next(); } } void remove(IdList& list) { if (first() != 0 && list.first() != 0) { # 247 "idlist.h" 3 4 (static_cast (0)) # 247 "idlist.h" ; # 248 "idlist.h" 3 4 (static_cast (0)) # 248 "idlist.h" ; if (first() == list.first()) { if (last() == list.last()) this->the_first = this->the_last = 0; else this->the_first = list.last()->next(); } else if (last() == list.last()) this->the_last = list.last()->prev(); else { T* after = first(); for (; after->next() != list.first(); after = after->next()) ; if (last() == list.last()) this->the_last = after; else after->next() = list.last()->next(); } } } # 280 "idlist.h" void move(ptrdiff_t delta) { if (this->the_first) { T* elem; IsList::move(delta); for (elem = last(); elem; elem = prev(elem)) if (elem != first()) elem->prev() = reinterpret_cast( reinterpret_cast(elem->prev()) + delta); } } bool isConsistent() const { for (T * it = first(); it; it = next(it)) { if (it != first() && it->prev()->next() != it) return msginconsistent("IdList", "idlist.h", 299); if (it != last() && it->next()->prev() != it) return msginconsistent("IdList", "idlist.h", 302); } return IsList::isConsistent(); } # 315 "idlist.h" IdList(T* pfirst = 0, T* plast = 0) : IsList(pfirst, plast) {} }; } # 34 "svset.h" 2 # 1 "datakey.h" 1 # 35 "svset.h" 2 namespace soplex { typedef DataArray < SVector::Element > SVSetBase; # 69 "svset.h" class SVSet : protected SVSetBase { private: # 90 "svset.h" class DLPSV : public SVector { private: DLPSV *thenext; DLPSV *theprev; public: DLPSV*& next() { return thenext; } DLPSV*const& next() const { return thenext; } DLPSV*const& prev() const { return theprev; } DLPSV*& prev() { return theprev; } SVector& svector() { return *this; } DLPSV() : SVector() {} DLPSV(const DLPSV& copy) : SVector(copy) {} }; DataSet < DLPSV > set; IdList < DLPSV > list; void ensurePSVec(int n) { if (num() + n > max()) { # 137 "svset.h" 3 4 (static_cast (0)) # 137 "svset.h" ; reMax(int(factor*max()) + 8 + n); } } void ensureMem(int n); public: # 155 "svset.h" Real factor; Real& memFactor; # 173 "svset.h" void add(const SVector& svec) { ensurePSVec(1); SVector* new_svec = create(svec.size()); *new_svec = svec; } # 188 "svset.h" void add(DataKey& nkey, const SVector& svec) { ensurePSVec(1); SVector* new_svec = create(nkey, svec.size()); *new_svec = svec; } void add(const SVector svec[], int n); # 207 "svset.h" void add(DataKey nkey[], const SVector svec[], int n); void add(const SVSet& pset); # 219 "svset.h" void add(DataKey nkey[], const SVSet& pset); SVector* create(int idxmax = -1); SVector* create(DataKey& nkey, int idxmax = -1); void xtend(SVector& svec, int newmax); void add2(SVector &svec, int idx, Real val); void add2(SVector &svec, int n, const int idx[], const Real val[]); void remove(DataKey removekey); void remove(int removenum) { remove(key(removenum)); } void remove(SVector *svec) { remove(key(svec)); } # 284 "svset.h" void remove(int perm[]); void remove(DataKey keys[], int n) { DataArray < int > perm(num()); remove(keys, n, perm.get_ptr()); } void remove(int nums[], int n) { DataArray < int > perm(num()); remove(nums, n, perm.get_ptr()); } void remove(DataKey keys[], int n, int* perm); # 317 "svset.h" void remove(int nums[], int n, int* perm); void clear() { DataArray < SVector::Element > ::clear(); DataArray < SVector::Element > ::reMax(10000); set.clear(); list.clear(); } SVector& operator[](int n) { return set[n]; } const SVector& operator[](int n) const { return set[n]; } SVector& operator[](const DataKey& k) { return set[k]; } const SVector& operator[](const DataKey& k) const { return set[k]; } int num() const { return set.num(); } int max() const { return set.max(); } DataKey key(int n) const { return set.key(n); } DataKey key(const SVector* svec) const { return set.key(static_cast(svec)); } int number(const DataKey& k) const { return set.number(k); } int number(const SVector* svec) const { return set.number(static_cast(svec)); } int has(const DataKey& k) const { return set.has(k); } int has(int n) const { return set.has(n); } int has(const SVector* svec) const { return set.has(static_cast(svec)); } int memSize() const { return DataArray < SVector::Element > ::size(); } int memMax() const { return DataArray < SVector::Element > ::max(); } void memRemax(int newmax); void memPack(); void reMax(int newmax = 0); bool isConsistent() const; SVSet& operator=(const SVSet& rhs); SVSet(const SVSet& old); SVSet(int pmax = -1, int pmemmax = -1, Real pfac = 1.1, Real pmemFac = 1.2) : DataArray < SVector::Element > (0, (pmemmax > 0) ? pmemmax : 8 * ((pmax > 0) ? pmax : 8), pmemFac) , set ((pmax > 0) ? pmax : 8) , factor (pfac) , memFactor (DataArray < SVector::Element > ::memFactor) { } }; } # 35 "spxlp.h" 2 # 1 "dataarray.h" 1 # 36 "spxlp.h" 2 # 1 "lprow.h" 1 # 24 "lprow.h" #define _LPROW_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "lprow.h" 2 # 1 "spxdefines.h" 1 # 29 "lprow.h" 2 # 1 "dsvector.h" 1 # 24 "dsvector.h" #define _DSVECTOR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "dsvector.h" 2 # 1 "spxdefines.h" 1 # 29 "dsvector.h" 2 # 1 "svector.h" 1 # 30 "dsvector.h" 2 # 1 "ssvector.h" 1 # 25 "ssvector.h" #define _SSVECTOR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 28 "ssvector.h" 2 # 1 "spxdefines.h" 1 # 30 "ssvector.h" 2 # 1 "dvector.h" 1 # 31 "ssvector.h" 2 # 1 "svector.h" 1 # 32 "ssvector.h" 2 # 1 "didxset.h" 1 # 24 "didxset.h" #define _DIDXSET_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "didxset.h" 2 # 1 "idxset.h" 1 # 24 "idxset.h" #define _IDXSET_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "idxset.h" 2 namespace soplex { # 58 "idxset.h" class IdxSet { protected: int num; int len; int* idx; public: int index(int n) const { # 69 "idxset.h" 3 4 (static_cast (0)) # 69 "idxset.h" ; return idx[n]; } int size() const { return num; } int max() const { return len; } int dim() const; int number(int i) const; void add(int n) { # 96 "idxset.h" 3 4 (static_cast (0)) # 96 "idxset.h" ; num += n; } void add(const IdxSet& set) { add(set.size(), set.idx); } void add(int n, const int i[]); void addIdx(int i) { # 112 "idxset.h" 3 4 (static_cast (0)) # 112 "idxset.h" ; idx[num++] = i; } void remove(int n, int m); void remove(int n) { if (n < size() && n >= 0) idx[n] = idx[--num]; } void clear() { num = 0; } IdxSet(int n, int imem[], int l = 0) : num(l), len(n), idx(imem) { # 141 "idxset.h" 3 4 (static_cast (0)) # 141 "idxset.h" ; } IdxSet() : num(0), len(0), idx(0) { # 152 "idxset.h" 3 4 (static_cast (0)) # 152 "idxset.h" ; } IdxSet& operator=(const IdxSet& set); bool isConsistent() const; private: IdxSet(const IdxSet&); }; } # 29 "didxset.h" 2 namespace soplex { # 46 "didxset.h" class DIdxSet : public IdxSet { public: void add(int n) { if (max() - size() < n) setMax(size() + n); IdxSet::add(n); } void add(const IdxSet& sv) { int n = sv.size(); if (max() - size() < n) setMax(size() + n); IdxSet::add(sv); } void add(int n, const int *i) { if (max() - size() < n) setMax(size() + n); IdxSet::add(n, i); } void addIdx(int i) { if (max() <= size()) setMax(size() + 1); IdxSet::addIdx(i); } void setMax(int newmax = 1); explicit DIdxSet(int n = 8); explicit DIdxSet(const IdxSet& old); DIdxSet(const DIdxSet& old); DIdxSet& operator=(const IdxSet& sv) { if (this != &sv) { setMax( sv.size() ); IdxSet::operator=(sv); } return *this; } DIdxSet& operator=(const DIdxSet& sv) { if (this != &sv) { setMax( sv.size() ); IdxSet::operator=(sv); } return *this; } ~DIdxSet(); }; } # 33 "ssvector.h" 2 # 1 "spxalloc.h" 1 # 34 "ssvector.h" 2 namespace soplex { class SVSet; # 50 "ssvector.h" class SSVector : protected DVector, protected IdxSet { private: bool setupStatus; friend class DVector; friend class Vector; friend class DSVector; void setMax(int newmax); public: Real epsilon; # 85 "ssvector.h" Real* get_ptr() { return DVector::get_ptr(); } bool isSetup() const { return setupStatus; } void unSetup() { setupStatus = false; } void setup(); void forceSetup() { setupStatus = true; } int index(int n) const { # 121 "ssvector.h" 3 4 (static_cast (0)) # 121 "ssvector.h" ; return IdxSet::index(n); } Real value(int n) const { # 128 "ssvector.h" 3 4 (static_cast (0)) # 128 "ssvector.h" ; # 129 "ssvector.h" 3 4 (static_cast (0)) # 129 "ssvector.h" ; return val[idx[n]]; } int number(int i) const { # 136 "ssvector.h" 3 4 (static_cast (0)) # 136 "ssvector.h" ; return IdxSet::number(i); } int size() const { # 143 "ssvector.h" 3 4 (static_cast (0)) # 143 "ssvector.h" ; return IdxSet::size(); } void add(int i, Real x) { # 152 "ssvector.h" 3 4 (static_cast (0)) # 152 "ssvector.h" ; # 153 "ssvector.h" 3 4 (static_cast (0)) # 153 "ssvector.h" ; addIdx(i); val[i] = x; } void setValue(int i, Real x); void clearIdx(int i) { if (isSetup()) { int n = number(i); if (n >= 0) remove(n); } val[i] = 0; } void clearNum(int n) { # 176 "ssvector.h" 3 4 (static_cast (0)) # 176 "ssvector.h" ; # 177 "ssvector.h" 3 4 (static_cast (0)) # 177 "ssvector.h" ; val[index(n)] = 0; remove(n); } Real operator[](int i) const { return val[i]; } const int* indexMem() const { return idx; } const Real* values() const { return val; } const IdxSet& indices() const { return *this; } int* altIndexMem() { unSetup(); return idx; } Real* altValues() { unSetup(); return val; } IdxSet& altIndices() { unSetup(); return *this; } SSVector& operator+=(const Vector& vec); SSVector& operator+=(const SVector& vec); SSVector& operator+=(const SSVector& vec); SSVector& operator-=(const Vector& vec); SSVector& operator-=(const SVector& vec); SSVector& operator-=(const SSVector& vec); SSVector& operator*=(Real x); SSVector& multAdd(Real x, const SSVector& vec); SSVector& multAdd(Real x, const SVector& vec); SSVector& multAdd(Real x, const Vector& vec); SSVector& assign2product(const SSVector& x, const SVSet& A); SSVector& assign2product4setup(const SVSet& A, const SSVector& x); SSVector& assign2productAndSetup(const SVSet& A, SSVector& x); Real maxAbs() const; Real length() const; Real length2() const; int dim() const { return dimen; } void reDim (int newdim); void setSize(int n) { # 289 "ssvector.h" 3 4 (static_cast (0)) # 289 "ssvector.h" ; # 290 "ssvector.h" 3 4 (static_cast (0)) # 290 "ssvector.h" ; unSetup(); num = n; } void reMem(int newsize); void clear (); bool isConsistent() const; explicit SSVector(int p_dim, Real p_eps = Param::epsilon()) : DVector (p_dim) , IdxSet () , setupStatus(true) , epsilon (p_eps) { len = (p_dim < 1) ? 1 : p_dim; spx_alloc(idx, len); Vector::clear(); } SSVector(const SSVector& vec) : DVector (vec) , IdxSet () , setupStatus(vec.setupStatus) , epsilon (vec.epsilon) { len = (vec.dim() < 1) ? 1 : vec.dim(); spx_alloc(idx, len); IdxSet::operator= ( vec ); } explicit SSVector(const Vector& vec, Real eps = Param::epsilon()) : DVector (vec) , IdxSet () , setupStatus(false) , epsilon (eps) { len = (vec.dim() < 1) ? 1 : vec.dim(); spx_alloc(idx, len); } void setup_and_assign(SSVector& rhs); SSVector& assign(const SVector& rhs); SSVector& operator=(const SSVector& rhs); SSVector& operator=(const SVector& rhs); SSVector& operator=(const Vector& rhs) { unSetup(); Vector::operator=(rhs); return *this; } ~SSVector() { if ( idx ) spx_free(idx); } private: SSVector& assign2product1(const SVSet& A, const SSVector& x); SSVector& assign2productShort(const SVSet& A, const SSVector& x); SSVector& assign2productFull(const SVSet& A, const SSVector& x); }; inline Vector& Vector::multAdd(Real x, const SSVector& svec) { # 381 "ssvector.h" 3 4 (static_cast (0)) # 381 "ssvector.h" ; if (svec.isSetup()) { const int* idx = svec.indexMem(); for(int i = 0; i < svec.size(); i++) val[idx[i]] += x * svec[idx[i]]; } else { # 392 "ssvector.h" 3 4 (static_cast (0)) # 392 "ssvector.h" ; for(int i = 0; i < dim(); i++) val[i] += x * svec.val[i]; } return *this; } inline Vector& Vector::assign(const SSVector& svec) { # 404 "ssvector.h" 3 4 (static_cast (0)) # 404 "ssvector.h" ; if (svec.isSetup()) { const int* idx = svec.indexMem(); for(int i = svec.size(); i > 0; i--) { val[*idx] = svec.val[*idx]; idx++; } } else operator= (static_cast(svec)); return *this; } inline Vector& Vector::operator=(const SSVector& vec) { if (vec.isSetup()) { clear (); assign(vec); } else operator= (static_cast(vec)); return *this; } inline Real Vector::operator*(const SSVector& v) const { # 437 "ssvector.h" 3 4 (static_cast (0)) # 437 "ssvector.h" ; if (v.isSetup()) { const int* idx = v.indexMem(); Real x = 0; for(int i = v.size(); i > 0; i--) { x += val[*idx] * v.val[*idx]; idx++; } return x; } else return operator*(static_cast(v)); } } # 31 "dsvector.h" 2 namespace soplex { # 46 "dsvector.h" class DSVector : public SVector { friend class SLinSolver; private: Element* theelem; void allocMem(int n); void makeMem(int n) { if (max() - size() < ++n) setMax(size() + n); } public: DSVector& operator=(const SSVector& sv) { int n = sv.size(); clear(); makeMem(n); SVector::operator=(sv); return *this; } DSVector& operator=(const SVector& sv) { int n = sv.size(); clear(); makeMem(n); SVector::operator=(sv); return *this; } DSVector& operator=(const DSVector& sv) { if (this != &sv) { int n = sv.size(); clear(); makeMem(n); SVector::operator=(sv); } return *this; } DSVector& operator=(const Vector& vec); void add(const SVector& sv) { int n = sv.size(); clear(); makeMem(n); SVector::add(sv); } void add(int i, Real v) { makeMem(1); SVector::add(i, v); } void add(int n, const int i[], const Real v[]) { makeMem(n); SVector::add(n, i, v); } void setMax(int newmax = 1); explicit DSVector(const Vector& vec); explicit DSVector(const SVector& old); explicit DSVector(const SSVector& old); DSVector(const DSVector& old); explicit DSVector(int n = 8); ~DSVector(); bool isConsistent() const; }; } # 30 "lprow.h" 2 namespace soplex { # 61 "lprow.h" class LPRow { private: Real left; Real right; DSVector vec; public: enum Type { LESS_EQUAL, EQUAL, GREATER_EQUAL, RANGE }; Type type() const; void setType(Type type); Real value() const; Real lhs() const { return left; } void setLhs(Real p_left) { left = p_left; } Real rhs() const { return right; } void setRhs(Real p_right) { right = p_right; } const SVector& rowVector() const { return vec; } void setRowVector(const DSVector& p_vec) { vec = p_vec; } explicit LPRow(int defDim = 0) : left(0), right(infinity), vec(defDim) {} LPRow(const LPRow& row) : left(row.left), right(row.right), vec(row.vec) {} LPRow(Real p_lhs, const SVector& p_rowVector, Real p_rhs) : left(p_lhs), right(p_rhs), vec(p_rowVector) {} LPRow(const SVector& rowVector, Type type, Real value); bool isConsistent() const { return vec.isConsistent(); } }; } # 37 "spxlp.h" 2 # 1 "lpcol.h" 1 # 24 "lpcol.h" #define _LPCOL_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "lpcol.h" 2 # 1 "spxdefines.h" 1 # 29 "lpcol.h" 2 # 1 "dsvector.h" 1 # 30 "lpcol.h" 2 namespace soplex { # 50 "lpcol.h" class LPCol { private: Real up; Real low; Real object; DSVector vec; public: Real obj() const { return object; } void setObj(Real p_object) { object = p_object; } Real upper() const { return up; } void setUpper(Real p_up) { up = p_up; } Real lower() const { return low; } void setLower(Real p_low) { low = p_low; } const SVector& colVector() const { return vec; } void setColVector(const SVector& p_vec) { vec = p_vec; } LPCol(const LPCol& old) : up(old.up), low(old.low), object(old.object), vec(old.vec) {} explicit LPCol(int defDim = 0) : up(infinity), low(0), object(0), vec(defDim) {} LPCol(Real p_obj, const SVector& p_vector, Real p_upper, Real p_lower) : up(p_upper), low(p_lower), object(p_obj), vec(p_vector) {} bool isConsistent() const { return vec.isConsistent(); } }; } # 38 "spxlp.h" 2 # 1 "lprowset.h" 1 # 24 "lprowset.h" #define _LPROWSET_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 28 "lprowset.h" 2 # 1 "spxdefines.h" 1 # 30 "lprowset.h" 2 # 1 "lprow.h" 1 # 31 "lprowset.h" 2 # 1 "dvector.h" 1 # 32 "lprowset.h" 2 # 1 "svset.h" 1 # 33 "lprowset.h" 2 # 1 "datakey.h" 1 # 34 "lprowset.h" 2 namespace soplex { # 51 "lprowset.h" class LPRowSet : protected SVSet { private: DVector left; DVector right; public: int num() const { return SVSet::num(); } int max() const { return SVSet::max(); } const Vector& lhs() const { return left; } Vector& lhs() { return left; } Real lhs(int i) const { return left[i]; } Real& lhs(int i) { return left[i]; } Real lhs(const DataKey& k) const { return left[number(k)]; } Real& lhs(const DataKey& k) { return left[number(k)]; } const Vector& rhs() const { return right; } Vector& rhs() { return right; } Real rhs(int i) const { return right[i]; } Real& rhs(int i) { return right[i]; } Real rhs(const DataKey& k) const { return right[number(k)]; } Real& rhs(const DataKey& k) { return right[number(k)]; } SVector& rowVector_w(int i) { return operator[](i); } const SVector& rowVector(int i) const { return operator[](i); } SVector& rowVector_w(const DataKey& k) { return operator[](k); } const SVector& rowVector(const DataKey& k) const { return operator[](k); } LPRow::Type type(int i) const { if (rhs(i) >= infinity) return LPRow::GREATER_EQUAL; if (lhs(i) <= -infinity) return LPRow::LESS_EQUAL; if (lhs(i) == rhs(i)) return LPRow::EQUAL; return LPRow::RANGE; } LPRow::Type type(const DataKey& k) const { return type(number(k)); } void setType(int i, LPRow::Type type); Real value(int i) const { if (rhs(i) < infinity) return rhs(i); else { # 191 "lprowset.h" 3 4 (static_cast (0)) # 191 "lprowset.h" ; return lhs(i); } } Real value(const DataKey& k) const { return value(number(k)); } DataKey key(int i) const { return SVSet::key(i); } int number(const DataKey& k) const { return SVSet::number(k); } int has(const DataKey& k) const { return SVSet::has(k); } # 234 "lprowset.h" void add(const LPRow& row) { DataKey k; add(k, row); } void add(DataKey& pkey, const LPRow& prow) { add(pkey, prow.lhs(), prow.rowVector(), prow.rhs()); } void add(Real plhs, const SVector& prowVector, Real prhs) { DataKey k; add(k, plhs, prowVector, prhs); } void add(DataKey& key, Real lhs, const SVector& rowVector, Real rhs); void add(const LPRowSet& set); void add(DataKey key[], const LPRowSet& set); void xtend(int n, int newmax) { SVSet::xtend(rowVector_w(n), newmax); } void xtend(const DataKey& pkey, int pnewmax) { SVSet::xtend(rowVector_w(pkey), pnewmax); } void add2(const DataKey& k, int n, int idx[], Real val[]) { SVSet::add2(rowVector_w(k), n, idx, val); } void add2(int i, int n, int idx[], Real val[]) { SVSet::add2(rowVector_w(i), n, idx, val); } SVector& create(int pnonzeros = 0, Real plhs = 0, Real prhs = 1) { DataKey k; return create(k, pnonzeros, plhs, prhs); } SVector& create(DataKey& nkey, int nonzeros = 0, Real lhs = 0, Real rhs = 1); # 300 "lprowset.h" void remove(int i); void remove(const DataKey& k) { remove(number(k)); } void remove(int perm[]); void remove(int nums[], int n) { DataArray perm(num()); remove(nums, n, perm.get_ptr()); } void remove(int nums[], int n, int* perm); void clear(); # 333 "lprowset.h" void reMax(int newmax = 0) { SVSet::reMax(newmax); left.reSize (max()); right.reSize(max()); } int memSize() const { return SVSet::memSize(); } int memMax() const { return SVSet::memMax(); } void memRemax(int newmax) { SVSet::memRemax(newmax); } void memPack() { SVSet::memPack(); } bool isConsistent() const; # 377 "lprowset.h" LPRowSet(int pmax = -1, int pmemmax = -1) : SVSet(pmax, pmemmax), left(0), right(0) { } LPRowSet& operator=(const LPRowSet& rs) { if (this != &rs) { SVSet::operator=(rs); left = rs.left; right = rs.right; } return *this; } }; } # 39 "spxlp.h" 2 # 1 "lpcolset.h" 1 # 24 "lpcolset.h" #define _LPCOLSET_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "lpcolset.h" 2 # 1 "spxdefines.h" 1 # 29 "lpcolset.h" 2 # 1 "lpcol.h" 1 # 30 "lpcolset.h" 2 # 1 "dvector.h" 1 # 31 "lpcolset.h" 2 # 1 "svset.h" 1 # 32 "lpcolset.h" 2 # 1 "datakey.h" 1 # 33 "lpcolset.h" 2 namespace soplex { # 50 "lpcolset.h" class LPColSet : protected SVSet { private: DVector low; DVector up; DVector object; public: int num() const { return SVSet::num(); } int max() const { return SVSet::max(); } const Vector& obj() const { return object; } Vector& obj() { return object; } Real obj(int i) const { return object[i]; } Real& obj(int i) { return object[i]; } Real obj(const DataKey& k) const { return object[number(k)]; } Real& obj(const DataKey& k) { return object[number(k)]; } const Vector& lower() const { return low; } Vector& lower() { return low; } Real lower(int i) const { return low[i]; } Real& lower(int i) { return low[i]; } Real lower(const DataKey& k) const { return low[number(k)]; } Real& lower(const DataKey& k) { return low[number(k)]; } const Vector& upper() const { return up; } Vector& upper() { return up; } Real upper(int i) const { return up[i]; } Real& upper(int i) { return up[i]; } Real upper(const DataKey& k) const { return up[number(k)]; } Real& upper(const DataKey& k) { return up[number(k)]; } SVector& colVector_w(int i) { return operator[](i); } const SVector& colVector(int i) const { return operator[](i); } SVector& colVector_w(const DataKey& k) { return operator[](k); } const SVector& colVector(const DataKey& k) const { return operator[](k); } DataKey key(int i) const { return SVSet::key(i); } int number(const DataKey& k) const { return SVSet::number(k); } int has(const DataKey& k) const { return SVSet::has(k); } # 223 "lpcolset.h" void add(const LPCol& pcol) { DataKey k; add(k, pcol); } void add(DataKey& pkey, const LPCol& pcol) { add(pkey, pcol.obj(), pcol.lower(), pcol.colVector(), pcol.upper()); } void add(Real pobj, Real plower, const SVector& pcolVector, Real pupper) { DataKey k; add(k, pobj, plower, pcolVector, pupper); } void add (DataKey& key, Real obj, Real lower, const SVector& colVector, Real upper); void add(const LPColSet& set); void add(DataKey key[], const LPColSet& set); void xtend(int n, int newmax) { SVSet::xtend(colVector_w(n), newmax); } void xtend(const DataKey& pkey, int pnewmax) { SVSet::xtend(colVector_w(pkey), pnewmax); } void add2(const DataKey& k, int n, int idx[], Real val[]) { SVSet::add2(colVector_w(k), n, idx, val); } void add2(int i, int n, int idx[], Real val[]) { SVSet::add2(colVector_w(i), n, idx, val); } SVector& create(int pnonzeros = 0, Real pobj = 1, Real plw = 0, Real pupp = 1) { DataKey k; return create(k, pnonzeros, pobj, plw, pupp); } SVector& create(DataKey& nkey, int nonzeros = 0, Real obj = 1, Real low = 0, Real up = 1); # 293 "lpcolset.h" void remove(int i); void remove(const DataKey& k) { remove(number(k)); } void remove(int perm[]); void remove(int nums[], int n) { DataArray < int > perm(num()); remove(nums, n, perm.get_ptr()); } void remove(int nums[], int n, int* perm); void clear(); # 323 "lpcolset.h" void reMax(int newmax = 0) { SVSet::reMax (newmax); up.reSize (max()); low.reSize (max()); object.reSize(max()); } int memSize() const { return SVSet::memSize(); } int memMax() const { return SVSet::memMax(); } void memRemax(int newmax) { SVSet::memRemax(newmax); } void memPack() { SVSet::memPack(); } bool isConsistent() const; # 371 "lpcolset.h" LPColSet(int pmax = -1, int pmemmax = -1) : SVSet(pmax, pmemmax), low(0), up(0), object(0) { } LPColSet& operator=(const LPColSet& rs) { if (this != &rs) { SVSet::operator=(rs); low = rs.low; up = rs.up; object = rs.object; } return *this; } }; } # 40 "spxlp.h" 2 # 1 "nameset.h" 1 # 24 "nameset.h" #define _NAMESET_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "nameset.h" 2 # 1 "spxdefines.h" 1 # 29 "nameset.h" 2 # 1 "dataset.h" 1 # 30 "nameset.h" 2 # 1 "datahashtable.h" 1 # 24 "datahashtable.h" #define _DATAHAHSTABLE_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 28 "datahashtable.h" 2 # 1 "spxdefines.h" 1 # 30 "datahashtable.h" 2 # 1 "message.h" 1 # 20 "message.h" namespace soplex { extern bool msginconsistent(const char* name, const char* file, int line); #define MSGinconsistent(name) msginconsistent(name, __FILE__, __LINE__) } # 31 "datahashtable.h" 2 namespace soplex { # 76 "datahashtable.h" template < class HashItem, class Info > class DataHashTable { private: template < class ElemHashItem, class ElemInfo > class Element { public: ElemHashItem item; ElemInfo info; enum { FREE, RELEASED, USED } stat; }; typedef Element< HashItem, Info > Elem; DataArray < Elem > m_elem; int m_hashsize; int m_used; int (*m_hashfun) (const HashItem*); Real m_memfactor; public: bool has(const HashItem& h) const { return index(h) >= 0; } const Info* get(const HashItem& h) const { int i = index(h); return (i >= 0) ? &m_elem[i].info : 0; } const Info& operator[](const HashItem& h) const { # 135 "datahashtable.h" 3 4 (static_cast (0)) # 135 "datahashtable.h" ; return m_elem[index(h)].info; } void add(const HashItem& h, const Info& info) { # 148 "datahashtable.h" 3 4 (static_cast (0)) # 148 "datahashtable.h" ; if (m_used >= m_elem.size()) reMax(int(m_memfactor * m_used) + 1); # 153 "datahashtable.h" 3 4 (static_cast (0)) # 153 "datahashtable.h" ; int i; for(i = (*m_hashfun)(&h) % m_elem.size(); m_elem[i].stat == Elem::USED; i = (i + m_hashsize) % m_elem.size()) ; # 162 "datahashtable.h" 3 4 (static_cast (0)) # 162 "datahashtable.h" ; m_elem[i].stat = Elem::USED; m_elem[i].info = info; m_elem[i].item = h; m_used++; # 170 "datahashtable.h" 3 4 (static_cast (0)) # 170 "datahashtable.h" ; } void remove(const HashItem& h) { # 176 "datahashtable.h" 3 4 (static_cast (0)) # 176 "datahashtable.h" ; m_elem[index(h)].stat = Elem::RELEASED; m_used--; # 179 "datahashtable.h" 3 4 (static_cast (0)) # 179 "datahashtable.h" ; } void clear() { for(int i = 0; i < m_elem.size(); i++) m_elem[i].stat = Elem::FREE; m_used = 0; } void reMax (int newSize = -1, int newHashSize = 0) { DataArray< Elem > save(m_elem); m_elem.reSize(newSize < m_used ? m_used : newSize); clear(); m_hashsize = (newHashSize < 1) ? autoHashSize() : newHashSize; for(int i = 0; i < save.size(); i++) if (save[i].stat == Elem::USED) add(save[i].item, save[i].info); } bool isConsistent() const { int total = 0; for(int i = 0; i < m_elem.size(); i++) { if (m_elem[i].stat == Elem::USED) { total++; if (!has(m_elem[i].item)) return msginconsistent("DataHashTable", "datahashtable.h", 220); } } if (total != m_used) return msginconsistent("DataHashTable", "datahashtable.h", 224); return m_elem.isConsistent(); } # 241 "datahashtable.h" explicit DataHashTable( int (*hashfun)(const HashItem*), int maxsize = 256, int hashsize = 0, Real factor = 2.0) : m_elem(maxsize) , m_hashfun(hashfun) , m_memfactor(factor) { clear(); m_hashsize = (hashsize < 1) ? autoHashSize() : hashsize; # 254 "datahashtable.h" 3 4 (static_cast (0)) # 254 "datahashtable.h" ; } private: int autoHashSize() const { DataArray< bool > prime(m_elem.size()); int hashsize = 1; int maxsize = m_elem.size(); int i; for (i = 2; i < maxsize; i++) prime[i] = true; for (i = 2; i < maxsize; ++i) { if (prime[i]) { for (int j = i; j < maxsize; j += i) prime[j] = false; if (m_elem.size() % i != 0) { hashsize *= i; if (hashsize > maxsize) { hashsize /= i; break; } } } } return hashsize; } # 306 "datahashtable.h" int index(const HashItem& h) const { if (m_used == 0) return -1; # 311 "datahashtable.h" 3 4 (static_cast (0)) # 311 "datahashtable.h" ; int i = (*m_hashfun)(&h) % m_elem.size(); int j = i; while(m_elem[i].stat != Elem::FREE) { if ( (m_elem[i].stat == Elem::USED) && (m_elem[i].item == h)) return i; i = (i + m_hashsize) % m_elem.size(); if (i == j) break; } return -1; } DataHashTable& operator=(const DataHashTable& base); DataHashTable(const DataHashTable& base); }; } # 31 "nameset.h" 2 # 1 "datakey.h" 1 # 32 "nameset.h" 2 namespace soplex { # 63 "nameset.h" class NameSet { public: class Name { private: static const char deflt; public: const char *name; friend int operator==(const Name& n1, const Name& n2) { return (strcmp (n1.name, n2.name) == 0); } friend std::ostream& operator<<(std::ostream& out, const Name& n) { return out << n.name; } bool isConsistent () const { return (name != 0); } Name() : name(&deflt) {} Name (const Name& str) : name(str.name) {} Name (const char* str) : name(str) {} }; private: DataSet < int > set; char* mem; int memmax; int memused; DataHashTable < Name, DataKey > hashtab; public: const char* operator[](int pnum) const { return &mem[set[pnum]]; } const char* operator[](DataKey pkey) const { return &mem[set[pkey]]; } int num() const { return set.num(); } int max() const { return set.max(); } int size() const { return set.size(); } int memMax() const { return memmax; } int memSize() const { return memused; } DataKey key(int pnum) const { return set.key(pnum); } DataKey key(const char* str) const { const Name nam(str); return (*hashtab.get(nam)); } int number(DataKey pkey) const { return set.number(pkey); } int number(const char *str) const { const Name nam(str); if (hashtab.has(nam)) return number(*hashtab.get(nam)); else return -1; } int has(int pnum) const { return set.has(pnum); } int has(const char* str) const { const Name nam(str); return hashtab.has(nam); } int has(DataKey pkey) const { return set.has(pkey); } void add(const char* str); void add(DataKey& key, const char* str); void add(const NameSet& set); void add(DataKey key[], const NameSet& nset); void remove(DataKey key); void remove(int pnum) { remove(key(pnum)); } void remove(const char* str); void remove(DataKey keys[], int n); void remove(int nums[], int n); void remove(int dstat[]); void clear(); void reMax(int newmax = 0); void memRemax(int newmax = 0); void memPack(); # 282 "nameset.h" Real factor; Real memFactor; bool isConsistent() const; # 308 "nameset.h" NameSet(int max = 10000, int mmax = -1, Real fac = 2, Real memFac = 2); ~NameSet(); private: NameSet(const NameSet& old); NameSet& operator=(const NameSet& rhs); }; extern std::ostream& operator<<(std::ostream& s, const NameSet& nset); } # 41 "spxlp.h" 2 namespace soplex { class SoPlex; # 72 "spxlp.h" class SPxLP : protected LPRowSet, protected LPColSet { friend class SPxBasis; friend class SPxScaler; friend class SPxEquili; friend int getmarsz (SoPlex*); friend int getmartz (SoPlex*); friend std::ostream& operator<<(std::ostream& os, const SPxLP& lp); public: enum SPxSense { MAXIMIZE = 1, MINIMIZE = -1 }; private: SPxSense thesense; public: int nRows() const { return LPRowSet::num(); } int nCols() const { return LPColSet::num(); } void getRow(int i, LPRow& row) const; void getRow(SPxRowId id, LPRow& row) const { getRow(number(id), row); } void getRows(int start, int end, LPRowSet& set) const; const SVector& rowVector(int i) const { return LPRowSet::rowVector(i); } const SVector& rowVector(SPxRowId& id) const { return LPRowSet::rowVector(id); } const Vector& rhs() const { return LPRowSet::rhs(); } Real rhs(int i) const { return LPRowSet::rhs(i); } Real& rhs(int i) { return LPRowSet::rhs(i); } Real rhs(SPxRowId& id) const { return LPRowSet::rhs(id); } const Vector& lhs() const { return LPRowSet::lhs(); } Real lhs(int i) const { return LPRowSet::lhs(i); } Real& lhs(int i) { return LPRowSet::lhs(i); } Real lhs(SPxRowId& id) const { return LPRowSet::lhs(id); } LPRow::Type rowType(int i) const { return LPRowSet::type(i); } LPRow::Type rowType(const SPxRowId& id) const { return LPRowSet::type(id); } void getCol(int i, LPCol& column) const; void getCol(SPxColId id, LPCol& col) const { getCol(number(id), col); } void getCols(int start, int end, LPColSet& set) const; const SVector& colVector(int i) const { return LPColSet::colVector(i); } const SVector& colVector(SPxColId& id) const { return LPColSet::colVector(id); } void getObj(Vector& obj) const; Real obj(int i) const { return spxSense() * maxObj(i); } Real obj(SPxColId& id) const { return spxSense() * maxObj(id); } const Vector& maxObj() const { return LPColSet::obj(); } Real maxObj(int i) const { return LPColSet::obj(i); } Real& maxObj(int i) { return LPColSet::obj(i); } Real maxObj(SPxColId& id) const { return LPColSet::obj(id); } const Vector& upper() const { return LPColSet::upper(); } Real upper(int i) const { return LPColSet::upper(i); } Real& upper(int i) { return LPColSet::upper(i); } Real upper(SPxColId& id) const { return LPColSet::upper(id); } const Vector& lower() const { return LPColSet::lower(); } Real lower(int i) const { return LPColSet::lower(i); } Real& lower(int i) { return LPColSet::lower(i); } Real lower(SPxColId& id) const { return LPColSet::lower(id); } SPxSense spxSense() const { return thesense; } int number(const SPxRowId& id) const { return LPRowSet::number(id); } int number(const SPxColId& id) const { return LPColSet::number(id); } int number(const SPxId& id) const { return (id.type() == SPxId::COL_ID) ? LPColSet::number(id) : LPRowSet::number(id); } SPxRowId rId(int n) const { return SPxRowId(LPRowSet::key(n)); } SPxColId cId(int n) const { return SPxColId(LPColSet::key(n)); } virtual void addRow(const LPRow& row) { doAddRow(row); } virtual void addRow(SPxRowId& id, const LPRow& row) { addRow(row); id = rId(nRows() - 1); } virtual void addRows(const LPRowSet& pset) { doAddRows(pset); } virtual void addRows(SPxRowId id[], const LPRowSet& set); virtual void addCol(const LPCol& col) { doAddCol(col); } virtual void addCol(SPxColId& id, const LPCol& col) { addCol(col); id = cId(nCols() - 1); } virtual void addCols(const LPColSet& pset) { doAddCols(pset); } virtual void addCols(SPxColId id[], const LPColSet& set); virtual void removeRow(int i) { doRemoveRow(i); } virtual void removeRow(SPxRowId id) { removeRow(number(id)); } # 417 "spxlp.h" virtual void removeRows(int perm[]) { doRemoveRows(perm); } virtual void removeRows(SPxRowId id[], int n, int perm[] = 0); # 433 "spxlp.h" virtual void removeRows(int nums[], int n, int perm[] = 0); virtual void removeRowRange(int start, int end, int perm[] = 0); virtual void removeCol(int i) { doRemoveCol(i); } virtual void removeCol(SPxColId id) { removeCol(number(id)); } # 457 "spxlp.h" virtual void removeCols(int perm[]) { doRemoveCols(perm); } virtual void removeCols(SPxColId id[], int n, int perm[] = 0); # 473 "spxlp.h" virtual void removeCols(int nums[], int n, int perm[] = 0); virtual void removeColRange(int start, int end, int perm[] = 0); virtual void clear(); virtual bool read (std::istream& in, NameSet* rowNames = 0, NameSet* colNames = 0, DIdxSet* intVars = 0); virtual bool readLPF (std::istream& in, NameSet* rowNames = 0, NameSet* colNames = 0, DIdxSet* intVars = 0); virtual bool readMPS(std::istream& in, NameSet* rowNames = 0, NameSet* colNames = 0, DIdxSet* intVars = 0); virtual void writeMPS(std::ostream& out, const NameSet* rowNames, const NameSet* colNames, const DIdxSet* p_intvars = 0) const; virtual void changeObj(const Vector& newObj); virtual void changeObj(int i, Real newVal); virtual void changeObj(SPxColId id, Real newVal) { changeObj(number(id), newVal); } virtual void changeLower(const Vector& newLower); virtual void changeLower(int i, Real newLower); virtual void changeLower(SPxColId id, Real newLower) { changeLower(number(id), newLower); } virtual void changeUpper(const Vector& newUpper); virtual void changeUpper(int i, Real newUpper); virtual void changeUpper(SPxColId id, Real newUpper) { changeUpper(number(id), newUpper); } virtual void changeBounds(const Vector& newLower, const Vector& newUpper); virtual void changeBounds(int i, Real newLower, Real newUpper); virtual void changeBounds(SPxColId id, Real newLower, Real newUpper) { changeBounds(number(id), newLower, newUpper); } virtual void changeLhs(const Vector& newLhs); virtual void changeLhs(int i, Real newLhs); virtual void changeLhs(SPxRowId id, Real newLhs) { changeLhs(number(id), newLhs); } virtual void changeRhs(const Vector& newRhs); virtual void changeRhs(int i, Real newRhs); virtual void changeRhs(SPxRowId id, Real newRhs) { changeRhs(number(id), newRhs); } virtual void changeRange(const Vector& newLhs, const Vector& newRhs); virtual void changeRange(int i, Real newLhs, Real newRhs); virtual void changeRange(SPxRowId id, Real newLhs, Real newRhs) { changeRange(number(id), newLhs, newRhs); } virtual void changeRow(int i, const LPRow& newRow); virtual void changeRow(SPxRowId id, const LPRow& newRow) { changeRow(number(id), newRow); } virtual void changeCol(int i, const LPCol& newCol); virtual void changeCol(SPxColId id, const LPCol& newCol) { changeCol(number(id), newCol); } virtual void changeElement(int i, int j, Real val); virtual void changeElement(SPxRowId rid, SPxColId cid, Real val) { changeElement(number(rid), number(cid), val); } virtual void changeSense(SPxSense sns) { if (sns != thesense) LPColSet::obj() *= -1; thesense = sns; } bool isConsistent() const; protected: const LPRowSet* lprowset() const { return static_cast(this); } const LPColSet* lpcolset() const { return static_cast(this); } SVSet* rowset() { return reinterpret_cast(static_cast(this)); } SVSet* colset() { return reinterpret_cast(static_cast(this)); } virtual void doRemoveRow(int i); virtual void doRemoveCols(int perm[]); virtual void doRemoveRows(int perm[]); virtual void doRemoveCol(int i); virtual void addedRows(int) {} virtual void addedCols(int) {} void added2Set(SVSet& set, const SVSet& add, int n); private: SVector& colVector_w(int i) { return LPColSet::colVector_w(i); } SVector& rowVector_w(int i) { return LPRowSet::rowVector_w(i); } void doAddRow (const LPRow& row); void doAddRows(const LPRowSet& set); void doAddCol (const LPCol& col); void doAddCols(const LPColSet& set); const Vector& obj() const; public: SPxLP() { SPxLP::clear(); } virtual ~SPxLP() {} SPxLP& operator=(const SPxLP& old) { if (this != &old) { LPRowSet::operator=(old); LPColSet::operator=(old); thesense = old.thesense; } return *this; } }; } # 31 "soplex.h" 2 # 1 "spxbasis.h" 1 # 24 "spxbasis.h" #define _SPXBASIS_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxbasis.h" 2 # 1 "spxdefines.h" 1 # 29 "spxbasis.h" 2 # 1 "spxlp.h" 1 # 30 "spxbasis.h" 2 # 1 "svector.h" 1 # 31 "spxbasis.h" 2 # 1 "ssvector.h" 1 # 32 "spxbasis.h" 2 # 1 "dataarray.h" 1 # 33 "spxbasis.h" 2 # 1 "slinsolver.h" 1 # 24 "slinsolver.h" #define _SLINSOLVER_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 28 "slinsolver.h" 2 # 1 "spxdefines.h" 1 # 30 "slinsolver.h" 2 # 1 "svector.h" 1 # 31 "slinsolver.h" 2 # 1 "ssvector.h" 1 # 32 "slinsolver.h" 2 # 1 "dsvector.h" 1 # 33 "slinsolver.h" 2 # 1 "dvector.h" 1 # 34 "slinsolver.h" 2 # 1 "didxset.h" 1 # 35 "slinsolver.h" 2 namespace soplex { # 46 "slinsolver.h" class SLinSolver { public: enum Status { OK = 0, INSTABLE = 1, SINGULAR = 2, UNLOADED = 4, ERROR = 8 }; virtual Status status() const = 0; virtual void clear() = 0; virtual int memory() const = 0; virtual int dim() const = 0; virtual Status load(const SVector* vec[], int dim) = 0; virtual Real stability() const = 0; virtual Status change(int idx, const SVector& subst, const SSVector* eta = 0) = 0; virtual bool isConsistent() const = 0; # 130 "slinsolver.h" virtual void solve2right(Vector& x, Vector& b) = 0; virtual void solve2right(Vector& x, SSVector& b) = 0; virtual void solve2right(SSVector& x, Vector& b) = 0; virtual void solve2right(SSVector& x, SSVector& b) = 0; virtual void solveRight (Vector& x, const Vector& b) = 0; virtual void solveRight (Vector& x, const SVector& b) = 0; virtual void solveRight (SSVector& x, const Vector& b) = 0; virtual void solveRight (SSVector& x, const SVector& b) = 0; virtual void solveRight4update(SSVector& x, const SVector& b) = 0; virtual void solve2right4update(SSVector& x, Vector& two, const SVector& b, SSVector& rhs) = 0; virtual void solve2left(Vector& x, Vector& b) = 0; virtual void solve2left(Vector& x, SSVector& b) = 0; virtual void solve2left(SSVector& x, Vector& b) = 0; virtual void solve2left(SSVector& x, SSVector& b) = 0; virtual void solveLeft (Vector& x, const SVector& b) = 0; virtual void solveLeft (Vector& x, const Vector& b) = 0; virtual void solveLeft (SSVector& x, const SVector& b) = 0; virtual void solveLeft (SSVector& x, const Vector& b) = 0; virtual void solveLeft (SSVector& x, Vector& two, const SVector& b, SSVector& rhs2) = 0; virtual ~SLinSolver() {} }; } # 34 "spxbasis.h" 2 # 1 "nameset.h" 1 # 35 "spxbasis.h" 2 namespace soplex { class SoPlex; # 71 "spxbasis.h" class SPxBasis { public: enum SPxStatus { NO_PROBLEM = -2, SINGULAR = -1, REGULAR = 0, DUAL = 1, PRIMAL = 2, OPTIMAL = 3, UNBOUNDED = 4, INFEASIBLE = 5 }; class Desc { public: # 170 "spxbasis.h" enum Status { P_ON_LOWER = -4, P_ON_UPPER = -2, P_FREE = -1, P_FIXED = P_ON_UPPER + P_ON_LOWER, D_FREE = 1, D_ON_UPPER = 2, D_ON_LOWER = 4, D_ON_BOTH = D_ON_LOWER + D_ON_UPPER, D_UNDEFINED = 8 }; friend class SPxBasis; friend std::ostream& operator<<(std::ostream& os, const Status& stat); private: DataArray < Status > rowstat; DataArray < Status > colstat; DataArray < Status > * stat; DataArray < Status > * costat; public: int nCols() const { return colstat.size(); } int nRows() const { return rowstat.size(); } int dim() const { return stat->size(); } int coDim() const { return costat->size(); } Status& rowStatus(int i) { return rowstat[i]; } Status rowStatus(int i) const { return rowstat[i]; } const Status* rowStatus(void) const { return rowstat.get_const_ptr(); } Status& colStatus(int i) { return colstat[i]; } Status colStatus(int i) const { return colstat[i]; } const Status* colStatus(void) const { return colstat.get_const_ptr(); } Status& status(int i) { return (*stat)[i]; } Status status(int i) const { return (*stat)[i]; } const Status* status(void) const { return stat->get_const_ptr(); } Status& coStatus(int i) { return (*costat)[i]; } Status coStatus(int i) const { return (*costat)[i]; } const Status* coStatus(void) const { return costat->get_const_ptr(); } void reSize(int rowDim, int colDim); void dump() const; bool isConsistent() const; }; protected: SoPlex* theLP; # 307 "spxbasis.h" DataArray < SPxId > theBaseId; DataArray < const SVector* > matrix; bool matrixIsSetup; SLinSolver* factor; bool factorized; # 328 "spxbasis.h" int maxUpdates; Real nonzeroFactor; int iterCount; int updateCount; int nzCount; Real nzFac; Real lastFill; SPxId lastin; SPxId lastout; int lastidx; private: SPxStatus thestatus; Desc thedesc; public: SPxStatus status() const { return thestatus; } void setStatus(SPxStatus stat) { ; ; thestatus = stat; if( stat == NO_PROBLEM ) invalidate(); } const Desc& desc() const { return thedesc; } Desc& desc() { return thedesc; } Desc::Status dualColStatus(int i) const; Desc::Status dualStatus(const SPxColId& id) const; Desc::Status dualRowStatus(int i) const; Desc::Status dualStatus(const SPxRowId& id) const; Desc::Status dualStatus(const SPxId& id) const { return id.isSPxRowId() ? dualStatus(SPxRowId(id)) : dualStatus(SPxColId(id)); } SPxId& baseId(int i) { return theBaseId[i]; } SPxId baseId(int i) const { return theBaseId[i]; } const SVector& baseVec(int i) const { # 429 "spxbasis.h" 3 4 (static_cast (0)) # 429 "spxbasis.h" ; return *matrix[i]; } SPxId lastEntered() const { return lastin; } SPxId lastLeft() const { return lastout; } int lastIndex() const { return lastidx; } int lastUpdate() const { return updateCount; } int iteration() const { return iterCount; } SoPlex* solver() const { return theLP; } # 481 "spxbasis.h" Vector& multBaseWith(Vector& x) const; # 492 "spxbasis.h" Vector& multWithBase(Vector& x) const; Real stability() const { return factor->stability(); } void solve2 (Vector& x, Vector& rhs) { ; if (!factorized) factorize(); factor->solve2right(x, rhs); } void solve2 (Vector& x, SSVector& rhs) { ; if (!factorized) factorize(); factor->solve2right(x, rhs); } void solve2 (SSVector& x, Vector& rhs) { ; if (!factorized) factorize(); factor->solve2right(x, rhs); } void solve2 (SSVector& x, SSVector& rhs) { ; if (!factorized) factorize(); factor->solve2right(x, rhs); } void solve (Vector& x, const Vector& rhs) { ; if (!factorized) factorize(); factor->solveRight(x, rhs); } void solve (Vector& x, const SVector& rhs) { ; if (!factorized) factorize(); factor->solveRight(x, rhs); } void solve (SSVector& x, const SVector& rhs) { ; if (!factorized) factorize(); factor->solveRight(x, rhs); } void solve (SSVector& x, const Vector& rhs) { ; if (!factorized) factorize(); factor->solveRight(x, rhs); } # 567 "spxbasis.h" void solve4update(SSVector& x, const SVector& rhs) { ; if (!factorized) factorize(); factor->solveRight4update(x, rhs); } void solve4update(SSVector& x, Vector& y, const SVector& rhsx, SSVector& rhsy) { ; if (!factorized) factorize(); factor->solve2right4update(x, y, rhsx, rhsy); } void coSolve2(Vector& x, Vector& rhs) { ; if (!factorized) factorize(); factor->solve2left(x, rhs); } void coSolve2(Vector& x, SSVector& rhs) { ; if (!factorized) factorize(); factor->solve2left(x, rhs); } void coSolve2(SSVector& x, Vector& rhs) { ; if (!factorized) factorize(); factor->solve2left(x, rhs); } void coSolve2(SSVector& x, SSVector& rhs) { ; if (!factorized) factorize(); factor->solve2left(x, rhs); } void coSolve(Vector& x, const Vector& rhs) { ; if (!factorized) factorize(); factor->solveLeft(x, rhs); } void coSolve(Vector& x, const SVector& rhs) { ; if (!factorized) factorize(); factor->solveLeft(x, rhs); } void coSolve(SSVector& x, const SVector& rhs) { ; if (!factorized) factorize(); factor->solveLeft(x, rhs); } # 648 "spxbasis.h" void coSolve(SSVector& x, const Vector& rhs) { ; if (!factorized) factorize(); factor->solveLeft(x, rhs); } void coSolve(SSVector& x, Vector& y, const SVector& rhsx, SSVector& rhsy) { ; if (!factorized) factorize(); factor->solveLeft(x, y, rhsx, rhsy); } # 671 "spxbasis.h" void addedRows(int n); void removedRow(int i); void removedRows(int perm[]); void addedCols(int n); void removedCol(int i); void removedCols(int perm[]); void changedRow(int); void changedCol(int); void changedElement(int, int); # 723 "spxbasis.h" virtual void change(int i, SPxId& id, const SVector* enterVec, const SSVector* eta = 0); virtual bool readBasis(std::istream& in, const NameSet& rowNames, const NameSet& colNames); virtual void writeBasis(std::ostream& os, const NameSet& rownames, const NameSet& colnames); virtual void loadDesc(const Desc&); virtual void loadSolver(SLinSolver* solver); virtual void load(SoPlex* lp); virtual void unLoad() { ; theLP = 0; setStatus(NO_PROBLEM); } void invalidate(); void dump(); bool isConsistent() const; SPxBasis(); virtual ~SPxBasis() {} protected: void loadMatrixVecs(); void reDim(); virtual int doFactorize(); virtual void factorize(); void setRep(); }; } # 32 "soplex.h" 2 # 1 "array.h" 1 # 24 "array.h" #define _ARRAY_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "array.h" 2 # 1 "message.h" 1 # 20 "message.h" namespace soplex { extern bool msginconsistent(const char* name, const char* file, int line); #define MSGinconsistent(name) msginconsistent(name, __FILE__, __LINE__) } # 29 "array.h" 2 namespace soplex { # 64 "array.h" template < class T > class Array { protected: int num; T* data; public: T& operator[](int n) { # 75 "array.h" 3 4 (static_cast (0)) # 75 "array.h" ; return data[n]; } const T& operator[](int n) const { # 81 "array.h" 3 4 (static_cast (0)) # 81 "array.h" ; return data[n]; } void append(int n) { insert(size(), n); } void append(int n, const T* p_array) { insert(size(), n, p_array); } void append(const Array& p_array) { insert(size(), p_array); } void insert(int i, int n) { # 104 "array.h" 3 4 (static_cast (0)) # 104 "array.h" ; if (n > 0) { int k; T *olddata = data; data = new T[size() + n]; # 110 "array.h" 3 4 (static_cast (0)) # 110 "array.h" ; if (size() > 0) { for (k = 0; k < i; ++k) data[k] = olddata[k]; for (; k < size(); ++k) data[k + n] = olddata[k]; delete[] olddata; } num += n; } } void insert(int i, int n, const T* p_array) { insert(i, n); for (n--; n >= 0; --n) data[n + i] = p_array[n]; } void insert(int i, const Array& p_array) { int n = p_array.size(); insert(i, n); for (n--; n >= 0; --n) data[n + i] = p_array.data[n]; } void remove(int n = 0, int m = 1) { # 143 "array.h" 3 4 (static_cast (0)) # 143 "array.h" ; if (m > 0 && n < size()) { T *olddata = data; m -= (n + m <= size()) ? 0 : n + m - size(); num -= m; if (num > 0) { int i; data = new T[num]; for (i = 0; i < n; ++i) data[i] = olddata[i]; for (; i < num; ++i) data[i] = olddata[i + m]; } delete[] olddata; } } void clear() { if (num > 0) { num = 0; delete[] data; } } int size() const { return num; } void reSize(int newsize) { if (newsize < size()) remove(newsize, size() - newsize); else if (newsize > size()) append(newsize - size()); } Array& operator=(const Array& rhs) { if (this != &rhs) { reSize(rhs.size()); for (int i = 0; i < size(); ++i) data[i] = rhs.data[i]; } return *this; } Array(int n = 0) : data(0) { # 209 "array.h" 3 4 (static_cast (0)) # 209 "array.h" ; num = n; if (num > 0) { data = new T[num]; # 214 "array.h" 3 4 (static_cast (0)) # 214 "array.h" ; } } Array(const Array& old) : num(old.num) { if (num > 0) { data = new T[num]; # 225 "array.h" 3 4 (static_cast (0)) # 225 "array.h" ; *this = old; } } ~Array() { if (num > 0) delete[] data; } bool isConsistent() const { if (num < 0 || (num > 0 && data == 0)) return msginconsistent("Array", "array.h", 241); return true; } }; } # 33 "soplex.h" 2 # 1 "random.h" 1 # 24 "random.h" #define _RANDOM_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "random.h" 2 namespace soplex { #define RSTEP 1103515245 #define RDIVIDE 65536 #define RADD 12345 #define RMULT 32768 # 42 "random.h" class Random { private: Real themin; Real themax; unsigned long next; Real next_random () { next = next * 1103515245 + 12345; return last_random(); } Real last_random() const { Real i = int ((next / 65536) % 32768); return ( i / 32768 ); } public: Real min() const { return themin; } Real max() const { return themax; } operator Real() { return (themin + (themax - themin) * next_random()); } Real last() const { return (themin + (themax - themin) * last_random()); } void setMin(Real p_min) { themin = p_min; } void setMax(Real p_max) { themax = p_max; } void setSeed(Real seed) { seed = (seed - themin) / (themax - themin); next = static_cast(seed * 32768 * 65536); } bool isConsistent() const { return themin <= themax; } Random(Real p_min = 0, Real p_max = 1, Real p_seed = 0.5) : themin(p_min), themax(p_max) { if (p_seed < p_min || p_seed > p_max) p_seed = (p_min + p_max) / 2; setSeed(p_seed); } }; } # 34 "soplex.h" 2 # 1 "unitvector.h" 1 # 25 "unitvector.h" #define _UNITVECTOR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 28 "unitvector.h" 2 # 1 "spxdefines.h" 1 # 29 "unitvector.h" 2 # 1 "svector.h" 1 # 30 "unitvector.h" 2 namespace soplex { # 46 "unitvector.h" class UnitVector : public SVector { private: Element themem; Element themem1; public: Real value(int n) const { # 59 "unitvector.h" 3 4 (static_cast (0)) # 59 "unitvector.h" ; return 1; } UnitVector(int i = 0) : SVector(2, &themem) { add(i, 1.0); } UnitVector(const UnitVector& rhs) : SVector(2, &themem) , themem (rhs.themem) , themem1(rhs.themem1) {} UnitVector& operator=(const UnitVector& rhs) { if ( this != &rhs ) themem1 = rhs.themem1; return *this; } bool isConsistent() const; }; } # 35 "soplex.h" 2 # 1 "updatevector.h" 1 # 25 "updatevector.h" #define _UPDATEVECTOR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 28 "updatevector.h" 2 # 1 "spxdefines.h" 1 # 31 "updatevector.h" 2 # 1 "dvector.h" 1 # 32 "updatevector.h" 2 # 1 "ssvector.h" 1 # 33 "updatevector.h" 2 namespace soplex { # 57 "updatevector.h" class UpdateVector : public DVector { Real theval; SSVector thedelta; public: Real& value() { return theval; } Real value() const { return theval; } SSVector& delta() { return thedelta; } const SSVector& delta() const { return thedelta; } const IdxSet& idx() const { return thedelta.indices(); } void update() { multAdd(theval, thedelta); } void clear() { DVector::clear(); clearUpdate(); } void clearUpdate() { thedelta.clear(); theval = 0; } void reDim(int newdim) { DVector::reDim(newdim); thedelta.reDim(newdim); } UpdateVector& operator=(const DVector& rhs) { if ( this != & rhs ) DVector::operator=(rhs); return *this; } UpdateVector& operator=(const UpdateVector& rhs); UpdateVector(int p_dim , Real p_eps ) : DVector (p_dim) , theval (0) , thedelta(p_dim, p_eps) {} bool isConsistent() const; }; } # 36 "soplex.h" 2 namespace soplex { class SPxPricer; class SPxRatioTester; class SPxStarter; class SPxScaler; class SPxSimplifier; # 77 "soplex.h" class SoPlex : public SPxLP, protected SPxBasis { friend class SPxFastRT; public: # 94 "soplex.h" enum Representation { ROW = -1, COLUMN = 1 }; # 113 "soplex.h" enum Type { # 123 "soplex.h" ENTER = -1, # 132 "soplex.h" LEAVE = 1 }; enum Pricing { FULL, # 162 "soplex.h" PARTIAL }; enum VarStatus { ON_UPPER, ON_LOWER, FIXED, ZERO, BASIC }; enum Status { ERROR = -9, NOT_INIT = -8, ABORT_TIME = -7, ABORT_ITER = -6, ABORT_VALUE = -5, SINGULAR = -4, NO_PROBLEM = -3, REGULAR = -2, RUNNING = -1, UNKNOWN = 0, OPTIMAL = 1, UNBOUNDED = 2, INFEASIBLE = 3 }; private: Type theType; Pricing thePricing; Representation therep; Timer theTime; int maxIters; Real maxTime; Real maxValue; Status m_status; Real thedelta; Real theShift; Real lastShift; int m_maxCycle; int m_numCycle; bool initialized; Vector* solveVector2; SSVector* solveVector2rhs; Vector* coSolveVector2; SSVector* coSolveVector2rhs; Real cacheProductFactor; protected: Array < UnitVector > unitVecs; const SVSet* thevectors; const SVSet* thecovectors; int nNZEs; int coVecDim; DVector primRhs; UpdateVector primVec; DVector dualRhs; UpdateVector dualVec; UpdateVector addVec; DVector theURbound; DVector theLRbound; DVector theUCbound; DVector theLCbound; DVector theUBbound; DVector theLBbound; DVector* theFrhs; UpdateVector* theFvec; DVector* theCoPrhs; UpdateVector* theCoPvec; UpdateVector* thePvec; UpdateVector* theRPvec; UpdateVector* theCPvec; DVector* theUbound; DVector* theLbound; DVector* theCoUbound; DVector* theCoLbound; DVector theCoTest; DVector theTest; int leaveCount; int enterCount; SPxPricer* thepricer; SPxRatioTester* theratiotester; SPxStarter* thestarter; SPxScaler* thescaler; SPxSimplifier* thesimplifier; public: int version() const { return 121; } Representation rep() const { return therep; } Type type() const { return theType; } Pricing pricing() const { return thePricing; } # 329 "soplex.h" virtual bool read(std::istream& in, NameSet* rowNames = 0, NameSet* colNames = 0, DIdxSet* intVars = 0); virtual void loadLP(const SPxLP& LP); virtual void setSolver(SLinSolver* slu); virtual void setPricer(SPxPricer*); virtual void setTester(SPxRatioTester*); virtual void setStarter(SPxStarter*); virtual void setScaler(SPxScaler*); virtual void setSimplifier(SPxSimplifier*); virtual void loadBasis(const SPxBasis::Desc&); void setRep (Representation p_rep); void setType(Type tp); void setPricing(Pricing pr); virtual void reLoad(); virtual bool readFile(const char* filename, NameSet* rowNames = 0, NameSet* colNames = 0, DIdxSet* intVars = 0); virtual void dumpFile(const char* filename) const; virtual void clear(); virtual bool readBasisFile(const char* filename, const NameSet& rowNames, const NameSet& colNames); # 383 "soplex.h" virtual Status solve(); Status status() const; virtual Real value() const; # 401 "soplex.h" virtual Status getPrimal(Vector& vector) const; virtual Status getPrimalUnscaled(Vector& vector) const; # 421 "soplex.h" virtual Status getSlacks (Vector& vector) const; # 447 "soplex.h" virtual Status getDual (Vector& vector) const; # 460 "soplex.h" virtual Status getRdCost (Vector& vector) const; # 478 "soplex.h" virtual bool terminate (); # 487 "soplex.h" Real epsilon() const { return primVec.delta().epsilon; } Real delta() const { return thedelta; } void setDelta(Real d); # 514 "soplex.h" int maxCycle() const { return m_maxCycle; } int numCycle() const { return m_numCycle; } # 531 "soplex.h" private: void localAddRows(int start); void localAddCols(int start); protected: virtual void addedRows(int n); virtual void addedCols(int n); virtual void doRemoveRow(int i); virtual void doRemoveRows(int perm[]); virtual void doRemoveCol(int i); virtual void doRemoveCols(int perm[]); public: virtual void changeObj(const Vector& newObj); virtual void changeObj(int i, Real newVal); virtual void changeObj(SPxColId p_id, Real p_newVal) { changeObj(number(p_id), p_newVal); } virtual void changeLower(const Vector& newLower); virtual void changeLower(int i, Real newLower); virtual void changeLower(SPxColId p_id, Real p_newLower) { changeLower(number(p_id), p_newLower); } virtual void changeUpper(const Vector& newUpper); virtual void changeUpper(int i, Real newUpper); virtual void changeUpper(SPxColId p_id, Real p_newUpper) { changeUpper(number(p_id), p_newUpper); } virtual void changeBounds(const Vector& newLower, const Vector& newUpper); virtual void changeBounds(int i, Real newLower, Real newUpper); virtual void changeBounds( SPxColId p_id, Real p_newLower, Real p_newUpper) { changeBounds(number(p_id), p_newLower, p_newUpper); } virtual void changeLhs(const Vector& newLhs); virtual void changeLhs(int i, Real newLhs); virtual void changeLhs(SPxRowId p_id, Real p_newLhs) { changeLhs(number(p_id), p_newLhs); } virtual void changeRhs(const Vector& newRhs); virtual void changeRhs(int i, Real newRhs); virtual void changeRhs(SPxRowId p_id, Real p_newRhs) { changeRhs(number(p_id), p_newRhs); } virtual void changeRange(const Vector& newLhs, const Vector& newRhs); virtual void changeRange(int i, Real newLhs, Real newRhs); virtual void changeRange( SPxRowId p_id, Real p_newLhs, Real p_newRhs) { changeRange(number(p_id), p_newLhs, p_newRhs); } virtual void changeRow(int i, const LPRow& newRow); virtual void changeRow(SPxRowId p_id, const LPRow& p_newRow) { changeRow(number(p_id), p_newRow); } virtual void changeCol(int i, const LPCol& newCol); virtual void changeCol(SPxColId p_id, const LPCol& p_newCol) { changeCol(number(p_id), p_newCol); } virtual void changeElement(int i, int j, Real val); virtual void changeElement( SPxRowId rid, SPxColId cid, Real val) { changeElement(number(rid), number(cid), val); } virtual void changeSense(SPxSense sns); int dim() const { return thecovectors->num(); } int coDim() const { return thevectors->num(); } # 666 "soplex.h" SPxId id(int i) const { if (rep() == ROW) { SPxRowId rid = SPxLP::rId(i); return SPxId(rid); } else { SPxColId cid = SPxLP::cId(i); return SPxId(cid); } } SPxId coId(int i) const { if (rep() == ROW) { SPxColId cid = SPxLP::cId(i); return SPxId(cid); } else { SPxRowId rid = SPxLP::rId(i); return SPxId(rid); } } int isId(SPxId p_id) const { return p_id.info * therep > 0; } int isCoId(SPxId p_id) const { return p_id.info * therep < 0; } # 724 "soplex.h" const SVector& vector(int i) const { return (*thevectors)[i]; } const SVector& vector(const SPxRowId& rid) const { # 732 "soplex.h" 3 4 (static_cast (0)) # 732 "soplex.h" ; return (rep() == ROW) ? (*thevectors)[number(rid)] : static_cast(unitVecs[number(rid)]); } const SVector& vector(const SPxColId& cid) const { # 740 "soplex.h" 3 4 (static_cast (0)) # 740 "soplex.h" ; return (rep() == COLUMN) ? (*thevectors)[number(cid)] : static_cast(unitVecs[number(cid)]); } # 755 "soplex.h" const SVector& vector(const SPxId& p_id) const { # 757 "soplex.h" 3 4 (static_cast (0)) # 757 "soplex.h" ; return p_id.isSPxRowId() ? vector(SPxRowId(p_id)) : vector(SPxColId(p_id)); } const SVector& coVector(int i) const { return (*thecovectors)[i]; } const SVector& coVector(const SPxRowId& rid) const { # 775 "soplex.h" 3 4 (static_cast (0)) # 775 "soplex.h" ; return (rep() == COLUMN) ? (*thecovectors)[number(rid)] : static_cast(unitVecs[number(rid)]); } const SVector& coVector(const SPxColId& cid) const { # 783 "soplex.h" 3 4 (static_cast (0)) # 783 "soplex.h" ; return (rep() == ROW) ? (*thecovectors)[number(cid)] : static_cast(unitVecs[number(cid)]); } const SVector& coVector(const SPxId& p_id) const { # 797 "soplex.h" 3 4 (static_cast (0)) # 797 "soplex.h" ; return p_id.isSPxRowId() ? coVector(SPxRowId(p_id)) : coVector(SPxColId(p_id)); } const SVector& unitVector(int i) const { return unitVecs[i]; } # 816 "soplex.h" SPxBasis::Desc::Status varStatus(int i) const { return desc().status(i); } SPxBasis::Desc::Status covarStatus(int i) const { return desc().coStatus(i); } int isBasic(SPxBasis::Desc::Status stat) const { return (stat * rep() > 0); } int isBasic(SPxId p_id) const { # 836 "soplex.h" 3 4 (static_cast (0)) # 836 "soplex.h" ; return p_id.isSPxRowId() ? isBasic(SPxRowId(p_id)) : isBasic(SPxColId(p_id)); } int isBasic(SPxRowId rid) const { return isBasic(desc().rowStatus(number(rid))); } int isBasic(SPxColId cid) const { return isBasic(desc().colStatus(number(cid))); } int isRowBasic(int i) const { return isBasic(desc().rowStatus(i)); } int isColBasic(int i) const { return isBasic(desc().colStatus(i)); } int isBasic(int i) const { return isBasic(desc().status(i)); } int isCoBasic(int i) const { return isBasic(desc().coStatus(i)); } # 888 "soplex.h" UpdateVector& fVec() const { return *theFvec; } # 901 "soplex.h" const Vector& fRhs() const { return *theFrhs; } const Vector& ubBound() const { return theUBbound; } # 919 "soplex.h" Vector& ubBound() { return theUBbound; } const Vector& lbBound() const { return theLBbound; } # 937 "soplex.h" Vector& lbBound() { return theLBbound; } # 950 "soplex.h" const Vector& fTest() const { # 952 "soplex.h" 3 4 (static_cast (0)) # 952 "soplex.h" ; return theCoTest; } # 963 "soplex.h" UpdateVector& coPvec() const { return *theCoPvec; } # 976 "soplex.h" const Vector& coPrhs() const { return *theCoPrhs; } const Vector& ucBound() const { # 984 "soplex.h" 3 4 (static_cast (0)) # 984 "soplex.h" ; return *theCoUbound; } # 996 "soplex.h" Vector& ucBound() { # 998 "soplex.h" 3 4 (static_cast (0)) # 998 "soplex.h" ; return *theCoUbound; } const Vector& lcBound() const { # 1005 "soplex.h" 3 4 (static_cast (0)) # 1005 "soplex.h" ; return *theCoLbound; } # 1017 "soplex.h" Vector& lcBound() { # 1019 "soplex.h" 3 4 (static_cast (0)) # 1019 "soplex.h" ; return *theCoLbound; } # 1030 "soplex.h" const Vector& coTest() const { # 1032 "soplex.h" 3 4 (static_cast (0)) # 1032 "soplex.h" ; return theCoTest; } # 1043 "soplex.h" UpdateVector& pVec() const { return *thePvec; } const Vector& upBound() const { # 1050 "soplex.h" 3 4 (static_cast (0)) # 1050 "soplex.h" ; return *theUbound; } # 1062 "soplex.h" Vector& upBound() { # 1064 "soplex.h" 3 4 (static_cast (0)) # 1064 "soplex.h" ; return *theUbound; } const Vector& lpBound() const { # 1071 "soplex.h" 3 4 (static_cast (0)) # 1071 "soplex.h" ; return *theLbound; } # 1083 "soplex.h" Vector& lpBound() { # 1085 "soplex.h" 3 4 (static_cast (0)) # 1085 "soplex.h" ; return *theLbound; } # 1096 "soplex.h" const Vector& test() const { # 1098 "soplex.h" 3 4 (static_cast (0)) # 1098 "soplex.h" ; return theTest; } Real computePvec(int i); void computePvec(); Real computeTest(int i); void computeTest(); # 1135 "soplex.h" void shiftFvec(); void shiftPvec(); void shiftUBbound(int i, Real to) { # 1142 "soplex.h" 3 4 (static_cast (0)) # 1142 "soplex.h" ; theShift += to - theUBbound[i]; theUBbound[i] = to; } void shiftLBbound(int i, Real to) { # 1149 "soplex.h" 3 4 (static_cast (0)) # 1149 "soplex.h" ; theShift += theLBbound[i] - to; theLBbound[i] = to; } void shiftUPbound(int i, Real to) { # 1156 "soplex.h" 3 4 (static_cast (0)) # 1156 "soplex.h" ; theShift += to - (*theUbound)[i]; (*theUbound)[i] = to; } void shiftLPbound(int i, Real to) { # 1163 "soplex.h" 3 4 (static_cast (0)) # 1163 "soplex.h" ; theShift += (*theLbound)[i] - to; (*theLbound)[i] = to; } void shiftUCbound(int i, Real to) { # 1170 "soplex.h" 3 4 (static_cast (0)) # 1170 "soplex.h" ; theShift += to - (*theCoUbound)[i]; (*theCoUbound)[i] = to; } void shiftLCbound(int i, Real to) { # 1177 "soplex.h" 3 4 (static_cast (0)) # 1177 "soplex.h" ; theShift += (*theCoLbound)[i] - to; (*theCoLbound)[i] = to; } void testBounds() const; virtual Real shift() const { return theShift; } virtual void unShift(void); virtual void qualConstraintViolation( double& maxviol, double& sumviol) const; virtual void qualConstraintViolationUnscaled( double& maxviol, double& sumviol) const; virtual void qualBoundViolation( double& maxviol, double& sumviol) const; virtual void qualBoundViolationUnscaled( double& maxviol, double& sumviol) const; virtual void qualSlackViolation(double& maxviol, double& sumviol) const; virtual void qualRdCostViolation(double& maxviol, double& sumviol) const; private: void perturbMin( const UpdateVector& vec, Vector& low, Vector& up, Real eps, int start = 0, int incr = 1); void perturbMax( const UpdateVector& vec, Vector& low, Vector& up, Real eps, int start = 0, int incr = 1); Real perturbMin(const UpdateVector& uvec, Vector& low, Vector& up, Real eps, Real delta, const SPxBasis::Desc::Status* stat, int start, int incr); Real perturbMax(const UpdateVector& uvec, Vector& low, Vector& up, Real eps, Real delta, const SPxBasis::Desc::Status* stat, int start, int incr); # 1250 "soplex.h" public: # 1259 "soplex.h" void setup4solve(Vector* p_y, SSVector* p_rhs) { # 1261 "soplex.h" 3 4 (static_cast (0)) # 1261 "soplex.h" ; solveVector2 = p_y; solveVector2rhs = p_rhs; } # 1273 "soplex.h" void setup4coSolve(Vector* p_y, SSVector* p_rhs) { # 1275 "soplex.h" 3 4 (static_cast (0)) # 1275 "soplex.h" ; coSolveVector2 = p_y; coSolveVector2rhs = p_rhs; } virtual Real maxInfeas() const; const SPxBasis& basis() const { return *this; } SPxBasis& basis() { return *this; } const SPxPricer* pricer() const { return thepricer; } const SLinSolver* slinSolver() const { return SPxBasis::factor; } const SPxRatioTester* ratiotester() const { return theratiotester; } const SPxStarter* starter() const { return thestarter; } const SPxSimplifier* simplifier() const { return thesimplifier; } protected: virtual void factorize(); private: int leave(int i); int enter(SPxId& id); Real coTest(int, SPxBasis::Desc::Status) const; void computeCoTest(); void updateCoTest(); Real test(int i, SPxBasis::Desc::Status stat) const; void updateTest(); void computeFtest(); void updateFtest(); # 1365 "soplex.h" protected: bool isInitialized() const { return initialized; } public: # 1388 "soplex.h" virtual void init(); protected: virtual void unInit() { initialized = false; } virtual void reDim(); void computeFrhs(); virtual void computeFrhsXtra(); virtual void computeFrhs1(const Vector&, const Vector&); void computeFrhs2(const Vector&, const Vector&); virtual void computeEnterCoPrhs(); void computeEnterCoPrhs4Row(int i, int n); void computeEnterCoPrhs4Col(int i, int n); virtual void computeLeaveCoPrhs(); void computeLeaveCoPrhs4Row(int i, int n); void computeLeaveCoPrhs4Col(int i, int n); Real nonbasicValue() const; virtual const SVector* enterVector(const SPxId& p_id) { # 1430 "soplex.h" 3 4 (static_cast (0)) # 1430 "soplex.h" ; return p_id.isSPxRowId() ? &vector(SPxRowId(p_id)) : &vector(SPxColId(p_id)); } virtual void getLeaveVals(int i, SPxBasis::Desc::Status& leaveStat, SPxId& leaveId, Real& leaveMax, Real& leavebound, int& leaveNum); virtual void getLeaveVals2(Real leaveMax, SPxId enterId, Real& enterBound, Real& newUBbound, Real& newLBbound, Real& newCoPrhs); virtual void getEnterVals(SPxId id, Real& enterTest, Real& enterUB, Real& enterLB, Real& enterVal, Real& enterMax, Real& enterPric, SPxBasis::Desc::Status& enterStat, Real& enterRO); virtual void getEnterVals2(int leaveIdx, Real enterMax, Real& leaveBound); virtual void ungetEnterVal(SPxId enterId, SPxBasis::Desc::Status enterStat, Real leaveVal, const SVector& vec); virtual void rejectEnter(SPxId enterId, Real enterTest, SPxBasis::Desc::Status enterStat); virtual void rejectLeave(int leaveNum, SPxId leaveId, SPxBasis::Desc::Status leaveStat, const SVector* newVec = 0); virtual void setupPupdate(void); virtual void doPupdate(void); virtual void clearUpdateVecs(void); virtual void perturbMinEnter(void); virtual void perturbMaxEnter(void); virtual void perturbMinLeave(void); virtual void perturbMaxLeave(void); void clearDualBounds(SPxBasis::Desc::Status, Real&, Real&); void setDualColBounds(); void setDualRowBounds(); void setPrimalBounds(); void setEnterBound4Col(int, int); void setEnterBound4Row(int, int); virtual void setEnterBounds(); void setLeaveBound4Row(int i, int n); void setLeaveBound4Col(int i, int n); virtual void setLeaveBounds(); public: virtual void setTerminationTime(Real time = infinity); virtual Real terminationTime() const; virtual void setTerminationIter(int iteration = -1); virtual int terminationIter() const; virtual void setTerminationValue(Real value = infinity); virtual Real terminationValue() const; virtual Real objValue() const { return value(); } Status getResult(Real* value = 0, Vector* primal = 0, Vector* slacks = 0, Vector* dual = 0, Vector* reduCost = 0) const; protected: VarStatus basisStatusToVarStatus( SPxBasis::Desc::Status stat ) const; SPxBasis::Desc::Status varStatusToBasisStatusRow( int row, VarStatus stat ) const; SPxBasis::Desc::Status varStatusToBasisStatusCol( int col, VarStatus stat ) const; public: VarStatus getBasisRowStatus( int row ) const; VarStatus getBasisColStatus( int col ) const; Status getBasis(VarStatus rows[], VarStatus cols[]) const; void setBasis(const VarStatus rows[], const VarStatus cols[]); int iterations() const { return basis().iteration(); } Real time() const { return theTime.userTime(); } const LPRowSet& rows() const { return *lprowset(); } const LPColSet& cols() const { return *lpcolset(); } void getLower(Vector& lw) const { lw = SPxLP::lower(); } void getUpper(Vector& upp) const { upp = SPxLP::upper(); } void getLhs(Vector& p_lhs) const { p_lhs = SPxLP::lhs(); } void getRhs(Vector& p_rhs) const { p_rhs = SPxLP::rhs(); } SPxSense sense() const { return spxSense(); } int nofRows() const { return nRows(); } int nofCols() const { return nCols(); } int nofNZEs() const; SPxRowId rowId(int i) const { return rId(i); } SPxColId colId(int i) const { return cId(i); } SoPlex(Type type = LEAVE, Representation rep = ROW, SPxPricer* pric = 0, SPxRatioTester* rt = 0, SPxStarter* start = 0, SPxScaler* scaler = 0, SPxSimplifier* simple = 0); bool isConsistent() const; private: SoPlex& operator=(const SoPlex& base); SoPlex(const SoPlex& base); void testVecs(); }; } # 31 "spxpricer.h" 2 namespace soplex { # 52 "spxpricer.h" class SPxPricer { protected: const char* m_name; SoPlex* thesolver; Real theeps; public: virtual const char* getName() const { return m_name; } virtual void load(SoPlex* p_solver) { thesolver = p_solver; } virtual void clear() { thesolver = 0; } virtual SoPlex* solver() const { return thesolver; } virtual Real epsilon() const { return theeps; } virtual void setEpsilon(Real eps) { # 99 "spxpricer.h" 3 4 (static_cast (0)) # 99 "spxpricer.h" ; theeps = eps; } virtual void setType(SoPlex::Type) {} virtual void setRep(SoPlex::Representation) {} # 126 "spxpricer.h" virtual int selectLeave() = 0; # 138 "spxpricer.h" virtual void left4(int , SPxId ) {} # 153 "spxpricer.h" virtual SPxId selectEnter() = 0; # 165 "spxpricer.h" virtual void entered4(SPxId , int ) {} virtual void addedVecs (int ) {} virtual void addedCoVecs(int ) {} virtual void removedVec(int ) {} virtual void removedVecs(const int* ) {} virtual void removedCoVec(int ) {} virtual void removedCoVecs(const int* ) {} virtual bool isConsistent() const { return thesolver != 0; } explicit SPxPricer(const char* p_name) : m_name(p_name) , thesolver(0) , theeps(0.0) {} virtual ~SPxPricer() { m_name = 0; thesolver = 0; } }; } # 32 "spxsteeppr.h" 2 # 1 "random.h" 1 # 33 "spxsteeppr.h" 2 namespace soplex { # 45 "spxsteeppr.h" class SPxSteepPR : public SPxPricer { public: enum Setup { EXACT, DEFAULT }; private: DVector penalty; DVector coPenalty; DVector workVec; SSVector workRhs; int lastIdx; SPxId lastId; Real pi_p; int prefSetup; DataArray < Real > coPref; DataArray < Real > pref; DataArray < Real > leavePref; void setupPrefs(Real mult, Real , Real , Real shift, Real coshift, int rstart = 0, int cstart = 0, int rend = -1, int cend = -1); void setupPrefs(SoPlex::Type); int selectLeaveX(Real& best, int start = 0, int incr = 1); SPxId selectEnterX(Real& best, int start1 = 0, int incr1 = 1, int start2 = 0, int incr2 = 1); void left4X(int n, SPxId id, int start, int incr); void entered4X(SPxId id, int n, int start1, int incr1, int start2, int incr2); public: Setup setup; Real accuracy; virtual void load(SoPlex* base); virtual void clear(); virtual void setType(SoPlex::Type); virtual void setRep(SoPlex::Representation rep); virtual int selectLeave(); virtual void left4(int n, SPxId id); virtual SPxId selectEnter(); virtual void entered4(SPxId id, int n); virtual void addedVecs (int n); virtual void addedCoVecs(int n); virtual void removedVec(int i); virtual void removedCoVecs(const int perm[]); virtual void removedVecs(const int perm[]); virtual void removedCoVec(int i); virtual bool isConsistent() const; SPxSteepPR() : SPxPricer("Steep") , workRhs (0, 1e-16) , setup (DEFAULT) , accuracy(1e-4) {} }; } # 29 "spxsolver.h" 2 # 1 "spxfastrt.h" 1 # 24 "spxfastrt.h" #define _SPXFASTRT_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxfastrt.h" 2 # 1 "spxdefines.h" 1 # 29 "spxfastrt.h" 2 # 1 "spxratiotester.h" 1 # 24 "spxratiotester.h" #define _SPXRATIOTESTER_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 28 "spxratiotester.h" 2 # 1 "spxdefines.h" 1 # 30 "spxratiotester.h" 2 # 1 "soplex.h" 1 # 31 "spxratiotester.h" 2 namespace soplex { # 44 "spxratiotester.h" class SPxRatioTester { protected: SoPlex* thesolver; public: virtual void load(SoPlex* p_solver) { thesolver = p_solver; } virtual void clear() { thesolver = 0; } virtual SoPlex* solver() const { return thesolver; } # 86 "spxratiotester.h" virtual int selectLeave(Real& val) = 0; # 107 "spxratiotester.h" virtual SPxId selectEnter(Real& val) = 0; virtual void setType(SoPlex::Type) {} SPxRatioTester() : thesolver(0) {} virtual ~SPxRatioTester() { thesolver = 0; } }; } # 30 "spxfastrt.h" 2 namespace soplex { # 45 "spxfastrt.h" class SPxFastRT : public SPxRatioTester { private: Real minStab; Real epsilon; Real delta; Real delta0; void resetTols(); void relax(); void tighten(); # 72 "spxfastrt.h" int maxDelta(Real& val, Real& p_abs, UpdateVector& upd, Vector& low, Vector& up, int start, int incr); int maxDelta(Real& val, Real& p_abs); SPxId maxDelta(int& nr, Real& val, Real& p_abs); # 87 "spxfastrt.h" int minDelta(Real& val, Real& p_abs, UpdateVector& upd, Vector& low, Vector& up, int start, int incr); int minDelta(Real& val, Real& p_abs, UpdateVector& upd, Vector& low, Vector& up) { return minDelta(val, p_abs, upd, low, up, 0, 1); } int minDelta(Real& val, Real& p_abs); SPxId minDelta(int& nr, Real& val, Real& p_abs); # 108 "spxfastrt.h" int maxSelect(Real& val, Real& stab, Real& best, Real& bestDelta, Real max, const UpdateVector& upd, const Vector& low, const Vector& up, int start = 0, int incr = 1); int maxSelect(Real& val, Real& stab, Real& bestDelta, Real max); SPxId maxSelect(int& nr, Real& val, Real& stab, Real& bestDelta, Real max); # 124 "spxfastrt.h" int minSelect(Real& val, Real& stab, Real& best, Real& bestDelta, Real max, const UpdateVector& upd, const Vector& low, const Vector& up, int start = 0, int incr = 1); int minSelect(Real& val, Real& stab, Real& bestDelta, Real max); SPxId minSelect(int& nr, Real& val, Real& stab, Real& bestDelta, Real max); int minReleave(Real& sel, int leave, Real maxabs); int maxReleave(Real& sel, int leave, Real maxabs); int minShortLeave(Real& sel, int leave, Real , Real p_abs); int maxShortLeave(Real& sel, int leave, Real , Real p_abs); int minReenter(Real& sel, Real , Real maxabs, SPxId id, int nr); int maxReenter(Real& sel, Real , Real maxabs, SPxId id, int nr); # 169 "spxfastrt.h" int shortEnter(SPxId& enterId, int nr, Real max, Real maxabs); public: virtual void load(SoPlex* solver); virtual int selectLeave(Real& val); virtual SPxId selectEnter(Real& val); virtual void setType(SoPlex::Type); SPxFastRT() : SPxRatioTester() {} }; } # 30 "spxsolver.h" 2 # 1 "spxweightst.h" 1 # 25 "spxweightst.h" #define _SPXWEIGHTST_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 29 "spxweightst.h" 2 # 1 "spxdefines.h" 1 # 31 "spxweightst.h" 2 # 1 "spxstarter.h" 1 # 25 "spxstarter.h" #define _SPXDSTARTER_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 29 "spxstarter.h" 2 # 1 "soplex.h" 1 # 31 "spxstarter.h" 2 namespace soplex { # 45 "spxstarter.h" class SPxStarter { public: virtual void generate(SoPlex& base) = 0; virtual ~SPxStarter() { } virtual bool isConsistent() const; }; } # 32 "spxweightst.h" 2 # 1 "dataarray.h" 1 # 33 "spxweightst.h" 2 namespace soplex { # 60 "spxweightst.h" class SPxWeightST : public SPxStarter { DataArray < int > forbidden; DataArray < Real > * weight; DataArray < Real > * coWeight; void setPrimalStatus(SPxBasis::Desc&, const SoPlex&, const SPxId&); protected: DataArray < Real > rowWeight; DataArray < Real > colWeight; DataArray < bool > rowRight; DataArray < bool > colUp; virtual void setupWeights(SoPlex& base); public: void generate(SoPlex& base); bool isConsistent() const; SPxWeightST() {} }; } # 31 "spxsolver.h" 2 # 1 "slufactor.h" 1 # 24 "slufactor.h" #define _SLUFACTOR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "slufactor.h" 2 # 1 "spxdefines.h" 1 # 29 "slufactor.h" 2 # 1 "dvector.h" 1 # 30 "slufactor.h" 2 # 1 "slinsolver.h" 1 # 31 "slufactor.h" 2 # 1 "clufactor.h" 1 # 21 "clufactor.h" #define _CLUFACTOR_H_ # 1 "spxdefines.h" 1 # 24 "clufactor.h" 2 # 1 "slinsolver.h" 1 # 25 "clufactor.h" 2 # 1 "svector.h" 1 # 26 "clufactor.h" 2 #define WITH_L_ROWS 1 namespace soplex { class CLUFactor { public: struct Dring { Dring* next; Dring* prev; int idx; }; class Pring { public: Pring* next; Pring* prev; int idx; int pos; int mkwtz; Pring() : next(0), prev(0) {} private: Pring(const Pring&); Pring& operator= (const Pring&); }; protected: class Temp { public: int* s_mark; Real* s_max; int* s_cact; int stage; Pring pivots; Pring* pivot_col; Pring* pivot_colNZ; Pring* pivot_row; Pring* pivot_rowNZ; Temp(); ~Temp(); void init(int p_dim); void clear(); private: Temp( const Temp& ); Temp& operator= ( const Temp& ); }; struct Perm { int* orig; int* perm; }; struct U { struct Row { Dring list; Dring *elem; int size; int used; Real *val; int *idx; int *start; int *len; int *max; } row; struct Col { Dring list; Dring *elem; int size; int used; int *idx; Real *val; int *start; int *len; int *max; } col; int lastColSing; int lastRowSing; }; struct L { int size; Real *val; int *idx; int startSize; int firstUpdate; int firstUnused; int *start; int *row; int updateType; Real *rval; int *ridx; int *rbeg; int *rorig; int *rperm; }; SLinSolver::Status stat; int thedim; int nzCnt; Real initMaxabs; Real maxabs; Real rowMemMult; Real colMemMult; Real lMemMult; Perm row; Perm col; L l; Real* diag; U u; Real* work; Real* work2; int factorCount; private: Temp temp; void solveUright(Real* wrk, Real* vec); int solveUrightEps(Real* vec, int* nonz, Real eps, Real* rhs); void solveUright2(Real* work1, Real* vec1, Real* work2, Real* vec2); int solveUright2eps(Real* work1, Real* vec1, Real* work2, Real* vec2, int* nonz, Real eps); void solveLright2(Real* vec1, Real* vec2); void solveUpdateRight(Real* vec); void solveUpdateRight2(Real* vec1, Real* vec2); void solveUleft(Real* work, Real* vec); void solveUleft2( Real* work1, Real* vec1, Real* work2, Real* vec2); int solveLleft2forest(Real* vec1, int* , Real* vec2, Real ); void solveLleft2(Real* vec1, int* , Real* vec2, Real ); int solveLleftForest(Real* vec, int* , Real ); void solveLleft(Real* vec); int solveLleftEps(Real* vec, int* nonz, Real eps); void solveUpdateLeft(Real* vec); void solveUpdateLeft2(Real* vec1, Real* vec2); int vSolveLright(Real* vec, int* ridx, int rn, Real eps); void vSolveLright2(Real* vec, int* ridx, int* rnptr, Real eps, Real* vec2, int* ridx2, int* rn2ptr, Real eps2); int vSolveUright(Real* vec, int* vidx, Real* rhs, int* ridx, int rn, Real eps); void vSolveUrightNoNZ(Real* vec, Real* rhs, int* ridx, int rn, Real eps); int vSolveUright2(Real* vec, int* vidx, Real* rhs, int* ridx, int rn, Real eps, Real* vec2, Real* rhs2, int* ridx2, int rn2, Real eps2); int vSolveUpdateRight(Real* vec, int* ridx, int n, Real eps); void vSolveUpdateRightNoNZ(Real* vec, Real ); int solveUleft(Real eps, Real* vec, int* vecidx, Real* rhs, int* rhsidx, int rhsn); void solveUleftNoNZ(Real eps, Real* vec, Real* rhs, int* rhsidx, int rhsn); int solveLleftForest(Real eps, Real* vec, int* nonz, int n); void solveLleftForestNoNZ(Real* vec); int solveLleft(Real eps, Real* vec, int* nonz, int rn); void solveLleftNoNZ(Real* vec); int solveUpdateLeft(Real eps, Real* vec, int* nonz, int n); void forestPackColumns(); void forestMinColMem(int size); void forestReMaxCol(int col, int len); void initPerm(); void initFactorMatrix(SVector** vec, const Real eps ); void minLMem(int size); void setPivot(const int p_stage, const int p_col, const int p_row, const Real val); void colSingletons(); void rowSingletons(); void initFactorRings(); void freeFactorRings(); int setupColVals(); void setupRowVals(); void eliminateRowSingletons(); void eliminateColSingletons(); void selectPivots(Real threshold); int updateRow(int r, int lv, int prow, int pcol, Real pval, Real eps); void eliminatePivot(int prow, int pos, Real eps); void eliminateNucleus(const Real eps, const Real threshold); void minRowMem(int size); void minColMem(int size); void remaxCol(int p_col, int len); void packRows(); void packColumns(); void remaxRow(int p_row, int len); int makeLvec(int p_len, int p_row); CLUFactor(const CLUFactor&); CLUFactor& operator=(const CLUFactor&); protected: CLUFactor() {} public: void solveLright(Real* vec); int solveRight4update(Real* vec, int* nonz, Real eps, Real* rhs, Real* forest, int* forestNum, int* forestIdx); void solveRight(Real* vec, Real* rhs); int solveRight2update(Real* vec1, Real* vec2, Real* rhs1, Real* rhs2, int* nonz, Real eps, Real* forest, int* forestNum, int* forestIdx); void solveRight2(Real* vec1, Real* vec2, Real* rhs1, Real* rhs2); void solveLeft(Real* vec, Real* rhs); int solveLeftEps(Real* vec, Real* rhs, int* nonz, Real eps); int solveLeft2(Real* vec1, int* nonz, Real* vec2, Real eps, Real* rhs1, Real* rhs2); int vSolveRight4update(Real eps, Real* vec, int* idx, Real* rhs, int* ridx, int rn, Real* forest, int* forestNum, int* forestIdx); int vSolveRight4update2(Real eps, Real* vec, int* idx, Real* rhs, int* ridx, int rn, Real* vec2, Real eps2, Real* rhs2, int* ridx2, int rn2, Real* forest, int* forestNum, int* forestIdx); void vSolveRightNoNZ(Real* vec2, Real eps2, Real* rhs2, int* ridx2, int rn2); int vSolveLeft(Real eps, Real* vec, int* idx, Real* rhs, int* ridx, int rn); void vSolveLeftNoNZ(Real eps, Real* vec, Real* rhs, int* ridx, int rn); int vSolveLeft2(Real eps, Real* vec, int* idx, Real* rhs, int* ridx, int rn, Real* vec2, Real* rhs2, int* ridx2, int rn2); void forestUpdate(int col, Real* work, int num, int *nonz); void update(int p_col, Real* p_work, const int* p_idx, int num); void updateNoClear(int p_col, const Real* p_work, const int* p_idx, int num); void factor(SVector** vec, Real threshold, Real eps); void dump() const; bool isConsistent() const; }; } # 32 "slufactor.h" 2 namespace soplex { #define MAXUPDATES 1000 # 46 "slufactor.h" class SLUFactor : public SLinSolver, private CLUFactor { public: enum UpdateType { ETA = 0, FOREST_TOMLIN }; protected: void freeAll(); void changeEta(int idx, SSVector& eta); DVector vec; SSVector ssvec; int usetup; UpdateType uptype; SSVector eta; SSVector forest; Real lastThreshold; public: typedef SLinSolver::Status Status; Real minThreshold; Real epsilon; Real minStability; UpdateType utype() { return uptype; } int getFactorCount() const { return factorCount; } void setUtype(UpdateType tp) { uptype = tp; } # 112 "slufactor.h" void clear(); int dim() const { return thedim; } int memory() const { return nzCnt + l.start[l.firstUnused]; } Status status() const { return Status(stat); } Real stability() const; Status load(const SVector* vec[], int dim); void solve2right(Vector& x, Vector& b); void solve2right(Vector& x, SSVector& b); void solve2right(SSVector& x, Vector& b); void solve2right(SSVector& x, SSVector& b); void solveRight (Vector& x, const Vector& b); void solveRight (Vector& x, const SVector& b); void solveRight (SSVector& x, const Vector& b); void solveRight (SSVector& x, const SVector& b); void solveRight4update(SSVector& x, const SVector& b); void solve2right4update(SSVector& x, Vector& two, const SVector& b, SSVector& rhs); void solve2left(Vector& x, Vector& b); void solve2left(Vector& x, SSVector& b); void solve2left(SSVector& x, Vector& b); void solve2left(SSVector& x, SSVector& b); void solveLeft (Vector& x, const Vector& b); void solveLeft (Vector& x, const SVector& b); void solveLeft (SSVector& x, const Vector& b); void solveLeft (SSVector& x, const SVector& b); void solveLeft (SSVector& x, Vector& two, const SVector& b, SSVector& rhs2); Status change(int idx, const SVector& subst, const SSVector* eta = 0); # 205 "slufactor.h" Vector& zeroVec() { return vec; } void dump() const; bool isConsistent() const; SLUFactor(); virtual ~SLUFactor(); private: SLUFactor& operator=(const SLUFactor& old); SLUFactor(const SLUFactor& old); # 246 "slufactor.h" }; } # 32 "spxsolver.h" 2 namespace soplex { class SPxSolver : public SoPlex { private: SPxFastRT rt; SPxSteepPR pr; SPxWeightST st; SLUFactor slu; public: virtual int getFactorCount() const { return slu.getFactorCount(); } void setUtype(SLUFactor::UpdateType tp) { slu.setUtype(tp); } explicit SPxSolver( Type type = LEAVE, SoPlex::Representation rep = SoPlex::COLUMN); }; } # 29 "example.cc" 2 # 1 "timer.h" 1 # 31 "example.cc" 2 # 1 "spxpricer.h" 1 # 32 "example.cc" 2 # 1 "spxdefaultpr.h" 1 # 24 "spxdefaultpr.h" #define _SPXDEFAULTPR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxdefaultpr.h" 2 # 1 "spxpricer.h" 1 # 29 "spxdefaultpr.h" 2 namespace soplex { # 44 "spxdefaultpr.h" class SPxDefaultPR : public SPxPricer { private: int selectLeaveX(int start, int incr); SPxId selectEnterX(int start1, int incr1, int start2, int incr2); public: virtual int selectLeave(); virtual SPxId selectEnter(); SPxDefaultPR() : SPxPricer("Danzig") {} }; } # 33 "example.cc" 2 # 1 "spxparmultpr.h" 1 # 24 "spxparmultpr.h" #define _SPXPARMULTPR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxparmultpr.h" 2 # 1 "spxdefines.h" 1 # 29 "spxparmultpr.h" 2 # 1 "spxpricer.h" 1 # 30 "spxparmultpr.h" 2 # 1 "dataarray.h" 1 # 31 "spxparmultpr.h" 2 # 1 "array.h" 1 # 32 "spxparmultpr.h" 2 # 1 "ssvector.h" 1 # 33 "spxparmultpr.h" 2 namespace soplex { struct SPxParMultPr_Tmp { SPxId id; Real test; }; # 57 "spxparmultpr.h" class SPxParMultPR : public SPxPricer { private: DataArray < SPxParMultPr_Tmp > pricSet; int multiParts; int used; int min; int last; int count; public: static int partialSize; virtual void load(SoPlex* solver); virtual void setType(SoPlex::Type tp); virtual int selectLeave(); virtual SPxId selectEnter(); SPxParMultPR() : SPxPricer("ParMult") {} }; } # 34 "example.cc" 2 # 1 "spxdevexpr.h" 1 # 24 "spxdevexpr.h" #define _SPXDEVEXPR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxdevexpr.h" 2 # 1 "spxdefines.h" 1 # 29 "spxdevexpr.h" 2 # 1 "spxpricer.h" 1 # 30 "spxdevexpr.h" 2 namespace soplex { # 47 "spxdevexpr.h" class SPxDevexPR : public SPxPricer { private: Real last; DVector penalty; DVector coPenalty; int selectLeaveX(Real& best, int start = 0, int incr = 1); void left4X(int n, SPxId id, int start, int incr); SPxId selectEnterX(Real& best, int start1 = 0, int incr1 = 1, int start2 = 0, int incr2 = 1); void entered4X(SPxId id, int n, int start1, int incr1, int start2, int incr2); public: virtual void load(SoPlex* base); virtual void setType(SoPlex::Type); virtual void setRep(SoPlex::Representation); virtual int selectLeave(); virtual void left4(int n, SPxId id); virtual SPxId selectEnter(); virtual void entered4(SPxId id, int n); virtual void addedVecs (int n); virtual void addedCoVecs(int n); virtual bool isConsistent() const; SPxDevexPR() : SPxPricer("Devex") {} }; } # 35 "example.cc" 2 # 1 "spxhybridpr.h" 1 # 24 "spxhybridpr.h" #define _SPXHYBRIDPR_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxhybridpr.h" 2 # 1 "spxdefines.h" 1 # 29 "spxhybridpr.h" 2 # 1 "spxpricer.h" 1 # 30 "spxhybridpr.h" 2 # 1 "spxdevexpr.h" 1 # 31 "spxhybridpr.h" 2 # 1 "spxparmultpr.h" 1 # 32 "spxhybridpr.h" 2 # 1 "spxsteeppr.h" 1 # 33 "spxhybridpr.h" 2 namespace soplex { # 47 "spxhybridpr.h" class SPxHybridPR : public SPxPricer { SPxSteepPR steep; SPxParMultPR parmult; SPxDevexPR devex; SPxPricer* thepricer; Real hybridFactor; public: virtual void setEpsilon(Real eps); virtual void load(SoPlex* solver); virtual void clear(); virtual void setType(SoPlex::Type tp); virtual void setRep(SoPlex::Representation rep); virtual int selectLeave(); virtual void left4(int n, SPxId id); virtual SPxId selectEnter(); virtual void entered4(SPxId id, int n); virtual bool isConsistent() const; virtual void addedVecs (int n); virtual void addedCoVecs (int n); SPxHybridPR() : SPxPricer("Hybrid") , thepricer(0) , hybridFactor(3.0) {} }; } # 36 "example.cc" 2 # 1 "spxsteeppr.h" 1 # 37 "example.cc" 2 # 1 "spxweightpr.h" 1 # 24 "spxweightpr.h" #define _SPXWEIGHTPR_H_ # 1 "spxdefines.h" 1 # 27 "spxweightpr.h" 2 # 1 "spxpricer.h" 1 # 28 "spxweightpr.h" 2 namespace soplex { # 45 "spxweightpr.h" class SPxWeightPR : public SPxPricer { private: DVector cPenalty; DVector rPenalty; DVector leavePenalty; const Real* coPenalty; const Real* penalty; Real objlength; void computeLeavePenalty(int start, int end); void computeCP(int start, int end); void computeRP(int start, int end); public: virtual void load(SoPlex* base); void setType(SoPlex::Type tp); void setRep(SoPlex::Representation rep); virtual int selectLeave(); virtual SPxId selectEnter(); virtual void addedVecs (int n); virtual void addedCoVecs(int n); virtual void removedVec(int i); virtual void removedCoVecs(const int perm[]); virtual void removedVecs(const int perm[]); virtual void removedCoVec(int i); virtual bool isConsistent() const; SPxWeightPR() : SPxPricer("Weight") {} }; } # 38 "example.cc" 2 # 1 "spxratiotester.h" 1 # 39 "example.cc" 2 # 1 "spxharrisrt.h" 1 # 24 "spxharrisrt.h" #define _SPXHARRISRT_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxharrisrt.h" 2 # 1 "spxdefines.h" 1 # 29 "spxharrisrt.h" 2 # 1 "spxratiotester.h" 1 # 30 "spxharrisrt.h" 2 namespace soplex { # 44 "spxharrisrt.h" class SPxHarrisRT : public SPxRatioTester { private: int maxDelta( Real* , Real* val, int num, const int* idx, const Real* upd, const Real* vec, const Real* low, const Real* up, Real delta, Real epsilon); int minDelta( Real* , Real* val, int num, const int* idx, const Real* upd, const Real* vec, const Real* low, const Real* up, Real delta, Real epsilon); public: virtual int selectLeave(Real& val); virtual SPxId selectEnter(Real& val); SPxHarrisRT() : SPxRatioTester() {} }; } # 40 "example.cc" 2 # 1 "spxdefaultrt.h" 1 # 24 "spxdefaultrt.h" #define _SPXDEFAULTRT_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 28 "spxdefaultrt.h" 2 # 1 "spxdefines.h" 1 # 30 "spxdefaultrt.h" 2 # 1 "spxratiotester.h" 1 # 31 "spxdefaultrt.h" 2 namespace soplex { # 46 "spxdefaultrt.h" class SPxDefaultRT : public SPxRatioTester { private: int selectLeaveX(Real& val, int start, int incr); SPxId selectEnterX(Real& val, int start1, int incr1, int start2, int incr2); public: virtual int selectLeave(Real& val); virtual SPxId selectEnter(Real& val); SPxDefaultRT() : SPxRatioTester() {} }; } # 41 "example.cc" 2 # 1 "spxfastrt.h" 1 # 42 "example.cc" 2 # 1 "spxsimplifier.h" 1 # 24 "spxsimplifier.h" #define _SPXSIMPLIFIER_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxsimplifier.h" 2 # 1 "spxdefines.h" 1 # 29 "spxsimplifier.h" 2 # 1 "spxlp.h" 1 # 30 "spxsimplifier.h" 2 namespace soplex { # 42 "spxsimplifier.h" class SPxSimplifier { protected: SPxLP* lp; Real delta; public: SPxSimplifier() : lp(0), delta(0) {} virtual void load(SPxLP* p_lp) { # 56 "spxsimplifier.h" 3 4 (static_cast (0)) # 56 "spxsimplifier.h" ; if (lp != p_lp) { lp = p_lp; delta = 0; } } virtual void unload() { lp = 0; } # 79 "spxsimplifier.h" virtual int simplify() = 0; virtual void unsimplify() = 0; virtual Real value(Real x) { return x + delta; } bool isConsistent() const { return true; } }; } # 43 "example.cc" 2 # 1 "spxaggregatesm.h" 1 # 24 "spxaggregatesm.h" #define _SPXAGGREGATESM_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxaggregatesm.h" 2 # 1 "spxdefines.h" 1 # 29 "spxaggregatesm.h" 2 # 1 "spxsimplifier.h" 1 # 30 "spxaggregatesm.h" 2 namespace soplex { class SPxAggregateSM : public SPxSimplifier { private: Real stability; Real maxFill; int eliminate(const SVector& row, Real b); public: int simplify(); void unsimplify(); Real value(Real x) { return x + lp->spxSense()*delta; } }; } # 44 "example.cc" 2 # 1 "spxredundantsm.h" 1 # 24 "spxredundantsm.h" #define _SPXREDUNDANTSM_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxredundantsm.h" 2 # 1 "spxdefines.h" 1 # 29 "spxredundantsm.h" 2 # 1 "spxsimplifier.h" 1 # 30 "spxredundantsm.h" 2 namespace soplex { class SPxRedundantSM : public SPxSimplifier { public: int simplify(); void unsimplify(); Real value(Real x) { return x + lp->spxSense() * delta; } }; } # 45 "example.cc" 2 # 1 "spxrem1sm.h" 1 # 24 "spxrem1sm.h" #define _SPXREM1SM_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxrem1sm.h" 2 # 1 "spxdefines.h" 1 # 29 "spxrem1sm.h" 2 # 1 "spxsimplifier.h" 1 # 30 "spxrem1sm.h" 2 namespace soplex { class SPxRem1SM : public SPxSimplifier { public: int simplify(); void unsimplify(); Real value(Real x) { return x - lp->spxSense() * delta; } }; } # 46 "example.cc" 2 # 1 "spxgeneralsm.h" 1 # 24 "spxgeneralsm.h" #define _SPXGENERALSM_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxgeneralsm.h" 2 # 1 "spxdefines.h" 1 # 29 "spxgeneralsm.h" 2 # 1 "spxredundantsm.h" 1 # 30 "spxgeneralsm.h" 2 # 1 "spxaggregatesm.h" 1 # 31 "spxgeneralsm.h" 2 # 1 "spxrem1sm.h" 1 # 32 "spxgeneralsm.h" 2 namespace soplex { class SPxGeneralSM : public SPxSimplifier { private: SPxRem1SM rem1; SPxRedundantSM redu; SPxAggregateSM aggr; public: virtual void load(SPxLP* p_lp); virtual void unload(); virtual int simplify(); virtual void unsimplify(); virtual Real value(Real x); SPxGeneralSM() {} virtual ~SPxGeneralSM() {} }; } # 47 "example.cc" 2 # 1 "spxscaler.h" 1 # 24 "spxscaler.h" #define _SPXSCALER_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxscaler.h" 2 # 1 "spxdefines.h" 1 # 29 "spxscaler.h" 2 # 1 "dataarray.h" 1 # 30 "spxscaler.h" 2 # 1 "spxlp.h" 1 # 31 "spxscaler.h" 2 namespace soplex { # 43 "spxscaler.h" class SPxScaler { protected: const char* m_name; SPxLP* m_lp; DataArray < Real > m_colscale; DataArray < Real > m_rowscale; bool m_colFirst; bool m_doBoth; public: friend std::ostream& operator<<(std::ostream& s, const SPxScaler& sc); explicit SPxScaler(const char* name, bool colFirst = true, bool doBoth = true); virtual ~SPxScaler(); virtual const char* getName() const; virtual void setOrder(bool colFirst); virtual void setBoth(bool both); virtual void setLP(SPxLP* lp); virtual void scale() = 0; virtual void unscale(); virtual void unscaleSolution(Vector& usol) const; virtual void unscaledMaxObj(Vector& uobj) const; virtual void unscaledLower(Vector& ulower) const; virtual void unscaledUpper(Vector& uupper) const; virtual void unscaledLhs(Vector& ulhs) const; virtual void unscaledRhs(Vector& urhs) const; virtual void unscaledRowVector(int row, DSVector& uvec) const; virtual void unscaledColVector(int col, DSVector& uvec) const; virtual bool isConsistent() const; private: SPxScaler& operator=(const SPxScaler& base); SPxScaler(const SPxScaler& base); }; } # 48 "example.cc" 2 # 1 "spxequilisc.h" 1 # 24 "spxequilisc.h" #define _SPXEQUILI_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxequilisc.h" 2 # 1 "spxdefines.h" 1 # 29 "spxequilisc.h" 2 # 1 "spxscaler.h" 1 # 30 "spxequilisc.h" 2 # 1 "dataarray.h" 1 # 31 "spxequilisc.h" 2 namespace soplex { # 43 "spxequilisc.h" class SPxEquili : public SPxScaler { public: virtual void scale(); explicit SPxEquili(bool colFirst = true, bool doBoth = true); }; } # 49 "example.cc" 2 # 1 "spxsumst.h" 1 # 25 "spxsumst.h" #define _SPXSUMST_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 29 "spxsumst.h" 2 # 1 "spxvectorst.h" 1 # 24 "spxvectorst.h" #define _SPXVECTORST_H_ # 1 "/usr/include/assert.h" 1 3 4 # 24 "/usr/include/assert.h" 3 4 #undef _ASSERT_H #undef assert #undef __ASSERT_VOID_CAST #undef assert_perror #define _ASSERT_H 1 #define __ASSERT_VOID_CAST static_cast # 50 "/usr/include/assert.h" 3 4 #define assert(expr) (__ASSERT_VOID_CAST (0)) # 59 "/usr/include/assert.h" 3 4 #define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) # 27 "spxvectorst.h" 2 # 1 "spxweightst.h" 1 # 29 "spxvectorst.h" 2 # 1 "vector.h" 1 # 30 "spxvectorst.h" 2 namespace soplex { # 48 "spxvectorst.h" class SPxVectorST : public SPxWeightST { enum { NONE, PVEC, DVEC} state; DVector vec; protected: void setupWeights(SoPlex& base); public: void primal(const Vector& v) { vec = v; state = PVEC; } void dual(const Vector& v) { vec = v; state = DVEC; } SPxVectorST() : state(NONE) {} }; } # 31 "spxsumst.h" 2 namespace soplex { class SPxSumST : public SPxVectorST { protected: void setupWeights(SoPlex& base); public: SPxSumST() {} }; } # 50 "example.cc" 2 # 1 "spxweightst.h" 1 # 51 "example.cc" 2 # 1 "spxvectorst.h" 1 # 52 "example.cc" 2 # 1 "slufactor.h" 1 # 53 "example.cc" 2 std::ofstream out_file; char *out_filename; using namespace soplex; class MySoPlex : public SPxSolver { private: SLUFactor m_slu; int m_iter_limit; public: MySoPlex(Type p_type = LEAVE, Representation p_rep = COLUMN) : SPxSolver(p_type, p_rep) {} void displayQuality() { double maxviol; double sumviol; std::cout << "Violations (max/sum)" << std::endl; qualConstraintViolation(maxviol, sumviol); std::cout << "Constraints :" << std::setw(16) << maxviol << " " << std::setw(16) << sumviol << std::endl; qualConstraintViolationUnscaled(maxviol, sumviol); std::cout << " (unscaled) :" << std::setw(16) << maxviol << " " << std::setw(16) << sumviol << std::endl; qualBoundViolation(maxviol, sumviol); std::cout << "Bounds :" << std::setw(16) << maxviol << " " << std::setw(16) << sumviol << std::endl; qualBoundViolationUnscaled(maxviol, sumviol); std::cout << " (unscaled) :" << std::setw(16) << maxviol << " " << std::setw(16) << sumviol << std::endl; qualSlackViolation(maxviol, sumviol); std::cout << "Slacks :" << std::setw(16) << maxviol << " " << std::setw(16) << sumviol << std::endl; } }; int main(int argc, char **argv) { const char* banner = "************************************************************************\n" "* *\n" "* SoPlex --- the Sequential object-oriented simPlex. *\n" "* Release 1.2.1 *\n" "* Copyright (C) 1997-1999 Roland Wunderling *\n" "* 1997-2002 Konrad-Zuse-Zentrum *\n" "* fuer Informationstechnik Berlin *\n" "* *\n" "* SoPlex is distributed under the terms of the ZIB Academic Licence. *\n" "* You should have received a copy of the ZIB Academic License *\n" "* along with SoPlex; If not email to soplex@zib.de. *\n" "* *\n" "************************************************************************\n" ; const char* usage = "[options] LPfile\n\n" " LPfile can be either in MPS or LPF format\n\n" "options: (*) indicates default\n" " -e select leaving algorithm (default is entering)\n" " -r select row wise representation (default is column)\n" " -i select Eta-update (default is Forest-Tomlin)\n" " -x output solution vector (works only together with -s0)\n" " -q display solution quality\n" " -bBasfile read file with starting basis\n" " -lSec set timelimit to Sec seconds\n" " -mIters set iteration limit to Iter iterations\n" " -dDelta set maximal allowed bound violation to Delta\n" " -zZero set zero tolerance to Zero\n\n" " -vLevel set verbosity Level [0-3], default 1\n" " -V show program version\n" " -h show this help\n" "Simplifier: Scaler: Starter: Pricer: Ratiotester:\n" " -s0 none* -g0 none* -c0 none -p0 Textbook -t0 Textbook\n" " -s1 General -g1 Bi-Equi -c1 Weight* -p1 ParMult -t1 Harris\n" " -s2 Aggregate -g2 Uni-Equi -c2 Sum -p2 Devex -t2 Fast*\n" " -s3 Remove-1 -c3 Vector -p3 Hybrid\n" " -s4 Redundant -p4 Steep*\n" " -p5 Weight\n" ; const char* filename; char* basisname = 0; SoPlex::Type type = SoPlex::ENTER; SoPlex::Representation representation = SoPlex::COLUMN; SLUFactor::UpdateType update = SLUFactor::FOREST_TOMLIN; SPxSimplifier* simplifier = 0; SPxStarter* starter = 0; SPxPricer* pricer = 0; SPxRatioTester* ratiotester = 0; SPxScaler* scaler = 0; NameSet rownames; NameSet colnames; int starting = 1; int pricing = 4; int ratiotest = 2; int scaling = 0; int simplifing = 0; int iterlimit = -1; Real timelimit = -1.0; Real delta = 1e-6; Real epsilon = 1e-17; int verbose = 1; bool print_solution = false; bool print_quality = false; int precision; int optidx; for(optidx = 1; optidx < argc; optidx++) { if (*argv[optidx] != '-') break; switch(argv[optidx][1]) { case 'b' : basisname = strcpy( new char[strlen(&argv[optidx][1]) + 1], &argv[optidx][1]); break; case 'c' : starting = atoi(&argv[optidx][2]); break; case 'd' : delta = atof(&argv[optidx][2]); break; case 'e': type = SoPlex::LEAVE; break; case 'g' : scaling = atoi(&argv[optidx][2]); break; case 'i' : update = SLUFactor::ETA; break; case 'l' : timelimit = atof(&argv[optidx][2]); break; case 'm' : iterlimit = atoi(&argv[optidx][2]); break; case 'p' : pricing = atoi(&argv[optidx][2]); break; case 'q' : print_quality = true; break; case 'r' : representation = SoPlex::ROW; break; case 's' : simplifing = atoi(&argv[optidx][2]); break; case 't' : ratiotest = atoi(&argv[optidx][2]); break; case 'v' : verbose = atoi(&argv[optidx][2]); break; case 'V' : std::cout << banner << std::endl; exit(0); case 'x' : print_solution = true; break; case 'z' : epsilon = atof(&argv[optidx][2]); break; case 'h' : case '?' : std::cout << banner << std::endl; default : std::cerr << "usage: " << argv[0] << " " << usage << std::endl; exit(0); } } if ((argc - optidx) < 1) { std::cerr << "usage: " << argv[0] << " " << usage << std::endl; exit(0); } filename = argv[optidx]; out_filename = strcpy(new char[strlen(filename) + 6], filename); strcat(out_filename, ".info"); out_file.open(out_filename, std::ios::trunc); if (!out_file.is_open()) { std::cerr << "Couldn't open \"" << out_filename << "\" for writing." << std::endl; exit(1); } precision = int(-log10(delta)) + 1; Param::setEpsilon(epsilon); Param::setVerbose(verbose); std::cout.setf(std::ios::scientific | std::ios::showpoint); MySoPlex work(type, representation); work.setUtype(update); work.setTerminationTime(timelimit); work.setTerminationIter(iterlimit); work.setDelta(delta); std::cout << "Delta = " << std::setw(16) << delta << std::endl << "Epsilon = " << std::setw(16) << Param::epsilon() << std::endl; # 291 "example.cc" 3 4 (static_cast (0)) # 291 "example.cc" ; std::cout << (type == SoPlex::ENTER ? "Entering" : "Leaving") << " algorithm" << std::endl << (representation == SoPlex::ROW ? "Row" : "Column") << " representation" << std::endl << (update == SLUFactor::ETA ? "Eta" : "Forest-Tomlin") << " update" << std::endl; switch(pricing) { case 5 : pricer = new SPxWeightPR; break; case 4 : pricer = new SPxSteepPR; break; case 3 : pricer = new SPxHybridPR; break; case 2 : pricer = new SPxDevexPR; break; case 1 : pricer = new SPxParMultPR; break; case 0 : default : pricer = new SPxDefaultPR; break; } work.setPricer(pricer); std::cout << pricer->getName() << " pricing" << std::endl; # 329 "example.cc" 3 4 (static_cast (0)) # 329 "example.cc" ; switch(ratiotest) { case 2 : ratiotester = new SPxFastRT; std::cout << "Fast"; break; case 1 : ratiotester = new SPxHarrisRT; std::cout << "Harris"; break; case 0 : default: ratiotester = new SPxDefaultRT; std::cout << "Default"; break; } std::cout << " ratiotest" << std::endl; work.setTester(ratiotester); # 350 "example.cc" 3 4 (static_cast (0)) # 350 "example.cc" ; switch(scaling) { case 2 : scaler = new SPxEquili(representation == SoPlex::COLUMN, false); break; case 1 : scaler = new SPxEquili(representation == SoPlex::COLUMN, true); break; case 0 : default : scaler = 0; std::cout << "No"; break; } work.setScaler(scaler); if (scaler != 0) std::cout << scaler->getName(); std::cout << " scaling" << std::endl; # 373 "example.cc" 3 4 (static_cast (0)) # 373 "example.cc" ; switch(simplifing) { case 4 : simplifier = new SPxRedundantSM; std::cout << "Redundant"; break; case 3 : simplifier = new SPxRem1SM; std::cout << "Remove 1"; break; case 2 : simplifier = new SPxAggregateSM; std::cout << "Aggregate"; break; case 1 : simplifier = new SPxGeneralSM; std::cout << "General"; break; case 0 : default : std::cout << "No"; } std::cout << " simplifier" << std::endl; work.setSimplifier(simplifier); # 400 "example.cc" 3 4 (static_cast (0)) # 400 "example.cc" ; switch(starting) { case 3 : starter = new SPxVectorST; std::cout << "Vector"; break; case 2 : starter = new SPxSumST; std::cout << "Sum"; break; case 1 : starter = new SPxWeightST; std::cout << "Weight"; break; case 0 : default : std::cout << "No"; break; } std::cout << " starter" << std::endl; work.setStarter(starter); # 424 "example.cc" 3 4 (static_cast (0)) # 424 "example.cc" ; Timer timer; std::cout << "loading LP file " << filename << std::endl; if (!work.readFile(filename, &rownames, &colnames)) { std::cout << "error while reading file \"" << filename << "\"" << std::endl; exit(1); } # 435 "example.cc" 3 4 (static_cast (0)) # 435 "example.cc" ; std::cout << "LP has " << work.nRows() << "\trows and\n " << work.nCols() << "\tcolumns" << std::endl; if (basisname != 0) { if (!work.readBasisFile(basisname, rownames, colnames)) { std::cout << "error while reading file \"" << basisname << "\"" << std::endl; exit(1); } } timer.start(); std::cout << "solving LP" << std::endl; work.solve(); timer.stop(); if (!out_file.is_open()) { out_file.open(out_filename, std::ios::app); if (!out_file.is_open()) { std::cerr << "Couldn't open \"" << out_filename << "\" for appending." << std::endl; exit(1); } } out_file << "Factorizations: " << work.getFactorCount() << std::endl; SoPlex::Status stat = work.status(); switch (stat) { case SoPlex::OPTIMAL: std::cout << "solution value is: " << std::setprecision(precision) << work.value() << std::endl; if (print_quality) work.displayQuality(); if (print_solution) { if (simplifier != 0) { std::cerr << "Output of solution vector with simplifier not implemented" << " (use -s0 switch)." << std::endl; } else { DVector objx(work.nCols()); work.getPrimalUnscaled(objx); for(int i = 0; i < work.nCols(); i++) if (isNotZero(objx[i], epsilon)) std::cout << colnames[work.cId(i)] << "\t" << std::setw(16) << std::setprecision(precision) << objx[i] << std::endl; std::cout << "All other variable are zero." << std::endl; } } break; case SoPlex::UNBOUNDED: std::cout << "LP is unbounded"; break; case SoPlex::INFEASIBLE: std::cout << "LP is infeasible"; break; case SoPlex::ABORT_TIME: std::cout << "aborted due to time limit"; break; case SoPlex::ABORT_ITER: std::cout << "aborted due to iteration limit" << std::endl << "solution value is: " << std::setprecision(precision) << work.value() << std::endl; break; case SoPlex::ABORT_VALUE: std::cout << "aborted due to objective value limit"; break; default: std::cout << "An error occurred during the solution process"; break; } std::cout << std::endl; if (scaler != 0) delete scaler; if (simplifier != 0) delete simplifier; if (starter != 0) delete starter; # 548 "example.cc" 3 4 (static_cast (0)) # 548 "example.cc" ; delete pricer; # 551 "example.cc" 3 4 (static_cast (0)) # 551 "example.cc" ; delete ratiotester; if (basisname != 0) delete [] basisname; return 0; }