20 #if defined(_MSC_VER) && _MSC_VER >= 1600 22 #define BT_OVERRIDE override 76 #endif // #if BT_THREADSAFE 85 #endif // #if BT_THREADSAFE 95 #endif // #if BT_THREADSAFE 105 virtual void forLoop(
int iBegin,
int iEnd)
const = 0;
btITaskScheduler * btGetOpenMPTaskScheduler()
virtual void forLoop(int iBegin, int iEnd) const =0
virtual void sleepWorkerThreadsHint()
virtual void deactivate()
virtual int getNumThreads() const =0
#define SIMD_FORCE_INLINE
btSpinMutex – lightweight spin-mutex implemented with atomic ops, never puts a thread to sleep becau...
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)
virtual void setNumThreads(int numThreads)=0
virtual btScalar parallelSum(int iBegin, int iEnd, int grainSize, const btIParallelSumBody &body)=0
const char * getName() const
btITaskScheduler * btGetTaskScheduler()
virtual void parallelFor(int iBegin, int iEnd, int grainSize, const btIParallelForBody &body)=0
bool btMutexTryLock(btSpinMutex *mutex)
unsigned int btGetCurrentThreadIndex()
void btResetThreadIndexCounter()
virtual btScalar sumLoop(int iBegin, int iEnd) const =0
btITaskScheduler(const char *name)
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...
virtual int getMaxNumThreads() const =0