22 #if defined (_MSC_VER) && _MSC_VER >= 1600 24 #define BT_OVERRIDE override 79 #endif // #if BT_THREADSAFE 88 #endif // #if BT_THREADSAFE 98 #endif // #if BT_THREADSAFE 109 virtual void forLoop(
int iBegin,
int iEnd )
const = 0;
120 virtual btScalar sumLoop(
int iBegin,
int iEnd )
const = 0;
132 const char*
getName()
const {
return m_name; }
134 virtual int getMaxNumThreads()
const = 0;
135 virtual int getNumThreads()
const = 0;
136 virtual void setNumThreads(
int numThreads ) = 0;
137 virtual void parallelFor(
int iBegin,
int iEnd,
int grainSize,
const btIParallelForBody& body ) = 0;
142 virtual void activate();
143 virtual void deactivate();
btITaskScheduler * btGetOpenMPTaskScheduler()
virtual void sleepWorkerThreadsHint()
#define SIMD_FORCE_INLINE
btSpinMutex – lightweight spin-mutex implemented with atomic ops, never puts a thread to sleep becau...
const char * getName() const
btITaskScheduler * btGetPPLTaskScheduler()
bool btThreadsAreRunning()
virtual ~btITaskScheduler()
btScalar btParallelSum(int iBegin, int iEnd, int grainSize, const btIParallelSumBody &body)
btITaskScheduler * btGetSequentialTaskScheduler()
const unsigned int BT_MAX_THREAD_COUNT
virtual ~btIParallelSumBody()
void btParallelFor(int iBegin, int iEnd, int grainSize, const btIParallelForBody &body)
btITaskScheduler * btGetTaskScheduler()
bool btMutexTryLock(btSpinMutex *mutex)
unsigned int btGetCurrentThreadIndex()
void btResetThreadIndexCounter()
btITaskScheduler * btCreateDefaultTaskScheduler()
void btMutexUnlock(btSpinMutex *mutex)
void btMutexLock(btSpinMutex *mutex)
unsigned int m_savedThreadCounter
virtual ~btIParallelForBody()
btITaskScheduler * btGetTBBTaskScheduler()
void btSetTaskScheduler(btITaskScheduler *ts)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...