Einsums/Config/CompilerSpecific.hpp#
Defined in header Einsums/Config/CompilerSpecific.hpp.
See Overview for a list of names and headers that are part of the public Einsums API.
Defines
-
EINSUMS_TRANSACTION_SAFE_DYN#
If transactional memory is supported by your compiler, expands to the
transaction_safe_dynamic
keyword.Added in version 2.0.0.
-
EINSUMS_TRANSACTION_SAFE#
If transactional memory is supported by your compiler, expands to the
transaction_safe
keyword.Added in version 2.0.0.
-
EINSUMS_ATOMIC_CANCEL#
If transactional memory is supported by your compiler, expands to the
atomic_cancel
keyword.Added in version 2.0.0.
-
EINSUMS_ATOMIC_COMMIT#
If transactional memory is supported by your compiler, expands to the
atomic_commit
keyword.Added in version 2.0.0.
-
EINSUMS_ATOMIC_NOEXCEPT#
If transactional memory is supported by your compiler, expands to the
atomic_noexcept
keyword.Added in version 2.0.0.
-
EINSUMS_SYNCHRONIZED#
If transactional memory is supported by your compiler, expands to the
synchronized
keyword.Added in version 2.0.0.
-
EINSUMS_PRAGMA(stuff)#
Creates a pragma line. Mostly used within other macros.
Added in version 1.1.0.
- Parameters:
stuff – The pragma line without quotes.
-
EINSUMS_OMP_PRAGMA(stuff)#
Creates a pragma line for an OpenMP call. The text inside does not need the “omp”.
Added in version 1.1.0.
- Parameters:
stuff – The OpenMP directives to use.
-
EINSUMS_OMP_SIMD_PRAGMA(stuff)#
Creates a pragma line for an OpenMP call that can be vectorized, if supported by the compiler. The text inside does not need the “omp”.
Added in version 1.1.0.
- Parameters:
stuff – The OpenMP directives to use.
-
EINSUMS_OMP_SIMD#
Indicates that the following block can be vectorized.
Added in version 1.1.0.
-
EINSUMS_OMP_PARALLEL_FOR_SIMD#
Tell the compiler that the following for-loop can be parallelized and vectorized using SIMD.
Added in version 1.1.0.
-
EINSUMS_OMP_PARALLEL_FOR#
Tell the compiler that the following for-loop can be parallelized.
Added in version 1.0.0.
-
EINSUMS_OMP_PARALLEL#
Tell the compiler that the following block should be done in parallel.
Added in version 1.0.0.
-
EINSUMS_OMP_TASK_FOR#
Tell the compiler that the following for-loop can be parallelized and should use tasks.
Added in version 1.0.0.
-
EINSUMS_OMP_TASK_FOR_SIMD#
Tell the compiler that the following for-loop can be parallelized and vectorized using SIMD and should use tasks.
Added in version 1.1.0.
-
EINSUMS_OMP_TASK#
Start a new task within a parallel region.
Added in version 1.0.0.
-
EINSUMS_OMP_FOR_NOWAIT#
Tell the compiler that the following for-loop can be parallelized and it should not wait for threads to finish.
Added in version 1.0.0.
-
EINSUMS_OMP_CRITICAL#
Indicates that the following block should only be executed by one thread at a time.
Added in version 1.0.0.
-
EINSUMS_ALWAYS_INLINE#
Tell the compiler to inline a function.
Added in version 1.0.0.
-
EINSUMS_DISABLE_WARNING_PUSH#
Pushes the current warning ignore state so that ignore rules can be changed and then reverted.
Added in version 1.0.0.
-
EINSUMS_DISABLE_WARNING_POP#
Ppp the current warning ignore state to revert the changes to the warning ignore rules.
Added in version 1.0.0.
-
EINSUMS_DISABLE_WARNING(warning)#
Disables a specific warning. The behavior may differ between compilers.
Added in version 1.0.0.
-
EINSUMS_DISABLE_WARNING_RETURN_TYPE_C_LINKAGE#
Disable warnings that a function that normally returns C’s
_Complex float
or_Complex double
is externed as a function that returns C++’sstd::complex<float>
orstd::complex<double>
.Added in version 1.0.0.
-
EINSUMS_DISABLE_WARNING_DEPRECATED_DECLARATIONS#
Disable warnings of deprecated functions, classes, variables, etc.
Added in version 1.0.0.
-
EINSUMS_GCC_VERSION#
Returns the GCC version einsums is compiled with. Only set if compiled with GCC.
Added in version 1.0.0.
-
EINSUMS_CLANG_VERSION#
Returns the Clang version einsums is compiled with. Only set if compiled with Clang.
Added in version 1.0.0.
-
EINSUMS_INTEL_VERSION#
Returns the Intel Compiler version einsums is compiled with. Only set if compiled with the Intel Compiler.
Added in version 1.0.0.
-
EINSUMS_MSVC#
This macro is set if the compilation is with MSVC.
Added in version 1.0.0.
-
EINSUMS_MINGW#
This macro is set if the compilation is with Mingw.
Added in version 1.0.0.
-
EINSUMS_WINDOWS#
This macro is set if the compilation is for Windows.
Added in version 1.0.0.
-
EINSUMS_NO_SANITIZE_ADDRESS#