HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VM_BasicFunc.h File Reference
#include "VM_API.h"
#include <SYS/SYS_Types.h>
#include <SYS/SYS_Math.h>
+ Include dependency graph for VM_BasicFunc.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v4sf
 
class  v4si
 

Macros

#define V4SF(A)   (v4sf)A
 
#define V4SI(A)   (v4si)A
 
#define vm_BASIC_IFF(OP)
 
#define vm_BASIC_CF(OP)
 
#define vm_BASIC_CI(OP)
 
#define vm_BASIC_III(OP)
 
#define vm_BASIC_FFF(OP)
 
#define vm_BASIC_FFFF(OP1, OP2)
 
#define vm_BASIC_UFuncF(FUNC)
 
#define vm_BASIC_UFuncFF(FUNC)
 
#define VMBASIC_DEFINE_UNARY(FUN)
 
#define VM_EXTRACT   vm_extract
 
#define VM_INSERT   vm_insert
 
#define VM_SPLATS   vm_splats
 
#define VM_LOAD   vm_load
 
#define VM_STORE   vm_store
 
#define VM_CMPLT   vm_clt
 
#define VM_CMPLE   vm_cle
 
#define VM_CMPGT   vm_cgt
 
#define VM_CMPGE   vm_cge
 
#define VM_CMPEQ   vm_ceq
 
#define VM_CMPNE   vm_cne
 
#define VM_ICMPLT   vm_clt
 
#define VM_ICMPGT   vm_cgt
 
#define VM_ICMPEQ   vm_ceq
 
#define VM_IADD   vm_add
 
#define VM_ISUB   vm_sub
 
#define VM_IMUL   vm_mul
 
#define VM_ADD   vm_add
 
#define VM_SUB   vm_sub
 
#define VM_MUL   vm_mul
 
#define VM_DIV   vm_div
 
#define VM_FDIV   vm_div
 
#define VM_NEG   vm_negate
 
#define VM_SQRT   vm_sqrt
 
#define VM_FSQRT   vm_sqrt
 
#define VM_ISQRT   vm_isqrt
 
#define VM_ABS   vm_abs
 
#define VM_MADD   vm_madd
 
#define VM_INVERT   vm_reciprocal
 
#define VM_MIN   vm_min
 
#define VM_MAX   vm_max
 
#define VM_AND   vm_and
 
#define VM_ANDNOT   vm_andnot
 
#define VM_OR   vm_or
 
#define VM_XOR   vm_xor
 
#define VM_ALLBITS   vm_allbits
 
#define VM_SHUFFLE   vm_shuffle
 
#define VM_P_FLOOR()
 
#define VM_FLOOR   vm_floor
 
#define VM_E_FLOOR()
 
#define VM_INT   vm_intcast
 
#define VM_IFLOAT   vm_floatcast
 
#define VM_SIN   vm_sin
 
#define VM_COS   vm_cos
 
#define VM_TAN   vm_tan
 
#define VM_SINCOS   vm_sincos
 
#define VM_SHIFTLEFT(A, C)   vm_shiftleft(A,C)
 
#define VM_SHIFTRIGHT(A, C)   vm_shiftright(A,C)
 

Macro Definition Documentation

#define V4SF (   A)    (v4sf)A

Definition at line 68 of file VM_BasicFunc.h.

#define V4SI (   A)    (v4si)A

Definition at line 69 of file VM_BasicFunc.h.

#define VM_ABS   vm_abs

Definition at line 425 of file VM_BasicFunc.h.

#define VM_ADD   vm_add

Definition at line 416 of file VM_BasicFunc.h.

#define VM_ALLBITS   vm_allbits

Definition at line 438 of file VM_BasicFunc.h.

#define VM_AND   vm_and

Definition at line 433 of file VM_BasicFunc.h.

#define VM_ANDNOT   vm_andnot

Definition at line 434 of file VM_BasicFunc.h.

#define vm_BASIC_CF (   OP)
Value:
r.i[0] = a.f[0] OP b.f[0] ? 0xFFFFFFFF : 0; \
r.i[1] = a.f[1] OP b.f[1] ? 0xFFFFFFFF : 0; \
r.i[2] = a.f[2] OP b.f[2] ? 0xFFFFFFFF : 0; \
r.i[3] = a.f[3] OP b.f[3] ? 0xFFFFFFFF : 0; \
return r;
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1222
GLboolean r
Definition: glcorearb.h:1222

Definition at line 79 of file VM_BasicFunc.h.

#define vm_BASIC_CI (   OP)
Value:
r.i[0] = a.i[0] OP b.i[0] ? 0xFFFFFFFF : 0; \
r.i[1] = a.i[1] OP b.i[1] ? 0xFFFFFFFF : 0; \
r.i[2] = a.i[2] OP b.i[2] ? 0xFFFFFFFF : 0; \
r.i[3] = a.i[3] OP b.i[3] ? 0xFFFFFFFF : 0; \
return r;
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1222
GLboolean r
Definition: glcorearb.h:1222

Definition at line 87 of file VM_BasicFunc.h.

#define vm_BASIC_FFF (   OP)
Value:
r.f[0] = a.f[0] OP b.f[0]; \
r.f[1] = a.f[1] OP b.f[1]; \
r.f[2] = a.f[2] OP b.f[2]; \
r.f[3] = a.f[3] OP b.f[3]; \
return r;
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1222
GLboolean r
Definition: glcorearb.h:1222

Definition at line 103 of file VM_BasicFunc.h.

#define vm_BASIC_FFFF (   OP1,
  OP2 
)
Value:
r.f[0] = a.f[0] OP1 b.f[0] OP2 c.f[0]; \
r.f[1] = a.f[1] OP1 b.f[1] OP2 c.f[1]; \
r.f[2] = a.f[2] OP1 b.f[2] OP2 c.f[2]; \
r.f[3] = a.f[3] OP1 b.f[3] OP2 c.f[3]; \
return r;
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1222
GLboolean r
Definition: glcorearb.h:1222

Definition at line 111 of file VM_BasicFunc.h.

#define vm_BASIC_IFF (   OP)
Value:
r.i[0] = a.f[0] OP b.f[0]; \
r.i[1] = a.f[1] OP b.f[1]; \
r.i[2] = a.f[2] OP b.f[2]; \
r.i[3] = a.f[3] OP b.f[3]; \
return r;
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1222
GLboolean r
Definition: glcorearb.h:1222

Definition at line 71 of file VM_BasicFunc.h.

#define vm_BASIC_III (   OP)
Value:
r.i[0] = a.i[0] OP b.i[0]; \
r.i[1] = a.i[1] OP b.i[1]; \
r.i[2] = a.i[2] OP b.i[2]; \
r.i[3] = a.i[3] OP b.i[3]; \
return r;
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1222
GLboolean r
Definition: glcorearb.h:1222

Definition at line 95 of file VM_BasicFunc.h.

#define vm_BASIC_UFuncF (   FUNC)
Value:
r.f[0] = FUNC(a.f[0]); \
r.f[1] = FUNC(a.f[1]); \
r.f[2] = FUNC(a.f[2]); \
r.f[3] = FUNC(a.f[3]); \
return r;
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
GLboolean r
Definition: glcorearb.h:1222

Definition at line 119 of file VM_BasicFunc.h.

#define vm_BASIC_UFuncFF (   FUNC)
Value:
r.f[0] = FUNC(a.f[0], b.f[0]); \
r.f[1] = FUNC(a.f[1], b.f[1]); \
r.f[2] = FUNC(a.f[2], b.f[2]); \
r.f[3] = FUNC(a.f[3], b.f[3]); \
return r;
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
GLboolean GLboolean GLboolean b
Definition: glcorearb.h:1222
GLboolean r
Definition: glcorearb.h:1222

Definition at line 127 of file VM_BasicFunc.h.

#define VM_CMPEQ   vm_ceq

Definition at line 405 of file VM_BasicFunc.h.

#define VM_CMPGE   vm_cge

Definition at line 404 of file VM_BasicFunc.h.

#define VM_CMPGT   vm_cgt

Definition at line 403 of file VM_BasicFunc.h.

#define VM_CMPLE   vm_cle

Definition at line 402 of file VM_BasicFunc.h.

#define VM_CMPLT   vm_clt

Definition at line 401 of file VM_BasicFunc.h.

#define VM_CMPNE   vm_cne

Definition at line 406 of file VM_BasicFunc.h.

#define VM_COS   vm_cos

Definition at line 451 of file VM_BasicFunc.h.

#define VM_DIV   vm_div

Definition at line 419 of file VM_BasicFunc.h.

#define VM_E_FLOOR ( )

Definition at line 444 of file VM_BasicFunc.h.

#define VM_EXTRACT   vm_extract

Definition at line 395 of file VM_BasicFunc.h.

#define VM_FDIV   vm_div

Definition at line 420 of file VM_BasicFunc.h.

#define VM_FLOOR   vm_floor

Definition at line 443 of file VM_BasicFunc.h.

#define VM_FSQRT   vm_sqrt

Definition at line 423 of file VM_BasicFunc.h.

#define VM_IADD   vm_add

Definition at line 412 of file VM_BasicFunc.h.

#define VM_ICMPEQ   vm_ceq

Definition at line 410 of file VM_BasicFunc.h.

#define VM_ICMPGT   vm_cgt

Definition at line 409 of file VM_BasicFunc.h.

#define VM_ICMPLT   vm_clt

Definition at line 408 of file VM_BasicFunc.h.

#define VM_IFLOAT   vm_floatcast

Definition at line 448 of file VM_BasicFunc.h.

#define VM_IMUL   vm_mul

Definition at line 414 of file VM_BasicFunc.h.

#define VM_INSERT   vm_insert

Definition at line 396 of file VM_BasicFunc.h.

#define VM_INT   vm_intcast

Definition at line 446 of file VM_BasicFunc.h.

#define VM_INVERT   vm_reciprocal

Definition at line 428 of file VM_BasicFunc.h.

#define VM_ISQRT   vm_isqrt

Definition at line 424 of file VM_BasicFunc.h.

#define VM_ISUB   vm_sub

Definition at line 413 of file VM_BasicFunc.h.

#define VM_LOAD   vm_load

Definition at line 398 of file VM_BasicFunc.h.

#define VM_MADD   vm_madd

Definition at line 427 of file VM_BasicFunc.h.

#define VM_MAX   vm_max

Definition at line 431 of file VM_BasicFunc.h.

#define VM_MIN   vm_min

Definition at line 430 of file VM_BasicFunc.h.

#define VM_MUL   vm_mul

Definition at line 418 of file VM_BasicFunc.h.

#define VM_NEG   vm_negate

Definition at line 421 of file VM_BasicFunc.h.

#define VM_OR   vm_or

Definition at line 435 of file VM_BasicFunc.h.

#define VM_P_FLOOR ( )

Definition at line 442 of file VM_BasicFunc.h.

#define VM_SHIFTLEFT (   A,
 
)    vm_shiftleft(A,C)

Definition at line 456 of file VM_BasicFunc.h.

#define VM_SHIFTRIGHT (   A,
 
)    vm_shiftright(A,C)

Definition at line 457 of file VM_BasicFunc.h.

#define VM_SHUFFLE   vm_shuffle

Definition at line 440 of file VM_BasicFunc.h.

#define VM_SIN   vm_sin

Definition at line 450 of file VM_BasicFunc.h.

#define VM_SINCOS   vm_sincos

Definition at line 453 of file VM_BasicFunc.h.

#define VM_SPLATS   vm_splats

Definition at line 397 of file VM_BasicFunc.h.

#define VM_SQRT   vm_sqrt

Definition at line 422 of file VM_BasicFunc.h.

#define VM_STORE   vm_store

Definition at line 399 of file VM_BasicFunc.h.

#define VM_SUB   vm_sub

Definition at line 417 of file VM_BasicFunc.h.

#define VM_TAN   vm_tan

Definition at line 452 of file VM_BasicFunc.h.

#define VM_XOR   vm_xor

Definition at line 436 of file VM_BasicFunc.h.

#define VMBASIC_DEFINE_UNARY (   FUN)
Value:
static inline v4sf vm_##FUN(const v4sf &a) \
{ \
return v4sf( \
SYS##FUN(a.f[0]), \
SYS##FUN(a.f[1]), \
SYS##FUN(a.f[2]), \
SYS##FUN(a.f[3])); \
}
GLboolean GLboolean GLboolean GLboolean a
Definition: glcorearb.h:1222
__m128 v4sf
Definition: VM_SSEFunc.h:33

Definition at line 350 of file VM_BasicFunc.h.