mFES - molecular Finite Element Solver  0.4
mystdlib.h
Go to the documentation of this file.
00001 #ifndef FILE_MYSTDLIB
00002 #define FILE_MYSTDLIB
00003 
00004 #ifdef HAVE_CONFIG_H
00005 #include <config.h>
00006 #endif
00007 
00008 
00009 #include <iostream>
00010 #include <iomanip>
00011 #include <fstream>
00012 #include <sstream>
00013 
00014 
00015 #include <cstdlib>
00016 #include <cstdio>
00017 #include <cmath>
00018 #include <cctype>
00019 #include <ctime>
00020 #include <cstring>
00021 #include <climits>
00022 #include <algorithm>
00023 
00024 
00025 #include <new>
00026 #include <string>
00027 #include <typeinfo>
00028 
00029 #ifdef PARALLEL
00030 // #undef SEEK_SET
00031 // #undef SEEK_CUR
00032 // #undef SEEK_END
00033 #include <mpi.h>
00034 #include <unistd.h>  // for usleep (only for parallel)
00035 #endif
00036 
00037 #ifdef _OPENMP
00038 #include <omp.h>
00039 #endif
00040 
00041 
00042 /*
00043 #ifdef METIS
00044 namespace metis { extern "C" {
00045 #include <metis.h>
00046 } }
00047 #endif
00048 */
00049 
00050 
00051 #ifndef NO_PARALLEL_THREADS
00052 #ifndef WIN32
00053 #include <pthread.h>
00054 #endif
00055 #endif
00056 
00057 #ifndef M_PI
00058 #define M_PI 3.14159265358979323846
00059 #endif
00060 
00061 
00062 /*** Windows headers ***/
00063 #ifdef _MSC_VER
00064 # define WIN32_LEAN_AND_MEAN
00065 # ifndef NO_PARALLEL_THREADS
00066 #  ifdef MSVC_EXPRESS
00067 #   include <pthread.h>
00068 #  else
00069 #   include <afxwin.h>
00070 #   include <afxmt.h>
00071 #  endif // MSVC_EXPRESS
00072 # endif
00073 # include <windows.h>
00074 # undef WIN32_LEAN_AND_MEAN
00075 # include <winnt.h>
00076 
00077 #else // Not using MC VC++
00078 
00079 # ifndef NO_PARALLEL_THREADS
00080 #  include <pthread.h>
00081 # endif
00082 
00083 #endif
00084 
00085 
00086 using namespace std;
00087 
00088 #endif
00089