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
175#ifndef MOCHI_USE_CUDA
176#define MOCHI_USE_CUDA 0
179#ifndef MOCHI_USE_CUDSS
180#define MOCHI_USE_CUDSS 0
183#if MOCHI_USE_CUDA == 0 && MOCHI_USE_CUDSS != 0
184#undef MOCHI_USE_CUDSS
185#define MOCHI_USE_CUDSS 0
188#ifndef MOCHI_USE_EIGEN
189#define MOCHI_USE_EIGEN 0
192#ifndef MOCHI_USE_HDF5
193#define MOCHI_USE_HDF5 0
202#define MOCHI_USE_OSC MOCHI_INTERNAL
205#ifndef MOCHI_USE_TORCH
206#define MOCHI_USE_TORCH 0
209#ifndef MOCHI_USE_TRACY
210#define MOCHI_USE_TRACY 0
212#if MOCHI_USE_TRACY && !defined(TRACY_ENABLE)
213#define TRACY_ENABLE 1
216#ifndef MOCHI_USE_MATH_ACCELERATION
217#define MOCHI_USE_MATH_ACCELERATION 0
227#ifndef MOCHI_CORE_STATIC_LINKING
228#define MOCHI_CORE_STATIC_LINKING 0
235#ifndef MOCHI_USE_EXTERN_TEMPLATE
236#if MOCHI_CORE_STATIC_LINKING
237#define MOCHI_USE_EXTERN_TEMPLATE 1
239#define MOCHI_USE_EXTERN_TEMPLATE 0
245#ifndef MOCHI_INCLUDE_PYBIND_SUPPORT
246#define MOCHI_INCLUDE_PYBIND_SUPPORT 0
251#ifndef MOCHI_PMR_USES_JEMALLOC
252#define MOCHI_PMR_USES_JEMALLOC 0