#include "VM_API.h"
#include <SYS/SYS_Math.h>
#include <SYS/SYS_Floor.h>
#include <string.h>
#include "VM_SIMD.h"
Go to the source code of this file.
|
#define | VM_SIV static inline void |
|
#define | VM_SIMDFUNC(signature) signature {} |
|
#define | VM_SIMDFUNCR(signature) signature { return 0; } |
|
#define | VM_DECL_vFvFvF(name, expr) |
|
#define | VM_DECL_vFvFuF(name, expr) |
|
#define | VM_DECL_vFuFvF(name, expr) |
|
#define | VM_DECL_vFuFuF(name, expr) |
|
#define | VM_DECL_vFvF(name, expr) |
|
#define | VM_DECL_vFuF(name, expr) |
|
#define | VM_DECL_vIvF(name, expr) |
|
#define | VM_DECL_vIvF_nonconst(name, expr) |
|
#define | VM_DECL_vIvFvF(name, expr) |
|
#define | VM_DECL_vIvVFvF(name, expr) |
|
#define | VM_DECL_vIvFuF(name, expr) |
|
#define | VM_DECL_WP(type, name, expr) |
|
#define | VM_DECL_IWP(type, name, expr) |
|
#define | VM_DECL_vIvIvI(name, expr) |
|
#define | VM_DECL_vIvIuI(name, expr) |
|
#define | VM_DECL_uIvI(name, expr) |
|
#define | VM_DECL_CMP(name, op) |
|
#define VM_DECL_CMP |
( |
|
name, |
|
|
|
op |
|
) |
| |
Value:
GLboolean GLboolean GLboolean GLboolean a
#define VM_DECL_vIvIuI(name, expr)
#define VM_DECL_vIvFuF(name, expr)
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
#define VM_DECL_vIvFvF(name, expr)
#define VM_DECL_vIvIvI(name, expr)
Definition at line 185 of file VM_Math.h.
#define VM_DECL_IWP |
( |
|
type, |
|
|
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, b, e, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(fpreal32 *d, const type *a, fpreal32 b, type e, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
Definition at line 147 of file VM_Math.h.
#define VM_DECL_uIvI |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
return d; \
return theSIMD ?
name##SIMD(a, num) : \
} \
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
#define VM_SIMDFUNCR(signature)
* for(int i=0;i< n_subtasks;++i)*tasks.push(pool-> push(myfunc))
Definition at line 169 of file VM_Math.h.
#define VM_DECL_vFuF |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(fpreal32 *d, fpreal32 a, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
Definition at line 91 of file VM_Math.h.
#define VM_DECL_vFuFuF |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, b, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIV name(fpreal64 *d, fpreal64 a, \
fpreal64 b, exint num) { \
for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(fpreal32 *d, fpreal32 a, fpreal32 b, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
Definition at line 69 of file VM_Math.h.
#define VM_DECL_vFuFvF |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, b, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIV name(fpreal64 *d, fpreal64 a, const fpreal64 *b, exint num) { \
for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(fpreal32 *d, fpreal32 a, const fpreal32 *b, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
Definition at line 58 of file VM_Math.h.
#define VM_DECL_vFvF |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIV name(fpreal64 *d, const fpreal64 *a, exint num) { \
for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(fpreal32 *d, const fpreal32 *a, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
Definition at line 81 of file VM_Math.h.
#define VM_DECL_vFvFuF |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, b, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIV name(fpreal64 *d, const fpreal64 *a, \
fpreal64 b, exint num) { \
for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(fpreal32 *d, const fpreal32 *a, fpreal32 b, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
Definition at line 46 of file VM_Math.h.
#define VM_DECL_vFvFvF |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, b, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIV name(fpreal64 *d, const fpreal64 *a, \
const fpreal64 *b, exint num) { \
for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(fpreal32 *d, const fpreal32 *a, const fpreal32 *b, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
Definition at line 34 of file VM_Math.h.
#define VM_DECL_vIvF |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(int32 *d, const fpreal32 *a, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
Definition at line 98 of file VM_Math.h.
#define VM_DECL_vIvF_nonconst |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(int32 *d, fpreal32 *a, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
Definition at line 105 of file VM_Math.h.
#define VM_DECL_vIvFuF |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, b, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIV name(int32 *d, const fpreal64 *a, fpreal64 b, exint num) { \
for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(int32 *d, const fpreal32 *a, fpreal32 b, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
Definition at line 129 of file VM_Math.h.
#define VM_DECL_vIvFvF |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, b, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIV name(int32 *d, const fpreal64 *a, const fpreal64 *b, exint num) { \
for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(int32 *d, const fpreal32 *a, const fpreal32 *b, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
Definition at line 112 of file VM_Math.h.
#define VM_DECL_vIvIuI |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, b, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(int32 *d, const int32 *a, int32 b, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
Definition at line 162 of file VM_Math.h.
#define VM_DECL_vIvIvI |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, b, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(int32 *d, const int32 *a, const int32 *b, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
Definition at line 155 of file VM_Math.h.
#define VM_DECL_vIvVFvF |
( |
|
name, |
|
|
|
expr |
|
) |
| |
Value:
if (theSIMD)
name##SIMD(d, a, b, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(int32 *d, fpreal32 *a, const fpreal32 *b, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
Definition at line 122 of file VM_Math.h.
Value:
if (theSIMD)
name##SIMD(d, a, b, c, e, num); \
else for (exint n=0; n<num; n++) expr; \
} \
VM_SIMDFUNC(static void name##SIMD(type *d, const fpreal32 *a, fpreal32 b, fpreal32 c, fpreal32 e, exint num))
GLboolean GLboolean GLboolean GLboolean a
GLuint const GLchar * name
GLboolean GLboolean GLboolean b
Definition at line 139 of file VM_Math.h.
#define VM_SIMDFUNC |
( |
|
signature | ) |
signature {} |
#define VM_SIMDFUNCR |
( |
|
signature | ) |
signature { return 0; } |
#define VM_SIV static inline void |