Loading...
Searching...
No Matches
Go to the documentation of this file.
54#ifndef MOCHI_OPTIMIZED
56#define MOCHI_OPTIMIZED 1
58#define MOCHI_OPTIMIZED 0
62#ifndef MOCHI_WARN_IF_NOT_OPTIMIZED
63#define MOCHI_WARN_IF_NOT_OPTIMIZED 0
66#ifndef MOCHI_ASSERT_ENABLED
67#define MOCHI_ASSERT_ENABLED 1
70#ifndef MOCHI_ASSERT_VERBOSE_ENABLED
71#define MOCHI_ASSERT_VERBOSE_ENABLED (MOCHI_DEBUG && MOCHI_ASSERT_ENABLED)
74#ifndef MOCHI_LOG_ENABLED
75#define MOCHI_LOG_ENABLED 1
78#ifndef MOCHI_PROFILE_ENABLE
79#define MOCHI_PROFILE_ENABLE 0
88#define MOCHI_INTERNAL 0
98#define MOCHI_USE_MPC MOCHI_INTERNAL
106#ifndef MOCHI_USE_DOUBLE_PRECISION
107#define MOCHI_USE_DOUBLE_PRECISION 0
110#if MOCHI_LANGUAGE_CPP
112#if MOCHI_USE_DOUBLE_PRECISION
118inline constexpr real operator""_r(
long double val) {
119 return static_cast<real>(val);
121inline constexpr real operator""_r(
unsigned long long int val) {
122 return static_cast<real>(val);
129inline constexpr ptrdiff_t
operator""_z(
unsigned long long int val) {
130 return static_cast<ptrdiff_t
>(val);
132inline constexpr size_t operator""_uz(
unsigned long long int val) {
133 return static_cast<size_t>(val);
144#ifndef MOCHI_USE_SIMD
145#define MOCHI_USE_SIMD 1
148#if MOCHI_USE_SIMD && !MOCHI_ARCH_ARM_NEON && !MOCHI_ARCH_X64_AVX2
151#define MOCHI_USE_SIMD 0
158#undef MOCHI_SIMD_REGISTER_COUNT
159#undef MOCHI_SIMD_REGISTER_SIZE_BYTES
160#define MOCHI_SIMD_REGISTER_COUNT 32
161#define MOCHI_SIMD_REGISTER_SIZE_BYTES 16
174#ifndef MOCHI_USE_CUDA
175#define MOCHI_USE_CUDA 0
178#ifndef MOCHI_USE_CUDSS
179#define MOCHI_USE_CUDSS 0
182#if MOCHI_USE_CUDA == 0 && MOCHI_USE_CUDSS != 0
183#undef MOCHI_USE_CUDSS
184#define MOCHI_USE_CUDSS 0
187#ifndef MOCHI_USE_EIGEN
188#define MOCHI_USE_EIGEN 0
191#ifndef MOCHI_USE_HDF5
192#define MOCHI_USE_HDF5 0
201#define MOCHI_USE_OSC MOCHI_INTERNAL
204#ifndef MOCHI_USE_TRACY
205#define MOCHI_USE_TRACY 0
207#if MOCHI_USE_TRACY && !defined(TRACY_ENABLE)
208#define TRACY_ENABLE 1
211#ifndef MOCHI_USE_MATH_ACCELERATION
212#define MOCHI_USE_MATH_ACCELERATION 0
222#ifndef MOCHI_CORE_STATIC_LINKING
223#define MOCHI_CORE_STATIC_LINKING 0
230#ifndef MOCHI_USE_EXTERN_TEMPLATE
231#if MOCHI_CORE_STATIC_LINKING
232#define MOCHI_USE_EXTERN_TEMPLATE 1
234#define MOCHI_USE_EXTERN_TEMPLATE 0
240#ifndef MOCHI_INCLUDE_PYBIND_SUPPORT
241#define MOCHI_INCLUDE_PYBIND_SUPPORT 0
246#ifndef MOCHI_PMR_USES_JEMALLOC
247#define MOCHI_PMR_USES_JEMALLOC 0