OpenMEEG
Loading...
Searching...
No Matches
OpenMEEGMathsConfig.h
Go to the documentation of this file.
1// Project Name: OpenMEEG (http://openmeeg.github.io)
2// © INRIA and ENPC under the French open source license CeCILL-B.
3// See full copyright notice in the file LICENSE.txt
4// If you make a copy of this file, you must either:
5// - provide also LICENSE.txt and modify this header to refer to it.
6// - replace this header by the LICENSE.txt content.
7
8#pragma once
9
10// cmake configuration.
11
12#include <OpenMEEGConfigure.h>
13#include <OpenMEEGMaths_Export.h>
14
15// specially for windows
16#ifdef WIN32
17 #pragma inline_recursion(on)
18 #pragma inline_depth(255) // MSVC static build with MKL cause LNK2019 error
19 #if defined(_MSC_VER)
20 // Enable MSVC compiler warning messages that are useful but off by default.
21 #pragma warning(default : 4263) /* no override, call convention differs */
22 // Disable MSVC compiler warning messages that often occur in valid code.
23 #pragma warning(disable : 4097) /* typedef is synonym for class */
24 #pragma warning(disable : 4127) /* conditional expression is constant */
25 #pragma warning(disable : 4244) /* possible loss in conversion */
26 #pragma warning(disable : 4251) /* missing DLL-interface */
27 #pragma warning(disable : 4305) /* truncation from type1 to type2 */
28 #pragma warning(disable : 4309) /* truncation of constant value */
29 #pragma warning(disable : 4514) /* unreferenced inline function */
30 #pragma warning(disable : 4706) /* assignment in conditional expression */
31 #pragma warning(disable : 4710) /* function not inlined */
32 #pragma warning(disable : 4786) /* identifier truncated in debug info */
33 #pragma warning(disable : 4244) /* possible loss of data ('float' to 'mat_uint32_t') */
34 #pragma warning(disable : 4267) /* possible loss of data (size_t to int) */
35 #endif
36#endif
37
38// Blas/Lapack configuration
39
40#if defined(USE_LAPACK)
41#include <BlasLapackImplementations/OpenMEEGMathsBlasLapackConfig.h>
42#elif defined(USE_MKL)
43#include <BlasLapackImplementations/OpenMEEGMathsMKLConfig.h>
44#elif defined(USE_ATLAS)
45#include <BlasLapackImplementations/OpenMEEGMathsAtlasConfig.h>
46#elif defined(USE_OPENBLAS)
47#include <BlasLapackImplementations/OpenMEEGMathsOpenBLASConfig.h>
48#else
49#warning "No blas/lapack implementation selected."
50#endif
51
52#define DPOTF2 LAPACK(dpotf2,DPOTF2)
53#define DSPEVD LAPACK(dspevd,DSPEVD)