#ifndef _NBODY_BARNES_HUT_H #define _NBODY_BARNES_HUT_H /** * @file nbody.h * @purpose OpenMP version of N-Body simulator, declarations * @author Sam Moore (20503628) - 2012 */ #include "../single-thread/nbody.h" //Include original code #include #undef SINGLE_THREADED #define BARNES_HUT // Define to simultaneously Brute force a copy of the universe, and display together //#define DUAL_UNIVERSE // Replace default macros with thread-safe functions #undef Simulation_Run void Simulation_Run(int argc, char ** argv); //#undef QuitProgram //#define QuitProgram(x) break #undef BeforeDraw #ifdef DUAL_UNIVERSE System alternate_universe; void BeforeDraw(); #else #define BeforeDraw() (void)0 // Do nothing (apparently this is how to do nothing with a macro) #endif //DUAL_UNIVERSE #undef AfterDraw #define AfterDraw() (void)0 //void AfterDraw(); #undef QuitProgram void QuitProgram(bool error); void Compute(void); #endif //_NBODY_BARNES_HUT_H //EOF