42 lines
787 B
C++
42 lines
787 B
C++
|
#ifndef B3_PLATFORM_DEFINITIONS_H
|
||
|
#define B3_PLATFORM_DEFINITIONS_H
|
||
|
|
||
|
struct MyTest
|
||
|
{
|
||
|
int bla;
|
||
|
};
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
//#define b3ConstArray(a) const b3AlignedObjectArray<a>&
|
||
|
#define b3ConstArray(a) const a*
|
||
|
#define b3AtomicInc(a) ((*a)++)
|
||
|
|
||
|
inline int b3AtomicAdd (volatile int *p, int val)
|
||
|
{
|
||
|
int oldValue = *p;
|
||
|
int newValue = oldValue+val;
|
||
|
*p = newValue;
|
||
|
return oldValue;
|
||
|
}
|
||
|
|
||
|
#define __global
|
||
|
|
||
|
#define B3_STATIC static
|
||
|
#else
|
||
|
//keep B3_LARGE_FLOAT*B3_LARGE_FLOAT < FLT_MAX
|
||
|
#define B3_LARGE_FLOAT 1e18f
|
||
|
#define B3_INFINITY 1e18f
|
||
|
#define b3Assert(a)
|
||
|
#define b3ConstArray(a) __global const a*
|
||
|
#define b3AtomicInc atomic_inc
|
||
|
#define b3AtomicAdd atomic_add
|
||
|
#define b3Fabs fabs
|
||
|
#define b3Sqrt native_sqrt
|
||
|
#define b3Sin native_sin
|
||
|
#define b3Cos native_cos
|
||
|
|
||
|
#define B3_STATIC
|
||
|
#endif
|
||
|
|
||
|
#endif
|