20#if defined(_MSC_VER) && _MSC_VER >= 1600
22#define BT_OVERRIDE override
105 virtual void forLoop(
int iBegin,
int iEnd)
const = 0;
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define SIMD_FORCE_INLINE
btITaskScheduler * btGetTBBTaskScheduler()
void btMutexLock(btSpinMutex *mutex)
void btMutexUnlock(btSpinMutex *mutex)
btITaskScheduler * btGetPPLTaskScheduler()
void btResetThreadIndexCounter()
btScalar btParallelSum(int iBegin, int iEnd, int grainSize, const btIParallelSumBody &body)
bool btThreadsAreRunning()
btITaskScheduler * btGetOpenMPTaskScheduler()
unsigned int btGetCurrentThreadIndex()
bool btMutexTryLock(btSpinMutex *mutex)
btITaskScheduler * btCreateDefaultTaskScheduler()
void btSetTaskScheduler(btITaskScheduler *ts)
btITaskScheduler * btGetTaskScheduler()
btITaskScheduler * btGetSequentialTaskScheduler()
const unsigned int BT_MAX_THREAD_COUNT
void btParallelFor(int iBegin, int iEnd, int grainSize, const btIParallelForBody &body)
virtual ~btIParallelForBody()
virtual void forLoop(int iBegin, int iEnd) const =0
virtual btScalar sumLoop(int iBegin, int iEnd) const =0
virtual ~btIParallelSumBody()
btITaskScheduler(const char *name)
virtual int getNumThreads() const =0
unsigned int m_savedThreadCounter
virtual int getMaxNumThreads() const =0
virtual void parallelFor(int iBegin, int iEnd, int grainSize, const btIParallelForBody &body)=0
virtual void sleepWorkerThreadsHint()
virtual void deactivate()
virtual void setNumThreads(int numThreads)=0
virtual btScalar parallelSum(int iBegin, int iEnd, int grainSize, const btIParallelSumBody &body)=0
const char * getName() const
virtual ~btITaskScheduler()
btSpinMutex – lightweight spin-mutex implemented with atomic ops, never puts a thread to sleep becaus...