Reduce openmp pragma impact
In most modern compilers, #pragma directives are ignored without warning if they are not present. In particular, for OpenMP directives, most compilers do not react if the code is not compiled with OpenMP. However, certain warning messages may appear depending on the compiler and the chosen compilation options. To avoid these warnings, you can wrap the pragma directives in checks to see if OpenMP is enabled or not. This results in having to write three lines of code instead of one. To avoid this, the macro provides a single line that defines both the pragma directive and the OpenMP checks. To be verified on Mac.