this is the most up to date working #2
@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.15)
|
||||
project(another_studproject)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_FLAGS "-O3 -flto=thin -march=native")
|
||||
# set(CMAKE_CXX_FLAGS "-O3 -flto=thin -march=native")
|
||||
add_executable(another_studproject
|
||||
./src/includes/generator.h
|
||||
./src/generator.cpp
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,76 +0,0 @@
|
||||
set(CMAKE_C_COMPILER "/usr/bin/clang")
|
||||
set(CMAKE_C_COMPILER_ARG1 "")
|
||||
set(CMAKE_C_COMPILER_ID "Clang")
|
||||
set(CMAKE_C_COMPILER_VERSION "9.0.0")
|
||||
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_C_COMPILER_WRAPPER "")
|
||||
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
|
||||
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
|
||||
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
|
||||
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
|
||||
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
|
||||
|
||||
set(CMAKE_C_PLATFORM_ID "Linux")
|
||||
set(CMAKE_C_SIMULATE_ID "")
|
||||
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU")
|
||||
set(CMAKE_C_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_C_COMPILER_AR "/usr/bin/llvm-ar")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_C_COMPILER_RANLIB "/usr/bin/llvm-ranlib")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_COMPILER_IS_GNUCC )
|
||||
set(CMAKE_C_COMPILER_LOADED 1)
|
||||
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_C_ABI_COMPILED TRUE)
|
||||
set(CMAKE_COMPILER_IS_MINGW )
|
||||
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||
set(CYGWIN 1)
|
||||
set(UNIX 1)
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_COMPILER_ENV_VAR "CC")
|
||||
|
||||
if(CMAKE_COMPILER_IS_MINGW)
|
||||
set(MINGW 1)
|
||||
endif()
|
||||
set(CMAKE_C_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
|
||||
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_C_LINKER_PREFERENCE 10)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_C_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_C_COMPILER_ABI "ELF")
|
||||
set(CMAKE_C_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/local/include;/usr/lib/clang/9.0.0/include;/usr/include")
|
||||
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
|
||||
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib64/gcc/x86_64-pc-linux-gnu/9.2.0;/usr/lib64;/lib64;/usr/lib;/lib")
|
||||
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
@ -1,79 +0,0 @@
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/clang++")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "Clang")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "9.0.0")
|
||||
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
|
||||
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
|
||||
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_ID "Linux")
|
||||
set(CMAKE_CXX_SIMULATE_ID "")
|
||||
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_CXX_COMPILER_AR "/usr/bin/llvm-ar")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/llvm-ranlib")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_COMPILER_IS_GNUCXX )
|
||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||
set(CMAKE_COMPILER_IS_MINGW )
|
||||
set(CMAKE_COMPILER_IS_CYGWIN )
|
||||
if(CMAKE_COMPILER_IS_CYGWIN)
|
||||
set(CYGWIN 1)
|
||||
set(UNIX 1)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||
|
||||
if(CMAKE_COMPILER_IS_MINGW)
|
||||
set(MINGW 1)
|
||||
endif()
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_CXX_COMPILER_ABI "ELF")
|
||||
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9.2.0;/usr/include/c++/9.2.0/x86_64-pc-linux-gnu;/usr/include/c++/9.2.0/backward;/usr/local/include;/usr/lib/clang/9.0.0/include;/usr/include")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib64/gcc/x86_64-pc-linux-gnu/9.2.0;/usr/lib64;/lib64;/usr/lib;/lib")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
Binary file not shown.
Binary file not shown.
@ -1,15 +0,0 @@
|
||||
set(CMAKE_HOST_SYSTEM "Linux-5.3.12-1-MANJARO")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "5.3.12-1-MANJARO")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM "Linux-5.3.12-1-MANJARO")
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_SYSTEM_VERSION "5.3.12-1-MANJARO")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
@ -1,665 +0,0 @@
|
||||
#ifdef __cplusplus
|
||||
# error "A C++ compiler has been selected for C."
|
||||
#endif
|
||||
|
||||
#if defined(__18CXX)
|
||||
# define ID_VOID_MAIN
|
||||
#endif
|
||||
#if defined(__CLASSIC_C__)
|
||||
/* cv-qualifiers did not exist in K&R C */
|
||||
# define const
|
||||
# define volatile
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_C)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_C >= 0x5100
|
||||
/* __SUNPRO_C = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_cc)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_cc = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
|
||||
|
||||
#elif defined(__DECC)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECC_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
|
||||
|
||||
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__TINYC__)
|
||||
# define COMPILER_ID "TinyCC"
|
||||
|
||||
#elif defined(__BCC__)
|
||||
# define COMPILER_ID "Bruce"
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
|
||||
# define COMPILER_ID "SDCC"
|
||||
# if defined(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
|
||||
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
|
||||
# else
|
||||
/* SDCC = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
|
||||
#if !defined(__STDC__)
|
||||
# if (defined(_MSC_VER) && !defined(__clang__)) \
|
||||
|| (defined(__ibmxl__) || defined(__IBMC__))
|
||||
# define C_DIALECT "90"
|
||||
# else
|
||||
# define C_DIALECT
|
||||
# endif
|
||||
#elif __STDC_VERSION__ >= 201000L
|
||||
# define C_DIALECT "11"
|
||||
#elif __STDC_VERSION__ >= 199901L
|
||||
# define C_DIALECT "99"
|
||||
#else
|
||||
# define C_DIALECT "90"
|
||||
#endif
|
||||
const char* info_language_dialect_default =
|
||||
"INFO" ":" "dialect_default[" C_DIALECT "]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
#ifdef ID_VOID_MAIN
|
||||
void main() {}
|
||||
#else
|
||||
# if defined(__CLASSIC_C__)
|
||||
int main(argc, argv) int argc; char *argv[];
|
||||
# else
|
||||
int main(int argc, char* argv[])
|
||||
# endif
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_dialect_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
#endif
|
Binary file not shown.
@ -1,644 +0,0 @@
|
||||
/* This source file must have a .cpp extension so that all C++ compilers
|
||||
recognize the extension without flags. Borland does not know .cxx for
|
||||
example. */
|
||||
#ifndef __cplusplus
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__COMO__)
|
||||
# define COMPILER_ID "Comeau"
|
||||
/* __COMO_VERSION__ = VRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
|
||||
|
||||
#elif defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_CC >= 0x5100
|
||||
/* __SUNPRO_CC = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_aCC = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||
|
||||
#elif defined(__DECCXX)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECCXX_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__) || defined(__GNUG__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# if defined(__GNUC__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VISUALDSPVERSION__)
|
||||
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
|
||||
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
|
||||
#if defined(_MSC_VER) && defined(_MSVC_LANG)
|
||||
#define CXX_STD _MSVC_LANG
|
||||
#else
|
||||
#define CXX_STD __cplusplus
|
||||
#endif
|
||||
|
||||
const char* info_language_dialect_default = "INFO" ":" "dialect_default["
|
||||
#if CXX_STD > 201703L
|
||||
"20"
|
||||
#elif CXX_STD >= 201703L
|
||||
"17"
|
||||
#elif CXX_STD >= 201402L
|
||||
"14"
|
||||
#elif CXX_STD >= 201103L
|
||||
"11"
|
||||
#else
|
||||
"98"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXE) || defined(__CRAYXC)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_dialect_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
Binary file not shown.
@ -1,16 +0,0 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.15
|
||||
|
||||
# Relative path conversion top directories.
|
||||
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/massiveatoms/Desktop/studieproject/homebrew")
|
||||
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug")
|
||||
|
||||
# Force unix paths in dependencies.
|
||||
set(CMAKE_FORCE_UNIX_PATHS 1)
|
||||
|
||||
|
||||
# The C and CXX include file regular expressions for this directory.
|
||||
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
|
||||
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
|
||||
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
|
||||
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
|
@ -1,126 +0,0 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.15
|
||||
|
||||
# The generator used is:
|
||||
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
|
||||
|
||||
# The top level Makefile was generated from the following files:
|
||||
set(CMAKE_MAKEFILE_DEPENDS
|
||||
"CMakeCache.txt"
|
||||
"../CMakeLists.txt"
|
||||
"CMakeFiles/3.15.5/CMakeCCompiler.cmake"
|
||||
"CMakeFiles/3.15.5/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/3.15.5/CMakeSystem.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeCCompiler.cmake.in"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeCCompilerABI.c"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeCInformation.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeCXXCompiler.cmake.in"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeCXXCompilerABI.cpp"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeCXXInformation.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeCommonLanguageInclude.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeCompilerIdDetection.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeDetermineCCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeDetermineCXXCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeDetermineCompileFeatures.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeDetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeDetermineCompilerABI.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeDetermineCompilerId.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeDetermineSystem.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeFindBinUtils.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeFindCodeBlocks.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeGenericSystem.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeInitializeConfigs.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeLanguageInformation.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeParseImplicitIncludeInfo.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeParseImplicitLinkInfo.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeSystem.cmake.in"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeSystemSpecificInformation.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeSystemSpecificInitialize.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeTestCCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeTestCXXCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeTestCompilerCommon.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/CMakeUnixFindMake.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/ADSP-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Borland-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Clang-C.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Clang-CXX.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Clang-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Clang-FindBinUtils.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Clang.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Cray-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/GHS-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/GNU.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/HP-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/IAR-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Intel-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/MSVC-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/PGI-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/PathScale-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/SCO-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/TI-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/Watcom-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/XL-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/XLClang-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Internal/CMakeCheckCompilerFlag.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Internal/FeatureTesting.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Platform/Linux-Clang-C.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Platform/Linux-Clang-CXX.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Platform/Linux-Determine-CXX.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Platform/Linux-GNU-C.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Platform/Linux-GNU-CXX.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Platform/Linux-GNU.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Platform/Linux.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/Platform/UnixPaths.cmake"
|
||||
"/usr/share/cmake-3.15/Modules/ProcessorCount.cmake"
|
||||
)
|
||||
|
||||
# The corresponding makefile is:
|
||||
set(CMAKE_MAKEFILE_OUTPUTS
|
||||
"Makefile"
|
||||
"CMakeFiles/cmake.check_cache"
|
||||
)
|
||||
|
||||
# Byproducts of CMake generate step:
|
||||
set(CMAKE_MAKEFILE_PRODUCTS
|
||||
"CMakeFiles/3.15.5/CMakeSystem.cmake"
|
||||
"CMakeFiles/3.15.5/CMakeCCompiler.cmake"
|
||||
"CMakeFiles/3.15.5/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/3.15.5/CMakeCCompiler.cmake"
|
||||
"CMakeFiles/3.15.5/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/CMakeDirectoryInformation.cmake"
|
||||
)
|
||||
|
||||
# Dependency information for all targets:
|
||||
set(CMAKE_DEPEND_INFO_FILES
|
||||
"CMakeFiles/another_studproject.dir/DependInfo.cmake"
|
||||
)
|
@ -1,111 +0,0 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.15
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
|
||||
.PHONY : default_target
|
||||
|
||||
# The main recursive all target
|
||||
all:
|
||||
|
||||
.PHONY : all
|
||||
|
||||
# The main recursive preinstall target
|
||||
preinstall:
|
||||
|
||||
.PHONY : preinstall
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
|
||||
# Remove some rules from gmake that .SUFFIXES does not remove.
|
||||
SUFFIXES =
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
|
||||
# Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E remove -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/massiveatoms/Desktop/studieproject/homebrew
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug
|
||||
|
||||
#=============================================================================
|
||||
# Directory level rules for the build root directory
|
||||
|
||||
# The main recursive "clean" target.
|
||||
clean: CMakeFiles/another_studproject.dir/clean
|
||||
|
||||
.PHONY : clean
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for target CMakeFiles/another_studproject.dir
|
||||
|
||||
# All Build rule for target.
|
||||
CMakeFiles/another_studproject.dir/all:
|
||||
$(MAKE) -f CMakeFiles/another_studproject.dir/build.make CMakeFiles/another_studproject.dir/depend
|
||||
$(MAKE) -f CMakeFiles/another_studproject.dir/build.make CMakeFiles/another_studproject.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles --progress-num=1,2 "Built target another_studproject"
|
||||
.PHONY : CMakeFiles/another_studproject.dir/all
|
||||
|
||||
# Include target in all.
|
||||
all: CMakeFiles/another_studproject.dir/all
|
||||
|
||||
.PHONY : all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
CMakeFiles/another_studproject.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles 2
|
||||
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/another_studproject.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles 0
|
||||
.PHONY : CMakeFiles/another_studproject.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
another_studproject: CMakeFiles/another_studproject.dir/rule
|
||||
|
||||
.PHONY : another_studproject
|
||||
|
||||
# clean rule for target.
|
||||
CMakeFiles/another_studproject.dir/clean:
|
||||
$(MAKE) -f CMakeFiles/another_studproject.dir/build.make CMakeFiles/another_studproject.dir/clean
|
||||
.PHONY : CMakeFiles/another_studproject.dir/clean
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
@ -1,3 +0,0 @@
|
||||
/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles/rebuild_cache.dir
|
||||
/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles/another_studproject.dir
|
||||
/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles/edit_cache.dir
|
@ -1,28 +0,0 @@
|
||||
#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
|
||||
|
||||
#IncludeRegexScan: ^.*$
|
||||
|
||||
#IncludeRegexComplain: ^$
|
||||
|
||||
#IncludeRegexTransform:
|
||||
|
||||
/home/massiveatoms/Desktop/studieproject/homebrew/main.cpp
|
||||
iostream
|
||||
-
|
||||
vector
|
||||
-
|
||||
unordered_map
|
||||
-
|
||||
algorithm
|
||||
-
|
||||
random
|
||||
-
|
||||
iterator
|
||||
-
|
||||
chrono
|
||||
-
|
||||
string
|
||||
-
|
||||
math.h
|
||||
-
|
||||
|
@ -1,20 +0,0 @@
|
||||
# The set of languages for which implicit dependencies are needed:
|
||||
set(CMAKE_DEPENDS_LANGUAGES
|
||||
"CXX"
|
||||
)
|
||||
# The set of files for implicit dependencies of each language:
|
||||
set(CMAKE_DEPENDS_CHECK_CXX
|
||||
"/home/massiveatoms/Desktop/studieproject/homebrew/main.cpp" "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles/another_studproject.dir/main.cpp.o"
|
||||
)
|
||||
set(CMAKE_CXX_COMPILER_ID "Clang")
|
||||
|
||||
# The include file search paths:
|
||||
set(CMAKE_CXX_TARGET_INCLUDE_PATH
|
||||
)
|
||||
|
||||
# Targets to which this target links.
|
||||
set(CMAKE_TARGET_LINKED_INFO_FILES
|
||||
)
|
||||
|
||||
# Fortran module output directory.
|
||||
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
|
@ -1,98 +0,0 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.15
|
||||
|
||||
# Delete rule output on recipe failure.
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
|
||||
# Remove some rules from gmake that .SUFFIXES does not remove.
|
||||
SUFFIXES =
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
|
||||
# Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E remove -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/massiveatoms/Desktop/studieproject/homebrew
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug
|
||||
|
||||
# Include any dependencies generated for this target.
|
||||
include CMakeFiles/another_studproject.dir/depend.make
|
||||
|
||||
# Include the progress variables for this target.
|
||||
include CMakeFiles/another_studproject.dir/progress.make
|
||||
|
||||
# Include the compile flags for this target's objects.
|
||||
include CMakeFiles/another_studproject.dir/flags.make
|
||||
|
||||
CMakeFiles/another_studproject.dir/main.cpp.o: CMakeFiles/another_studproject.dir/flags.make
|
||||
CMakeFiles/another_studproject.dir/main.cpp.o: ../main.cpp
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/another_studproject.dir/main.cpp.o"
|
||||
/usr/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles/another_studproject.dir/main.cpp.o -c /home/massiveatoms/Desktop/studieproject/homebrew/main.cpp
|
||||
|
||||
CMakeFiles/another_studproject.dir/main.cpp.i: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/another_studproject.dir/main.cpp.i"
|
||||
/usr/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/massiveatoms/Desktop/studieproject/homebrew/main.cpp > CMakeFiles/another_studproject.dir/main.cpp.i
|
||||
|
||||
CMakeFiles/another_studproject.dir/main.cpp.s: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/another_studproject.dir/main.cpp.s"
|
||||
/usr/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/massiveatoms/Desktop/studieproject/homebrew/main.cpp -o CMakeFiles/another_studproject.dir/main.cpp.s
|
||||
|
||||
# Object files for target another_studproject
|
||||
another_studproject_OBJECTS = \
|
||||
"CMakeFiles/another_studproject.dir/main.cpp.o"
|
||||
|
||||
# External object files for target another_studproject
|
||||
another_studproject_EXTERNAL_OBJECTS =
|
||||
|
||||
another_studproject: CMakeFiles/another_studproject.dir/main.cpp.o
|
||||
another_studproject: CMakeFiles/another_studproject.dir/build.make
|
||||
another_studproject: CMakeFiles/another_studproject.dir/link.txt
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable another_studproject"
|
||||
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/another_studproject.dir/link.txt --verbose=$(VERBOSE)
|
||||
|
||||
# Rule to build all files generated by this target.
|
||||
CMakeFiles/another_studproject.dir/build: another_studproject
|
||||
|
||||
.PHONY : CMakeFiles/another_studproject.dir/build
|
||||
|
||||
CMakeFiles/another_studproject.dir/clean:
|
||||
$(CMAKE_COMMAND) -P CMakeFiles/another_studproject.dir/cmake_clean.cmake
|
||||
.PHONY : CMakeFiles/another_studproject.dir/clean
|
||||
|
||||
CMakeFiles/another_studproject.dir/depend:
|
||||
cd /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/massiveatoms/Desktop/studieproject/homebrew /home/massiveatoms/Desktop/studieproject/homebrew /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles/another_studproject.dir/DependInfo.cmake --color=$(COLOR)
|
||||
.PHONY : CMakeFiles/another_studproject.dir/depend
|
||||
|
@ -1,10 +0,0 @@
|
||||
file(REMOVE_RECURSE
|
||||
"CMakeFiles/another_studproject.dir/main.cpp.o"
|
||||
"another_studproject"
|
||||
"another_studproject.pdb"
|
||||
)
|
||||
|
||||
# Per-language clean rules from dependency scanning.
|
||||
foreach(lang CXX)
|
||||
include(CMakeFiles/another_studproject.dir/cmake_clean_${lang}.cmake OPTIONAL)
|
||||
endforeach()
|
@ -1,5 +0,0 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.15
|
||||
|
||||
CMakeFiles/another_studproject.dir/main.cpp.o
|
||||
/home/massiveatoms/Desktop/studieproject/homebrew/main.cpp
|
@ -1,5 +0,0 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.15
|
||||
|
||||
CMakeFiles/another_studproject.dir/main.cpp.o: ../main.cpp
|
||||
|
@ -1,10 +0,0 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.15
|
||||
|
||||
# compile CXX with /usr/bin/clang++
|
||||
CXX_FLAGS = -g -std=gnu++17
|
||||
|
||||
CXX_DEFINES =
|
||||
|
||||
CXX_INCLUDES =
|
||||
|
@ -1 +0,0 @@
|
||||
/usr/bin/clang++ -g CMakeFiles/another_studproject.dir/main.cpp.o -o another_studproject
|
@ -1,3 +0,0 @@
|
||||
CMAKE_PROGRESS_1 = 1
|
||||
CMAKE_PROGRESS_2 = 2
|
||||
|
Binary file not shown.
@ -1,18 +0,0 @@
|
||||
/usr/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -G "CodeBlocks - Unix Makefiles" /home/massiveatoms/Desktop/studieproject/homebrew
|
||||
-- The C compiler identification is Clang 9.0.0
|
||||
-- The CXX compiler identification is Clang 9.0.0
|
||||
-- Check for working C compiler: /usr/bin/clang
|
||||
-- Check for working C compiler: /usr/bin/clang -- works
|
||||
-- Detecting C compiler ABI info
|
||||
-- Detecting C compiler ABI info - done
|
||||
-- Detecting C compile features
|
||||
-- Detecting C compile features - done
|
||||
-- Check for working CXX compiler: /usr/bin/clang++
|
||||
-- Check for working CXX compiler: /usr/bin/clang++ -- works
|
||||
-- Detecting CXX compiler ABI info
|
||||
-- Detecting CXX compiler ABI info - done
|
||||
-- Detecting CXX compile features
|
||||
-- Detecting CXX compile features - done
|
||||
-- Configuring done
|
||||
-- Generating done
|
||||
-- Build files have been written to: /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug
|
@ -1 +0,0 @@
|
||||
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
|
@ -1 +0,0 @@
|
||||
2
|
@ -1,178 +0,0 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.15
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
|
||||
# Remove some rules from gmake that .SUFFIXES does not remove.
|
||||
SUFFIXES =
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
|
||||
# Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E remove -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/massiveatoms/Desktop/studieproject/homebrew
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
|
||||
/usr/bin/cmake-gui -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles/progress.marks
|
||||
$(MAKE) -f CMakeFiles/Makefile2 all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
$(MAKE) -f CMakeFiles/Makefile2 clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
$(MAKE) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
$(MAKE) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named another_studproject
|
||||
|
||||
# Build rule for target.
|
||||
another_studproject: cmake_check_build_system
|
||||
$(MAKE) -f CMakeFiles/Makefile2 another_studproject
|
||||
.PHONY : another_studproject
|
||||
|
||||
# fast build rule for target.
|
||||
another_studproject/fast:
|
||||
$(MAKE) -f CMakeFiles/another_studproject.dir/build.make CMakeFiles/another_studproject.dir/build
|
||||
.PHONY : another_studproject/fast
|
||||
|
||||
main.o: main.cpp.o
|
||||
|
||||
.PHONY : main.o
|
||||
|
||||
# target to build an object file
|
||||
main.cpp.o:
|
||||
$(MAKE) -f CMakeFiles/another_studproject.dir/build.make CMakeFiles/another_studproject.dir/main.cpp.o
|
||||
.PHONY : main.cpp.o
|
||||
|
||||
main.i: main.cpp.i
|
||||
|
||||
.PHONY : main.i
|
||||
|
||||
# target to preprocess a source file
|
||||
main.cpp.i:
|
||||
$(MAKE) -f CMakeFiles/another_studproject.dir/build.make CMakeFiles/another_studproject.dir/main.cpp.i
|
||||
.PHONY : main.cpp.i
|
||||
|
||||
main.s: main.cpp.s
|
||||
|
||||
.PHONY : main.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
main.cpp.s:
|
||||
$(MAKE) -f CMakeFiles/another_studproject.dir/build.make CMakeFiles/another_studproject.dir/main.cpp.s
|
||||
.PHONY : main.cpp.s
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... another_studproject"
|
||||
@echo "... edit_cache"
|
||||
@echo "... main.o"
|
||||
@echo "... main.i"
|
||||
@echo "... main.s"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
Binary file not shown.
@ -1,90 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CodeBlocks_project_file>
|
||||
<FileVersion major="1" minor="6"/>
|
||||
<Project>
|
||||
<Option title="another_studproject"/>
|
||||
<Option makefile_is_custom="1"/>
|
||||
<Option compiler="clang"/>
|
||||
<Option virtualFolders="CMake Files\;"/>
|
||||
<Build>
|
||||
<Target title="all">
|
||||
<Option working_dir="/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug"/>
|
||||
<Option type="4"/>
|
||||
<MakeCommands>
|
||||
<Build command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 all"/>
|
||||
<CompileFile command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 "$file""/>
|
||||
<Clean command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 clean"/>
|
||||
<DistClean command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 clean"/>
|
||||
</MakeCommands>
|
||||
</Target>
|
||||
<Target title="rebuild_cache">
|
||||
<Option working_dir="/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug"/>
|
||||
<Option type="4"/>
|
||||
<MakeCommands>
|
||||
<Build command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 rebuild_cache"/>
|
||||
<CompileFile command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 "$file""/>
|
||||
<Clean command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 clean"/>
|
||||
<DistClean command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 clean"/>
|
||||
</MakeCommands>
|
||||
</Target>
|
||||
<Target title="another_studproject">
|
||||
<Option output="/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/another_studproject" prefix_auto="0" extension_auto="0"/>
|
||||
<Option working_dir="/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug"/>
|
||||
<Option object_output="./"/>
|
||||
<Option type="1"/>
|
||||
<Option compiler="clang"/>
|
||||
<Compiler>
|
||||
<Add directory="/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0"/>
|
||||
<Add directory="/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/x86_64-pc-linux-gnu"/>
|
||||
<Add directory="/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/backward"/>
|
||||
<Add directory="/usr/local/include"/>
|
||||
<Add directory="/usr/lib/clang/9.0.0/include"/>
|
||||
<Add directory="/usr/include"/>
|
||||
</Compiler>
|
||||
<MakeCommands>
|
||||
<Build command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 another_studproject"/>
|
||||
<CompileFile command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 "$file""/>
|
||||
<Clean command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 clean"/>
|
||||
<DistClean command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 clean"/>
|
||||
</MakeCommands>
|
||||
</Target>
|
||||
<Target title="another_studproject/fast">
|
||||
<Option output="/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/another_studproject" prefix_auto="0" extension_auto="0"/>
|
||||
<Option working_dir="/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug"/>
|
||||
<Option object_output="./"/>
|
||||
<Option type="1"/>
|
||||
<Option compiler="clang"/>
|
||||
<Compiler>
|
||||
<Add directory="/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0"/>
|
||||
<Add directory="/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/x86_64-pc-linux-gnu"/>
|
||||
<Add directory="/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/backward"/>
|
||||
<Add directory="/usr/local/include"/>
|
||||
<Add directory="/usr/lib/clang/9.0.0/include"/>
|
||||
<Add directory="/usr/include"/>
|
||||
</Compiler>
|
||||
<MakeCommands>
|
||||
<Build command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 another_studproject/fast"/>
|
||||
<CompileFile command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 "$file""/>
|
||||
<Clean command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 clean"/>
|
||||
<DistClean command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 clean"/>
|
||||
</MakeCommands>
|
||||
</Target>
|
||||
<Target title="edit_cache">
|
||||
<Option working_dir="/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug"/>
|
||||
<Option type="4"/>
|
||||
<MakeCommands>
|
||||
<Build command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 edit_cache"/>
|
||||
<CompileFile command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 "$file""/>
|
||||
<Clean command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 clean"/>
|
||||
<DistClean command="/usr/bin/make -j4 -f "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/Makefile" VERBOSE=1 clean"/>
|
||||
</MakeCommands>
|
||||
</Target>
|
||||
</Build>
|
||||
<Unit filename="/home/massiveatoms/Desktop/studieproject/homebrew/main.cpp">
|
||||
<Option target="another_studproject"/>
|
||||
</Unit>
|
||||
<Unit filename="/home/massiveatoms/Desktop/studieproject/homebrew/CMakeLists.txt">
|
||||
<Option virtualFolder="CMake Files\"/>
|
||||
</Unit>
|
||||
</Project>
|
||||
</CodeBlocks_project_file>
|
@ -1,49 +0,0 @@
|
||||
# Install script for directory: /home/massiveatoms/Desktop/studieproject/homebrew
|
||||
|
||||
# Set the install prefix
|
||||
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
set(CMAKE_INSTALL_PREFIX "/usr/local")
|
||||
endif()
|
||||
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
# Set the install configuration name.
|
||||
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
|
||||
if(BUILD_TYPE)
|
||||
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
|
||||
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_CONFIG_NAME "Debug")
|
||||
endif()
|
||||
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
|
||||
endif()
|
||||
|
||||
# Set the component getting installed.
|
||||
if(NOT CMAKE_INSTALL_COMPONENT)
|
||||
if(COMPONENT)
|
||||
message(STATUS "Install component: \"${COMPONENT}\"")
|
||||
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_COMPONENT)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Install shared libraries without execute permission?
|
||||
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
||||
set(CMAKE_INSTALL_SO_NO_EXE "0")
|
||||
endif()
|
||||
|
||||
# Is this installation the result of a crosscompile?
|
||||
if(NOT DEFINED CMAKE_CROSSCOMPILING)
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
endif()
|
||||
|
||||
if(CMAKE_INSTALL_COMPONENT)
|
||||
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
|
||||
else()
|
||||
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
|
||||
endif()
|
||||
|
||||
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
|
||||
"${CMAKE_INSTALL_MANIFEST_FILES}")
|
||||
file(WRITE "/home/massiveatoms/Desktop/studieproject/homebrew/cmake-build-debug/${CMAKE_INSTALL_MANIFEST}"
|
||||
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
11
main.cpp
11
main.cpp
@ -2,19 +2,24 @@
|
||||
#include <unordered_map>
|
||||
#include <functional>
|
||||
#include <fstream>
|
||||
#include <sparsehash/sparse_hash_map>
|
||||
|
||||
#include "./src/includes/aggregate_tests.h"
|
||||
|
||||
|
||||
|
||||
|
||||
// typedef std::unordered_map<int,int> map;
|
||||
// typedef google::sparse_hash_map<int, int> intmap;
|
||||
// typedef google::sparse_hash_map<std::string,std::string> stringmap
|
||||
typedef std::unordered_map<int, int> intmap;
|
||||
typedef std::unordered_map<string, string> stringmap;
|
||||
// we can use ^ to switch the map implementations to that
|
||||
// we can add some cli handling so we can specify which maps to tests (or all)
|
||||
int main() {
|
||||
time_point<steady_clock> start_test = steady_clock::now();
|
||||
string_test(std::unordered_map<std::string, std::string>{}, 1); // process gets killed for sizes >35000
|
||||
int_test(std::unordered_map<int, int>{}, 1);
|
||||
// string_test(stringmap{}, 1); // process gets killed for sizes >35000
|
||||
int_test_aggregate(intmap{}, 2);
|
||||
string_test_aggregate(stringmap{}, 2);
|
||||
time_point<steady_clock> end_test = steady_clock::now();
|
||||
std::cout << "1 run all tests 1 map: " << duration_cast<minutes>(end_test-start_test).count() << " minutes";
|
||||
// test takes 52 mins for 10 runs for one hashmap
|
||||
|
160
results.csv
160
results.csv
@ -1,160 +0,0 @@
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 407.000000, 345.000000, 325.000000, 402.000000, 475.000000, 378.000000, 476.000000, 553.000000, 369.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 226.000000, 282.000000, 294.000000, 429.000000, 332.000000, 307.000000, 483.000000, 372.000000, 382.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 248.000000, 256.000000, 288.000000, 736.000000, 518.000000, 416.000000, 559.000000, 413.000000, 531.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 587.000000, 268.000000, 376.000000, 306.000000, 330.000000, 301.000000, 484.000000, 530.000000, 408.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 222.000000, 280.000000, 320.000000, 359.000000, 319.000000, 313.000000, 389.000000, 411.000000, 429.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 237.000000, 270.000000, 432.000000, 327.000000, 322.000000, 371.000000, 462.000000, 380.000000, 398.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 378.000000, 399.000000, 374.000000, 311.000000, 319.000000, 325.000000, 375.000000, 535.000000, 387.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 212.000000, 264.000000, 295.000000, 305.000000, 325.000000, 323.000000, 385.000000, 400.000000, 388.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 205.000000, 265.000000, 292.000000, 327.000000, 390.000000, 512.000000, 379.000000, 377.000000, 433.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 273.000000, 289.000000, 296.000000, 321.000000, 319.000000, 330.000000, 410.000000, 380.000000, 397.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 289.000000, 370.000000, 421.000000, 383.000000, 300.000000, 300.000000, 311.000000, 309.000000, 306.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 197.000000, 251.000000, 275.000000, 295.000000, 298.000000, 299.000000, 307.000000, 306.000000, 313.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 196.000000, 261.000000, 281.000000, 470.000000, 452.000000, 436.000000, 465.000000, 377.000000, 493.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 293.000000, 379.000000, 281.000000, 313.000000, 303.000000, 418.000000, 356.000000, 449.000000, 408.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 329.000000, 436.000000, 521.000000, 419.000000, 378.000000, 401.000000, 334.000000, 316.000000, 324.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 192.000000, 253.000000, 273.000000, 289.000000, 335.000000, 379.000000, 451.000000, 305.000000, 310.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 334.000000, 392.000000, 396.000000, 390.000000, 358.000000, 539.000000, 309.000000, 384.000000, 309.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 195.000000, 254.000000, 318.000000, 346.000000, 421.000000, 508.000000, 300.000000, 303.000000, 351.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 190.000000, 253.000000, 275.000000, 284.000000, 300.000000, 297.000000, 306.000000, 310.000000, 303.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 199.000000, 251.000000, 424.000000, 282.000000, 411.000000, 492.000000, 316.000000, 313.000000, 339.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 553.000000, 1172.000000, 1701.000000, 2099.000000, 2720.000000, 337.000000, 3647.000000, 371.000000, 374.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 530.000000, 1105.000000, 1681.000000, 2041.000000, 2590.000000, 382.000000, 3663.000000, 350.000000, 415.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 516.000000, 1125.000000, 1650.000000, 2003.000000, 2577.000000, 328.000000, 3664.000000, 353.000000, 377.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 523.000000, 1102.000000, 1730.000000, 2048.000000, 2656.000000, 329.000000, 3696.000000, 367.000000, 384.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 554.000000, 1127.000000, 2172.000000, 2053.000000, 2628.000000, 327.000000, 3679.000000, 354.000000, 398.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 866.000000, 1107.000000, 1661.000000, 2123.000000, 4012.000000, 495.000000, 3656.000000, 388.000000, 386.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 545.000000, 1110.000000, 1670.000000, 2016.000000, 2584.000000, 346.000000, 3709.000000, 380.000000, 537.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 743.000000, 1101.000000, 1632.000000, 2068.000000, 2634.000000, 453.000000, 5471.000000, 362.000000, 374.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 520.000000, 1111.000000, 1642.000000, 2019.000000, 2634.000000, 338.000000, 3689.000000, 362.000000, 519.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 746.000000, 1643.000000, 1814.000000, 2035.000000, 2678.000000, 363.000000, 4307.000000, 512.000000, 383.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 418.000000, 423.000000, 486.000000, 356.000000, 465.000000, 368.000000, 390.000000, 378.000000, 395.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 242.000000, 317.000000, 342.000000, 451.000000, 366.000000, 376.000000, 383.000000, 374.000000, 455.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 239.000000, 314.000000, 340.000000, 356.000000, 359.000000, 370.000000, 376.000000, 385.000000, 389.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 233.000000, 309.000000, 336.000000, 356.000000, 363.000000, 368.000000, 372.000000, 381.000000, 386.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 249.000000, 313.000000, 351.000000, 350.000000, 680.000000, 367.000000, 490.000000, 385.000000, 400.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 272.000000, 312.000000, 348.000000, 360.000000, 397.000000, 366.000000, 388.000000, 490.000000, 496.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 294.000000, 320.000000, 336.000000, 355.000000, 364.000000, 372.000000, 372.000000, 389.000000, 552.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 234.000000, 313.000000, 368.000000, 352.000000, 597.000000, 410.000000, 468.000000, 387.000000, 385.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 241.000000, 458.000000, 578.000000, 354.000000, 360.000000, 373.000000, 376.000000, 386.000000, 543.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 396.000000, 518.000000, 499.000000, 571.000000, 500.000000, 524.000000, 568.000000, 486.000000, 393.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 107.000000, 164.000000, 260.000000, 223.000000, 268.000000, 387.000000, 379.000000, 325.000000, 299.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 124.000000, 157.000000, 196.000000, 225.000000, 252.000000, 245.000000, 252.000000, 271.000000, 270.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 93.000000, 184.000000, 272.000000, 217.000000, 242.000000, 255.000000, 308.000000, 259.000000, 257.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 99.000000, 162.000000, 191.000000, 230.000000, 257.000000, 246.000000, 255.000000, 262.000000, 266.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 97.000000, 171.000000, 202.000000, 231.000000, 244.000000, 240.000000, 260.000000, 352.000000, 266.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 92.000000, 167.000000, 202.000000, 225.000000, 237.000000, 241.000000, 256.000000, 270.000000, 264.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 98.000000, 226.000000, 201.000000, 236.000000, 342.000000, 400.000000, 268.000000, 375.000000, 259.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 100.000000, 163.000000, 200.000000, 220.000000, 236.000000, 236.000000, 318.000000, 266.000000, 269.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 104.000000, 157.000000, 198.000000, 221.000000, 262.000000, 238.000000, 251.000000, 263.000000, 265.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 187.000000, 163.000000, 213.000000, 226.000000, 233.000000, 351.000000, 256.000000, 256.000000, 259.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 51.000000, 74.000000, 89.000000, 159.000000, 111.000000, 112.000000, 119.000000, 249.000000, 117.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 38.000000, 75.000000, 135.000000, 106.000000, 175.000000, 150.000000, 124.000000, 132.000000, 128.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 39.000000, 97.000000, 90.000000, 253.000000, 234.000000, 118.000000, 113.000000, 119.000000, 205.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 97.000000, 153.000000, 95.000000, 108.000000, 110.000000, 229.000000, 116.000000, 120.000000, 120.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 42.000000, 72.000000, 119.000000, 106.000000, 259.000000, 110.000000, 185.000000, 114.000000, 119.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 41.000000, 92.000000, 93.000000, 116.000000, 125.000000, 107.000000, 126.000000, 115.000000, 151.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 35.000000, 71.000000, 95.000000, 101.000000, 114.000000, 115.000000, 116.000000, 117.000000, 119.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 38.000000, 74.000000, 92.000000, 116.000000, 118.000000, 113.000000, 120.000000, 119.000000, 118.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 36.000000, 71.000000, 99.000000, 112.000000, 111.000000, 118.000000, 120.000000, 116.000000, 121.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 47.000000, 80.000000, 93.000000, 99.000000, 108.000000, 109.000000, 113.000000, 115.000000, 121.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 518.000000, 684.000000, 1106.000000, 1448.000000, 2930.000000, 385.000000, 2598.000000, 267.000000, 273.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 267.000000, 691.000000, 1114.000000, 1449.000000, 1874.000000, 248.000000, 4059.000000, 253.000000, 281.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 244.000000, 686.000000, 1231.000000, 1441.000000, 2799.000000, 385.000000, 4337.000000, 367.000000, 489.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 549.000000, 1295.000000, 1773.000000, 2237.000000, 3013.000000, 305.000000, 3861.000000, 373.000000, 318.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 603.000000, 1225.000000, 1791.000000, 2229.000000, 2864.000000, 386.000000, 3968.000000, 300.000000, 392.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 483.000000, 1295.000000, 1895.000000, 2190.000000, 2944.000000, 338.000000, 2703.000000, 269.000000, 349.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 255.000000, 672.000000, 1208.000000, 1420.000000, 1865.000000, 254.000000, 3089.000000, 309.000000, 278.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 386.000000, 788.000000, 1113.000000, 1428.000000, 2467.000000, 257.000000, 2606.000000, 263.000000, 272.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 253.000000, 695.000000, 1134.000000, 1907.000000, 1862.000000, 341.000000, 3456.000000, 269.000000, 275.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 393.000000, 702.000000, 1240.000000, 1444.000000, 1882.000000, 265.000000, 2602.000000, 268.000000, 269.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 81.000000, 170.000000, 221.000000, 254.000000, 284.000000, 315.000000, 301.000000, 316.000000, 325.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 92.000000, 178.000000, 225.000000, 252.000000, 281.000000, 289.000000, 308.000000, 342.000000, 321.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 83.000000, 172.000000, 227.000000, 262.000000, 292.000000, 284.000000, 302.000000, 310.000000, 319.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 89.000000, 153.000000, 226.000000, 268.000000, 278.000000, 305.000000, 308.000000, 317.000000, 325.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 76.000000, 172.000000, 219.000000, 260.000000, 276.000000, 290.000000, 307.000000, 361.000000, 322.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 113.000000, 164.000000, 225.000000, 254.000000, 276.000000, 295.000000, 308.000000, 309.000000, 316.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 91.000000, 170.000000, 227.000000, 271.000000, 274.000000, 287.000000, 305.000000, 308.000000, 341.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 82.000000, 166.000000, 223.000000, 258.000000, 287.000000, 294.000000, 311.000000, 312.000000, 316.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 73.000000, 157.000000, 222.000000, 257.000000, 281.000000, 294.000000, 298.000000, 313.000000, 317.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 101.000000, 166.000000, 219.000000, 267.000000, 281.000000, 293.000000, 309.000000, 630.000000, 309.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 342.000000, 349.000000, 341.000000, 411.000000, 445.000000, 519.000000, 556.000000, 434.000000, 728.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 505.000000, 783.000000, 539.000000, 554.000000, 639.000000, 445.000000, 534.000000, 648.000000, 460.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 543.000000, 312.000000, 409.000000, 438.000000, 338.000000, 324.000000, 380.000000, 379.000000, 389.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 267.000000, 286.000000, 588.000000, 321.000000, 394.000000, 521.000000, 631.000000, 599.000000, 421.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 434.000000, 519.000000, 311.000000, 317.000000, 328.000000, 333.000000, 393.000000, 389.000000, 496.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 233.000000, 274.000000, 410.000000, 322.000000, 325.000000, 322.000000, 379.000000, 391.000000, 391.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 273.000000, 276.000000, 315.000000, 346.000000, 344.000000, 322.000000, 387.000000, 392.000000, 394.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 226.000000, 266.000000, 351.000000, 323.000000, 324.000000, 320.000000, 385.000000, 388.000000, 398.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 228.000000, 286.000000, 296.000000, 329.000000, 327.000000, 319.000000, 392.000000, 512.000000, 387.000000,
|
||||
insert_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 234.000000, 283.000000, 314.000000, 329.000000, 328.000000, 327.000000, 389.000000, 392.000000, 567.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 226.000000, 259.000000, 281.000000, 427.000000, 294.000000, 312.000000, 306.000000, 311.000000, 317.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 199.000000, 252.000000, 333.000000, 291.000000, 296.000000, 299.000000, 313.000000, 309.000000, 309.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 190.000000, 257.000000, 274.000000, 295.000000, 300.000000, 310.000000, 302.000000, 441.000000, 318.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 193.000000, 257.000000, 272.000000, 296.000000, 296.000000, 297.000000, 302.000000, 316.000000, 325.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 204.000000, 316.000000, 274.000000, 298.000000, 295.000000, 312.000000, 683.000000, 529.000000, 437.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 249.000000, 259.000000, 282.000000, 290.000000, 297.000000, 311.000000, 305.000000, 355.000000, 308.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 201.000000, 266.000000, 277.000000, 288.000000, 304.000000, 305.000000, 308.000000, 307.000000, 318.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 251.000000, 263.000000, 351.000000, 299.000000, 473.000000, 369.000000, 302.000000, 314.000000, 313.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 202.000000, 263.000000, 276.000000, 294.000000, 290.000000, 345.000000, 312.000000, 309.000000, 320.000000,
|
||||
lookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 197.000000, 278.000000, 281.000000, 287.000000, 299.000000, 298.000000, 304.000000, 308.000000, 402.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 1304.000000, 2393.000000, 2306.000000, 2037.000000, 2707.000000, 343.000000, 3732.000000, 382.000000, 372.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 535.000000, 1283.000000, 1671.000000, 2045.000000, 2595.000000, 336.000000, 4208.000000, 363.000000, 387.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 511.000000, 1172.000000, 1649.000000, 2012.000000, 2695.000000, 334.000000, 3733.000000, 370.000000, 388.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 528.000000, 1114.000000, 1817.000000, 2334.000000, 2650.000000, 331.000000, 3752.000000, 360.000000, 376.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 532.000000, 1085.000000, 1640.000000, 2036.000000, 2826.000000, 336.000000, 3773.000000, 348.000000, 387.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 519.000000, 1186.000000, 1766.000000, 2033.000000, 2587.000000, 332.000000, 4916.000000, 369.000000, 428.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 520.000000, 1106.000000, 1683.000000, 2039.000000, 2588.000000, 339.000000, 3752.000000, 366.000000, 388.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 514.000000, 1111.000000, 1961.000000, 2000.000000, 2579.000000, 325.000000, 3766.000000, 366.000000, 383.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 542.000000, 1099.000000, 1651.000000, 2038.000000, 2605.000000, 329.000000, 3835.000000, 360.000000, 389.000000,
|
||||
nolookup_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 513.000000, 1093.000000, 1717.000000, 2062.000000, 2655.000000, 334.000000, 4419.000000, 356.000000, 384.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 237.000000, 314.000000, 343.000000, 366.000000, 360.000000, 362.000000, 383.000000, 383.000000, 395.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 234.000000, 314.000000, 345.000000, 348.000000, 416.000000, 359.000000, 392.000000, 379.000000, 390.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 228.000000, 315.000000, 333.000000, 349.000000, 364.000000, 420.000000, 376.000000, 381.000000, 384.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 244.000000, 310.000000, 337.000000, 357.000000, 357.000000, 360.000000, 400.000000, 385.000000, 392.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 245.000000, 311.000000, 339.000000, 360.000000, 362.000000, 367.000000, 384.000000, 382.000000, 431.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 255.000000, 306.000000, 331.000000, 352.000000, 364.000000, 368.000000, 453.000000, 379.000000, 399.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 248.000000, 309.000000, 339.000000, 352.000000, 357.000000, 368.000000, 386.000000, 381.000000, 382.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 233.000000, 321.000000, 344.000000, 355.000000, 357.000000, 370.000000, 387.000000, 375.000000, 389.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 237.000000, 312.000000, 341.000000, 355.000000, 366.000000, 436.000000, 382.000000, 378.000000, 392.000000,
|
||||
delete_string, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >', 241.000000, 313.000000, 341.000000, 395.000000, 367.000000, 373.000000, 417.000000, 376.000000, 386.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 100.000000, 166.000000, 208.000000, 220.000000, 232.000000, 241.000000, 268.000000, 304.000000, 267.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 121.000000, 151.000000, 195.000000, 288.000000, 231.000000, 244.000000, 250.000000, 265.000000, 274.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 109.000000, 160.000000, 205.000000, 232.000000, 250.000000, 284.000000, 253.000000, 277.000000, 276.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 100.000000, 170.000000, 199.000000, 227.000000, 233.000000, 255.000000, 257.000000, 256.000000, 267.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 119.000000, 162.000000, 205.000000, 236.000000, 296.000000, 242.000000, 257.000000, 257.000000, 271.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 109.000000, 295.000000, 214.000000, 241.000000, 240.000000, 238.000000, 263.000000, 265.000000, 263.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 94.000000, 171.000000, 199.000000, 243.000000, 236.000000, 240.000000, 271.000000, 259.000000, 271.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 103.000000, 162.000000, 203.000000, 230.000000, 254.000000, 252.000000, 260.000000, 264.000000, 317.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 159.000000, 163.000000, 199.000000, 227.000000, 239.000000, 236.000000, 289.000000, 268.000000, 262.000000,
|
||||
insert_int, 'std::unordered_map<int, int>', 97.000000, 157.000000, 195.000000, 221.000000, 256.000000, 240.000000, 258.000000, 281.000000, 268.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 42.000000, 82.000000, 89.000000, 103.000000, 113.000000, 112.000000, 115.000000, 113.000000, 116.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 38.000000, 69.000000, 87.000000, 102.000000, 107.000000, 109.000000, 116.000000, 118.000000, 124.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 38.000000, 73.000000, 104.000000, 101.000000, 109.000000, 109.000000, 114.000000, 125.000000, 126.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 50.000000, 113.000000, 92.000000, 112.000000, 106.000000, 150.000000, 149.000000, 129.000000, 118.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 42.000000, 83.000000, 94.000000, 108.000000, 110.000000, 192.000000, 119.000000, 120.000000, 118.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 39.000000, 72.000000, 94.000000, 105.000000, 109.000000, 115.000000, 119.000000, 116.000000, 128.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 39.000000, 73.000000, 95.000000, 101.000000, 112.000000, 111.000000, 117.000000, 112.000000, 124.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 36.000000, 72.000000, 93.000000, 97.000000, 110.000000, 109.000000, 117.000000, 128.000000, 120.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 38.000000, 74.000000, 108.000000, 104.000000, 105.000000, 110.000000, 115.000000, 119.000000, 117.000000,
|
||||
lookup_int, 'std::unordered_map<int, int>', 36.000000, 76.000000, 93.000000, 99.000000, 111.000000, 110.000000, 126.000000, 119.000000, 118.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 281.000000, 709.000000, 1156.000000, 1440.000000, 1869.000000, 251.000000, 2553.000000, 269.000000, 271.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 251.000000, 689.000000, 1134.000000, 1444.000000, 1877.000000, 250.000000, 2580.000000, 263.000000, 271.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 241.000000, 693.000000, 1114.000000, 1676.000000, 1891.000000, 361.000000, 2543.000000, 262.000000, 273.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 255.000000, 691.000000, 1446.000000, 1435.000000, 1873.000000, 251.000000, 2567.000000, 271.000000, 271.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 262.000000, 688.000000, 1139.000000, 1436.000000, 2272.000000, 247.000000, 2576.000000, 271.000000, 271.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 264.000000, 716.000000, 1148.000000, 1451.000000, 1869.000000, 251.000000, 2579.000000, 265.000000, 269.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 234.000000, 680.000000, 1145.000000, 1505.000000, 1887.000000, 310.000000, 2555.000000, 276.000000, 269.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 242.000000, 676.000000, 1139.000000, 1438.000000, 1923.000000, 255.000000, 2591.000000, 269.000000, 281.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 260.000000, 726.000000, 1152.000000, 1462.000000, 1896.000000, 267.000000, 2622.000000, 265.000000, 274.000000,
|
||||
nolookup_int, 'std::unordered_map<int, int>', 285.000000, 708.000000, 1134.000000, 1439.000000, 1859.000000, 259.000000, 2568.000000, 262.000000, 276.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 99.000000, 186.000000, 234.000000, 257.000000, 271.000000, 288.000000, 304.000000, 310.000000, 320.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 86.000000, 189.000000, 261.000000, 265.000000, 292.000000, 295.000000, 298.000000, 312.000000, 334.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 106.000000, 213.000000, 225.000000, 258.000000, 280.000000, 287.000000, 297.000000, 313.000000, 322.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 89.000000, 168.000000, 231.000000, 256.000000, 281.000000, 287.000000, 310.000000, 312.000000, 317.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 249.000000, 196.000000, 224.000000, 266.000000, 279.000000, 295.000000, 304.000000, 304.000000, 320.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 98.000000, 175.000000, 233.000000, 256.000000, 283.000000, 292.000000, 305.000000, 307.000000, 331.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 87.000000, 174.000000, 227.000000, 244.000000, 297.000000, 290.000000, 300.000000, 316.000000, 320.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 97.000000, 172.000000, 221.000000, 289.000000, 276.000000, 285.000000, 304.000000, 324.000000, 321.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 95.000000, 169.000000, 225.000000, 251.000000, 286.000000, 291.000000, 301.000000, 314.000000, 328.000000,
|
||||
delete_int, 'std::unordered_map<int, int>', 91.000000, 194.000000, 382.000000, 271.000000, 298.000000, 295.000000, 316.000000, 304.000000, 317.000000,
|
|
@ -5,7 +5,7 @@
|
||||
std::string gen_string() { // 90^size posibilities
|
||||
std::string randomstring;
|
||||
for (int i = 0; i < 5; ++i) {
|
||||
randomstring += gen_char(generator);
|
||||
randomstring += singlechar(generator);
|
||||
}
|
||||
return randomstring;
|
||||
}
|
||||
@ -13,16 +13,15 @@ std::string gen_string() { // 90^size posibilities
|
||||
std::string gen_unsuccesfull_string() { // 90^size posibilities
|
||||
std::string randomstring;
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
randomstring += gen_char(generator);
|
||||
randomstring += singlechar(generator);//
|
||||
}
|
||||
return randomstring;
|
||||
}
|
||||
|
||||
|
||||
int gen_int(){
|
||||
return gen_insert_int(generator);
|
||||
return insert_int(generator);
|
||||
}
|
||||
|
||||
int gen_unsuccesfull_int(){
|
||||
return gen_noninsert_int(generator);
|
||||
return noninsert_int(generator);
|
||||
}
|
@ -6,15 +6,12 @@
|
||||
#include <iostream>
|
||||
|
||||
|
||||
std::vector<int> sizes = {
|
||||
vector<int> sizes = {
|
||||
50000, 100000, 150000, 200000, 250000, 300000, 350000, 400000, 500000,
|
||||
600000, 700000, 800000, 900000, 1000000,
|
||||
2000000, 3000000, 4000000, 5000000, 6000000, 7000000, 8000000, 9000000, 10000000,
|
||||
15000000, 20000000, 25000000, 30000000, 35000000,
|
||||
40000000, 45000000, 50000000
|
||||
// 15000000, 20000000, 25000000, 30000000, 35000000, 40000000, 45000000, 50000000
|
||||
};
|
||||
|
||||
|
||||
// to print type info
|
||||
|
||||
template <typename T>
|
||||
@ -47,113 +44,61 @@ std::basic_string_view<char> name(T var){
|
||||
|
||||
|
||||
template<class T>
|
||||
int int_test(T map, int repeats=30){
|
||||
std::cout << "\t\t" << name(map) << "int tests \n";
|
||||
void int_test_aggregate(T map, int runs){
|
||||
std::ofstream output{"results.csv", std::ios_base::app};
|
||||
// insert int tests
|
||||
for (int i = 0; i < repeats; ++i){
|
||||
std::string resultline = "insert_int, '" + std::string{name(map)} + "', ";
|
||||
for (auto size: sizes){
|
||||
float result = insert_int_test(size, T{}).count();
|
||||
resultline += std::to_string(result);
|
||||
resultline += ", ";
|
||||
}
|
||||
output << resultline << "\n";
|
||||
}
|
||||
std::cout << "insert int test done\n";
|
||||
for (int i = 0; i < runs; ++i);
|
||||
string insert = "\nint_insert, '";
|
||||
string succ_lookup = "\nint_succ_lookup, '";
|
||||
string nosucc_lookup = "\nint_nosucc_lookup, '";
|
||||
string delet = "\nint_delete, '";
|
||||
|
||||
// lookup int
|
||||
for (int i = 0; i < repeats; ++i){
|
||||
std::string resultline = "lookup_int, '" + std::string{name(map)} + "', ";
|
||||
insert += string{name(map)} + "'";
|
||||
succ_lookup += string{name(map)} + "'" ;
|
||||
nosucc_lookup += string{name(map)} +"'" ;
|
||||
delet += string{name(map)} + "'" ;
|
||||
for ( auto size : sizes){
|
||||
float result = lookup_int_test(size, T{}).count();
|
||||
resultline += std::to_string(result);
|
||||
resultline += ", ";
|
||||
}
|
||||
output << resultline << "\n";
|
||||
}
|
||||
std::cout << "lookup int test done\n";
|
||||
// unsuccesful lookup
|
||||
for (int i = 0; i < repeats; ++i){
|
||||
std::string resultline = "nolookup_int, '" + std::string{name(map)} + "', ";
|
||||
for (auto size: sizes){
|
||||
float result = nolookup_int_test(size, T{}).count();
|
||||
resultline += std::to_string(result);
|
||||
resultline += ", ";
|
||||
}
|
||||
output << resultline << "\n";
|
||||
}
|
||||
std::cout << "unsuccesful lookup int test done\n";
|
||||
vector<float> results = int_test(map, size);
|
||||
|
||||
// deletion
|
||||
for (int i = 0; i < repeats; ++i){
|
||||
std::string resultline = "delete_int, '" + std::string{name(map)} + "', ";
|
||||
for (auto size: sizes){
|
||||
float result = delete_int_test(size, T{}).count();
|
||||
resultline += std::to_string(result);
|
||||
resultline += ", ";
|
||||
insert += ", " + std::to_string(results[0]);
|
||||
succ_lookup += ", " + std::to_string(results[1]);
|
||||
nosucc_lookup +=", " + std::to_string(results[2]);
|
||||
delet += ", " + std::to_string(results[3]);
|
||||
}
|
||||
output << resultline << "\n";
|
||||
}
|
||||
std::cout << "deletion int test done\n";
|
||||
return 0;
|
||||
output << insert << succ_lookup << nosucc_lookup << delet;
|
||||
cout << insert << succ_lookup << nosucc_lookup << delet;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class T>
|
||||
int string_test(T map, int repeats=30){
|
||||
std::cout <<"\t\t" << name(map) << " stringtest \n";
|
||||
void string_test_aggregate(T map, int runs){
|
||||
std::ofstream output{"results.csv", std::ios_base::app};
|
||||
// insert int tests
|
||||
for (int i = 0; i < repeats; ++i){
|
||||
std::string resultline = "insert_string, '" + std::string{name(map)} + "', ";
|
||||
for (auto size: sizes){
|
||||
float result = insert_string_test(size, T{}).count();
|
||||
resultline += std::to_string(result);
|
||||
resultline += ", ";
|
||||
}
|
||||
output << resultline << "\n";
|
||||
}
|
||||
std::cout << "insert string test done\n";
|
||||
for (int i = 0; i < runs; ++i);
|
||||
string insert = "\nint_insert, '";
|
||||
string succ_lookup = "\nint_succ_lookup, '";
|
||||
string nosucc_lookup = "\nint_nosucc_lookup, '";
|
||||
string delet = "\nint_delete, '";
|
||||
|
||||
// lookup int
|
||||
for (int i = 0; i < repeats; ++i){
|
||||
std::string resultline = "lookup_string, '" + std::string{name(map)} + "', ";
|
||||
insert += string{name(map)} + "'";
|
||||
succ_lookup += string{name(map)} + "'" ;
|
||||
nosucc_lookup += string{name(map)} +"'" ;
|
||||
delet += string{name(map)} + "'" ;
|
||||
for ( auto size : sizes){
|
||||
float result = lookup_string_test(size, T{}).count();
|
||||
resultline += std::to_string(result);
|
||||
resultline += ", ";
|
||||
vector<float> results = string_test(map, size);
|
||||
|
||||
insert += ", " + std::to_string(results[0]);
|
||||
succ_lookup += ", " + std::to_string(results[1]);
|
||||
nosucc_lookup +=", " + std::to_string(results[2]);
|
||||
delet += ", " + std::to_string(results[3]);
|
||||
}
|
||||
output << resultline << "\n";
|
||||
}
|
||||
std::cout << "lookup string test done\n";
|
||||
// unsuccesful lookup
|
||||
for (int i = 0; i < repeats; ++i){
|
||||
std::string resultline = "nolookup_string, '" + std::string{name(map)} + "', ";
|
||||
for (auto size: sizes){
|
||||
float result = nolookup_string_test(size, T{}).count();
|
||||
resultline += std::to_string(result);
|
||||
resultline += ", ";
|
||||
}
|
||||
output << resultline << "\n";
|
||||
}
|
||||
std::cout << "unsuccesful lookup string test done\n";
|
||||
// deletion
|
||||
for (int i = 0; i < repeats; ++i){
|
||||
std::string resultline = "delete_string, '" + std::string{name(map)} + "', ";
|
||||
for (auto size: sizes){
|
||||
float result = delete_string_test(size, T{}).count();
|
||||
resultline += std::to_string(result);
|
||||
resultline += ", ";
|
||||
}
|
||||
output << resultline << "\n";
|
||||
}
|
||||
std::cout << "deletion string test done\n";
|
||||
output << insert << succ_lookup << nosucc_lookup << delet;
|
||||
cout << insert << succ_lookup << nosucc_lookup << delet;
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
@ -8,9 +8,9 @@
|
||||
#include <random>
|
||||
#include <string>
|
||||
static std::mt19937 generator(INT32_MAX - 2020);
|
||||
static std::uniform_int_distribution<int> gen_insert_int(1, INT32_MAX * 0.875);
|
||||
static std::uniform_int_distribution<int> gen_noninsert_int(INT32_MAX * 0.875, INT32_MAX);
|
||||
static std::uniform_int_distribution<int> gen_char(33, 123);
|
||||
static std::uniform_int_distribution<int> insert_int(1, INT32_MAX * 0.875);
|
||||
static std::uniform_int_distribution<int> noninsert_int(INT32_MAX * 0.875, INT32_MAX);
|
||||
static std::uniform_int_distribution<int> singlechar(33, 123);
|
||||
|
||||
|
||||
int gen_int();
|
||||
|
@ -7,311 +7,201 @@
|
||||
#include <iterator>
|
||||
#include <chrono>
|
||||
|
||||
// maps
|
||||
#include <sparsehash/sparse_hash_map>
|
||||
|
||||
// own
|
||||
#include "./generator.h"
|
||||
|
||||
using namespace std::chrono;
|
||||
using std::vector;
|
||||
using std::string;
|
||||
using std::cout;
|
||||
|
||||
|
||||
// since my testing is based on this function, this one doesn't need no prep
|
||||
void prepare(std::unordered_map<int, int>& map,int size){
|
||||
map.reserve(size);
|
||||
return;
|
||||
}
|
||||
void prepare(std::unordered_map<string, string>& map,int size){
|
||||
map.reserve(size);
|
||||
return;
|
||||
}
|
||||
|
||||
void prepare(google::sparse_hash_map<int, int>& map, int size){
|
||||
map.set_deleted_key(0);
|
||||
return;
|
||||
}
|
||||
|
||||
// writing out type info
|
||||
// https://stackoverflow.com/questions/81870/is-it-possible-to-print-a-variables-type-in-standard-c/56766138#56766138
|
||||
template <class T>
|
||||
nanoseconds insert_int_test(int size, T testmap){
|
||||
// init hashmap, insert size - 10k items
|
||||
testmap.reserve(size);
|
||||
for (int i = 0; i < size - 10000; ++i){
|
||||
int a = gen_int();
|
||||
testmap.insert({a,a});
|
||||
}
|
||||
// generate 10k keys
|
||||
std::vector<int> keys(10000);
|
||||
std::generate(keys.begin(), keys.end(), gen_int);
|
||||
vector<float> int_test(T testmap, int size){
|
||||
vector<float> results; // insert, lookup, unsuccesful lookup, delete times
|
||||
vector<int> sample_keys; // get a sample of keys to lookup and later delete
|
||||
|
||||
// benchmark vector access time
|
||||
time_point<steady_clock> start_v_access = steady_clock::now();
|
||||
for (auto i : keys){
|
||||
if (i == -1) { // it'll never be, this is just anti optimisation
|
||||
std::cout << "Something is very wrong!";
|
||||
}
|
||||
// unsuccesful lookup keys
|
||||
vector<int> nonkeys(10000);
|
||||
std::generate(nonkeys.begin(), nonkeys.end(), gen_unsuccesfull_int);
|
||||
|
||||
}
|
||||
time_point<steady_clock> end_v_access = steady_clock::now();
|
||||
auto vector_time = duration_cast<nanoseconds>(end_v_access - start_v_access);
|
||||
// keys for insert test
|
||||
vector<int> insert_keys(10000);
|
||||
std::generate(insert_keys.begin(), insert_keys.end(), gen_int);
|
||||
|
||||
// measure insert time
|
||||
time_point<steady_clock> start_insert_test = steady_clock::now();
|
||||
for (auto i : keys){
|
||||
// T testmap {};
|
||||
prepare(testmap, size); // do special actions, such as setting the tombstone marker for other, more exotic hashmaps
|
||||
|
||||
{ // seperate scope, so all_keys gets destroyed. for good measure, empty it too
|
||||
vector<int> all_keys(size - 10000);
|
||||
std::generate(all_keys.begin(), all_keys.end(), gen_int);
|
||||
std::sample(all_keys.begin(), all_keys.end(), std::back_inserter(sample_keys), 10000, generator);
|
||||
|
||||
for (auto i : all_keys){
|
||||
testmap.insert({i,i});
|
||||
}
|
||||
time_point<steady_clock> end_insert_test = steady_clock::now();
|
||||
testmap.clear();
|
||||
// time per insert
|
||||
auto duration = duration_cast<nanoseconds>(end_insert_test - start_insert_test) - vector_time ;
|
||||
return duration / 10000;
|
||||
all_keys.clear();
|
||||
}
|
||||
|
||||
|
||||
// testing vector access times to subtract later
|
||||
time_point<steady_clock> vector_start = steady_clock::now();
|
||||
for (auto i : sample_keys){
|
||||
if (i == -1 ) cout << "WTF"; // should never run, is here so loop doesnt get optimized away
|
||||
}
|
||||
time_point<steady_clock> vector_end = steady_clock::now();
|
||||
auto vector_acces_time = duration_cast<nanoseconds>(vector_end - vector_start);
|
||||
|
||||
|
||||
// insertion test
|
||||
time_point<steady_clock> insert_start = steady_clock::now();
|
||||
for (auto key : insert_keys){
|
||||
testmap.insert({key,key});
|
||||
}
|
||||
time_point<steady_clock> insert_end = steady_clock::now();
|
||||
|
||||
auto insert_time = (duration_cast<nanoseconds>(insert_end - insert_start) - vector_acces_time) / 10000 ;
|
||||
results.push_back(insert_time.count());
|
||||
// remove some memory
|
||||
insert_keys.clear();
|
||||
|
||||
// lookup test
|
||||
time_point<steady_clock> lookup_start = steady_clock::now();
|
||||
for (auto key : sample_keys){
|
||||
if (testmap[key] == 0) cout << "WTF";
|
||||
}
|
||||
time_point<steady_clock> lookup_end = steady_clock::now();
|
||||
auto lookup_time = (duration_cast<nanoseconds>(lookup_end - lookup_start) - vector_acces_time)/10000;
|
||||
results.push_back(lookup_time.count());
|
||||
|
||||
// unsuccesful lookup test
|
||||
time_point<steady_clock> unlookup_start = steady_clock::now();
|
||||
for (auto key : nonkeys){
|
||||
if (testmap[key] == -1) cout << "WTF";
|
||||
}
|
||||
time_point<steady_clock> unlookup_end = steady_clock::now();
|
||||
auto unlookup_time = (duration_cast<nanoseconds>(unlookup_end - unlookup_start) - vector_acces_time) / 10000 ;
|
||||
results.push_back(unlookup_time.count());
|
||||
//free some memoru
|
||||
nonkeys.clear();
|
||||
|
||||
|
||||
// delete test
|
||||
time_point<steady_clock> delete_start = steady_clock::now();
|
||||
for (auto key : sample_keys){
|
||||
testmap.erase(key);
|
||||
}
|
||||
|
||||
time_point<steady_clock> delete_end = steady_clock::now();
|
||||
auto delete_time = (duration_cast<nanoseconds>(delete_end - delete_start) - vector_acces_time) / 10000;
|
||||
results.push_back(delete_time.count());
|
||||
return results;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
template <class T>
|
||||
nanoseconds insert_string_test(int size, T testmap){
|
||||
// init hashmap, insert size - 10k items
|
||||
testmap.reserve(size);
|
||||
for (int i = 0; i < size - 10000; ++i){
|
||||
std::string temp = gen_string();
|
||||
testmap.insert({temp,temp});
|
||||
}
|
||||
// generate 10k keys
|
||||
std::vector<std::string> keys(10000);
|
||||
std::generate(keys.begin(), keys.end(), gen_string);
|
||||
vector<float> string_test(T map, int size){
|
||||
vector<float> results; // insert, lookup, unsuccesful lookup, delete times
|
||||
vector<string> sample_keys; // get a sample of keys to lookup and later delete
|
||||
|
||||
// benchmark vector access time
|
||||
time_point<steady_clock> start_v_access = steady_clock::now();
|
||||
for (auto i : keys){
|
||||
if (i == "a") { // it'll never be, this is just anti optimisation
|
||||
std::cout << "Something is very wrong!";
|
||||
}
|
||||
// unsuccesful lookup keys
|
||||
vector<string> nonkeys(10000);
|
||||
std::generate(nonkeys.begin(), nonkeys.end(), gen_unsuccesfull_string);
|
||||
|
||||
}
|
||||
time_point<steady_clock> end_v_access = steady_clock::now();
|
||||
auto vector_time = duration_cast<nanoseconds>(end_v_access - start_v_access);
|
||||
// keys for insert test
|
||||
vector<string> insert_keys(10000);
|
||||
std::generate(insert_keys.begin(), insert_keys.end(), gen_string);
|
||||
|
||||
// measure insert time
|
||||
time_point<steady_clock> start_insert_test = steady_clock::now();
|
||||
for (auto i : keys){
|
||||
T testmap {};
|
||||
prepare(testmap, size); // do special actions, such as setting the tombstone marker for other, more exotic hashmaps
|
||||
|
||||
{ // seperate scope, so all_keys gets destroyed. for good measure, empty it too
|
||||
vector<string> all_keys(size - 10000);
|
||||
std::generate(all_keys.begin(), all_keys.end(), gen_string);
|
||||
std::sample(all_keys.begin(), all_keys.end(), std::back_inserter(sample_keys), 10000, generator);
|
||||
|
||||
for (auto i : all_keys){
|
||||
testmap.insert({i,i});
|
||||
}
|
||||
time_point<steady_clock> end_insert_test = steady_clock::now();
|
||||
testmap.clear();
|
||||
// time per insert
|
||||
auto duration = duration_cast<nanoseconds>(end_insert_test - start_insert_test) - vector_time ;
|
||||
return duration / 10000;
|
||||
|
||||
}
|
||||
|
||||
template<class T>
|
||||
nanoseconds lookup_int_test(int size, T testmap){
|
||||
// reserve, get random 10k keys that are inserted, insert keys
|
||||
testmap.reserve(size);
|
||||
std::vector<int> sample_inserted;
|
||||
sample_inserted.reserve(10000);
|
||||
|
||||
|
||||
{
|
||||
std::vector<int> keys(size);
|
||||
std::generate(keys.begin(), keys.end(), gen_int);
|
||||
std::sample(keys.begin(), keys.end(), std::back_inserter(sample_inserted) , 10000, generator);
|
||||
for (auto i : keys){
|
||||
testmap.insert({i, i});
|
||||
}
|
||||
}
|
||||
// benchmark vector access time
|
||||
time_point<steady_clock> start_v_access = steady_clock::now();
|
||||
for (auto i : sample_inserted){
|
||||
if (i == -1) { // it'll never be, this is just anti optimisation
|
||||
std::cout << "Something is very wrong!";
|
||||
}
|
||||
}
|
||||
time_point<steady_clock> end_v_access = steady_clock::now();
|
||||
auto vector_time = duration_cast<nanoseconds>(end_v_access - start_v_access);
|
||||
|
||||
// benchmark access time of hashmap
|
||||
time_point<steady_clock> start_benchmark = steady_clock::now();
|
||||
for (auto i : sample_inserted){
|
||||
if (testmap[i] == -1){
|
||||
std::cout << "SOMETHUNG IS WRONG!";
|
||||
}
|
||||
}
|
||||
testmap.clear();
|
||||
time_point<steady_clock> end_benchmark = steady_clock::now();
|
||||
auto duration = duration_cast<nanoseconds>(end_benchmark - start_benchmark) - vector_time;
|
||||
return duration / 10000;
|
||||
all_keys.clear();
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
nanoseconds lookup_string_test(int size, T testmap){
|
||||
// reserve, get random 10k keys that are inserted, insert keys
|
||||
testmap.reserve(size);
|
||||
std::vector<std::string> sample_inserted(1000);
|
||||
// sample_inserted.reserve(10000);
|
||||
{
|
||||
std::vector<std::string> keys(size);
|
||||
std::generate(keys.begin(), keys.end(), gen_string);
|
||||
std::sample(keys.begin(), keys.end(), std::back_inserter(sample_inserted) , 10000, generator);
|
||||
for (auto i : keys){
|
||||
testmap.insert({i, i});
|
||||
}
|
||||
}
|
||||
// benchmark vector access time
|
||||
time_point<steady_clock> start_v_access = steady_clock::now();
|
||||
for (auto i : sample_inserted){
|
||||
if (i == "a") { // it'll never be, this is just anti optimisation
|
||||
std::cout << "Something is very wrong!";
|
||||
}
|
||||
}
|
||||
time_point<steady_clock> end_v_access = steady_clock::now();
|
||||
auto vector_time = duration_cast<nanoseconds>(end_v_access - start_v_access);
|
||||
|
||||
// benchmark access time of hashmap
|
||||
time_point<steady_clock> start_benchmark = steady_clock::now();
|
||||
|
||||
for (auto i : sample_inserted){
|
||||
if (testmap[i] == "a"){
|
||||
std::cout << "SOMETHUNG IS WRONG!";
|
||||
}
|
||||
}
|
||||
testmap.clear();
|
||||
time_point<steady_clock> end_benchmark = steady_clock::now();
|
||||
auto duration = duration_cast<nanoseconds>(end_benchmark - start_benchmark) - vector_time;
|
||||
return duration / 10000;
|
||||
// testing vector access times to subtract later
|
||||
time_point<steady_clock> vector_start = steady_clock::now();
|
||||
for (auto i : sample_keys){
|
||||
if (i == "" ) cout << "WTF"; // should never run, is here so loop doesnt get optimized away
|
||||
}
|
||||
time_point<steady_clock> vector_end = steady_clock::now();
|
||||
auto vector_acces_time = duration_cast<nanoseconds>(vector_end - vector_start);
|
||||
|
||||
|
||||
// insertion test
|
||||
time_point<steady_clock> insert_start = steady_clock::now();
|
||||
for (auto key : insert_keys){
|
||||
testmap.insert({key,key});
|
||||
}
|
||||
time_point<steady_clock> insert_end = steady_clock::now();
|
||||
|
||||
auto insert_time = (duration_cast<nanoseconds>(insert_end - insert_start) - vector_acces_time) / 10000 ;
|
||||
results.push_back(insert_time.count());
|
||||
// remove some memory
|
||||
insert_keys.clear();
|
||||
|
||||
template<class T>
|
||||
nanoseconds nolookup_int_test(int size, T testmap){
|
||||
// reserve, get random 10k keys that are inserted, insert keys
|
||||
testmap.reserve(size);
|
||||
std::vector<int>lookup_keys(10000);
|
||||
std::generate(lookup_keys.begin(), lookup_keys.end(), gen_unsuccesfull_int);
|
||||
for (int i = 0; i < size; ++i){
|
||||
int temp = gen_int();
|
||||
testmap.insert({temp, temp});
|
||||
// lookup test
|
||||
time_point<steady_clock> lookup_start = steady_clock::now();
|
||||
for (auto key : sample_keys){
|
||||
if (testmap[key] == "") cout << "WTF";
|
||||
}
|
||||
time_point<steady_clock> lookup_end = steady_clock::now();
|
||||
auto lookup_time = (duration_cast<nanoseconds>(lookup_end - lookup_start) - vector_acces_time)/10000;
|
||||
results.push_back(lookup_time.count());
|
||||
|
||||
// unsuccesful lookup test
|
||||
time_point<steady_clock> unlookup_start = steady_clock::now();
|
||||
for (auto key : nonkeys){
|
||||
if (testmap[key] == "") cout << "WTF";
|
||||
}
|
||||
time_point<steady_clock> unlookup_end = steady_clock::now();
|
||||
auto unlookup_time = (duration_cast<nanoseconds>(unlookup_end - unlookup_start) - vector_acces_time) / 10000 ;
|
||||
results.push_back(unlookup_time.count());
|
||||
//free some memoru
|
||||
nonkeys.clear();
|
||||
|
||||
// delete test
|
||||
time_point<steady_clock> delete_start = steady_clock::now();
|
||||
for (auto key : sample_keys){
|
||||
testmap.erase(key);
|
||||
}
|
||||
|
||||
// benchmark vector access time
|
||||
time_point<steady_clock> start_v_access = steady_clock::now();
|
||||
for (auto i : lookup_keys){
|
||||
if (i == -1) { // it'll never be, this is just anti optimisation
|
||||
std::cout << "Something is very wrong!";
|
||||
}
|
||||
}
|
||||
time_point<steady_clock> end_v_access = steady_clock::now();
|
||||
auto vector_time = duration_cast<nanoseconds>(end_v_access - start_v_access);
|
||||
time_point<steady_clock> delete_end = steady_clock::now();
|
||||
auto delete_time = (duration_cast<nanoseconds>(delete_end - delete_start) - vector_acces_time) / 10000;
|
||||
results.push_back(delete_time.count());
|
||||
return results;
|
||||
|
||||
|
||||
// benchmark access time of hashmap
|
||||
time_point<steady_clock> start_benchmark = steady_clock::now();
|
||||
for (auto i : lookup_keys){
|
||||
if (testmap[i] == -1){
|
||||
std::cout << "SOMETHUNG IS WRONG!";
|
||||
}
|
||||
}
|
||||
testmap.clear();
|
||||
time_point<steady_clock> end_benchmark = steady_clock::now();
|
||||
auto duration = duration_cast<nanoseconds>(end_benchmark - start_benchmark) - vector_time;
|
||||
return duration / 10000;
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
nanoseconds nolookup_string_test(int size, T testmap){
|
||||
// reserve, get random 10k keys that are inserted, insert keys
|
||||
testmap.reserve(size);
|
||||
std::vector<std::string>lookup_keys(10000);
|
||||
std::generate(lookup_keys.begin(), lookup_keys.end(), gen_unsuccesfull_string);
|
||||
for (int i = 0; i < size; ++i){
|
||||
std::string temp = gen_string();
|
||||
testmap.insert({temp, temp});
|
||||
}
|
||||
|
||||
// benchmark vector access time
|
||||
time_point<steady_clock> start_v_access = steady_clock::now();
|
||||
for (auto i : lookup_keys){
|
||||
if (i == "a") { // it'll never be, this is just anti optimisation
|
||||
std::cout << "Something is very wrong!";
|
||||
}
|
||||
}
|
||||
time_point<steady_clock> end_v_access = steady_clock::now();
|
||||
auto vector_time = duration_cast<nanoseconds>(end_v_access - start_v_access);
|
||||
|
||||
|
||||
// benchmark access time of hashmap
|
||||
time_point<steady_clock> start_benchmark = steady_clock::now();
|
||||
for (auto i : lookup_keys){
|
||||
if (testmap[i] == "a"){
|
||||
std::cout << "SOMETHUNG IS WRONG!";
|
||||
}
|
||||
}
|
||||
testmap.clear();
|
||||
time_point<steady_clock> end_benchmark = steady_clock::now();
|
||||
auto duration = duration_cast<nanoseconds>(end_benchmark - start_benchmark) - vector_time;
|
||||
return duration / 10000;
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class T>
|
||||
nanoseconds delete_int_test(int size, T testmap){
|
||||
// reserve, get random 10k keys that are inserted, insert keys
|
||||
testmap.reserve(size);
|
||||
std::vector<int> sample_inserted;
|
||||
sample_inserted.reserve(10000);
|
||||
|
||||
{
|
||||
std::vector<int> keys(size);
|
||||
std::generate(keys.begin(), keys.end(), gen_int);
|
||||
std::sample(keys.begin(), keys.end(), std::back_inserter(sample_inserted) , 10000, generator);
|
||||
for (auto i : keys){
|
||||
testmap.insert({i, i});
|
||||
}
|
||||
}
|
||||
// benchmark vector access time
|
||||
time_point<steady_clock> start_v_access = steady_clock::now();
|
||||
for (auto i : sample_inserted){
|
||||
if (i == -1) { // it'll never be, this is just anti optimisation
|
||||
std::cout << "Something is very wrong!";
|
||||
}
|
||||
}
|
||||
time_point<steady_clock> end_v_access = steady_clock::now();
|
||||
auto vector_time = duration_cast<nanoseconds>(end_v_access - start_v_access);
|
||||
|
||||
// benchmark access time of hashmap
|
||||
time_point<steady_clock> start_benchmark = steady_clock::now();
|
||||
for (auto i : sample_inserted){
|
||||
testmap.erase(i);
|
||||
}
|
||||
testmap.clear();
|
||||
time_point<steady_clock> end_benchmark = steady_clock::now();
|
||||
auto duration = duration_cast<nanoseconds>(end_benchmark - start_benchmark) - vector_time;
|
||||
return duration / 10000;
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class T>
|
||||
nanoseconds delete_string_test(int size, T testmap){
|
||||
// reserve, get random 10k keys that are inserted, insert keys
|
||||
testmap.reserve(size);
|
||||
std::vector<std::string> sample_inserted;
|
||||
sample_inserted.reserve(10000);
|
||||
|
||||
{
|
||||
std::vector<std::string> keys(size);
|
||||
std::generate(keys.begin(), keys.end(), gen_string);
|
||||
std::sample(keys.begin(), keys.end(), std::back_inserter(sample_inserted) , 10000, generator);
|
||||
for (auto i : keys){
|
||||
testmap.insert({i, i});
|
||||
}
|
||||
}
|
||||
// benchmark vector access time
|
||||
time_point<steady_clock> start_v_access = steady_clock::now();
|
||||
for (auto i : sample_inserted){
|
||||
if (i == "a") { // it'll never be, this is just anti optimisation
|
||||
std::cout << "Something is very wrong!";
|
||||
}
|
||||
}
|
||||
time_point<steady_clock> end_v_access = steady_clock::now();
|
||||
auto vector_time = duration_cast<nanoseconds>(end_v_access - start_v_access);
|
||||
|
||||
// benchmark access time of hashmap
|
||||
time_point<steady_clock> start_benchmark = steady_clock::now();
|
||||
for (auto i : sample_inserted){
|
||||
testmap.erase(i);
|
||||
}
|
||||
testmap.clear();
|
||||
time_point<steady_clock> end_benchmark = steady_clock::now();
|
||||
auto duration = duration_cast<nanoseconds>(end_benchmark - start_benchmark) - vector_time;
|
||||
return duration / 10000;
|
||||
}
|
||||
|
||||
#endif /* TESTS_H */
|
Loading…
Reference in New Issue
Block a user