#pragma once #include #include "FastNoise_Export.h" #define FASTNOISE_CALC_MIN_MAX true #define FASTNOISE_USE_SHARED_PTR false #if FASTNOISE_USE_SHARED_PTR #include #endif namespace FastNoise { const FastSIMD::Level_BitFlags SUPPORTED_SIMD_LEVELS = FastSIMD::Level_Scalar | FastSIMD::Level_SSE2 | FastSIMD::Level_SSE41 | FastSIMD::Level_AVX2 | FastSIMD::Level_AVX512 | FastSIMD::Level_NEON ; class Generator; struct Metadata; template struct MetadataT; #if FASTNOISE_USE_SHARED_PTR template using SmartNode = std::shared_ptr; #else template class SmartNode; #endif template using SmartNodeArg = const SmartNode&; template SmartNode New( FastSIMD::eLevel maxSimdLevel = FastSIMD::Level_Null ); } // namespace FastNoise #if !FASTNOISE_USE_SHARED_PTR #include "SmartNode.h" #endif