VM_Math Class Reference

#include <VM_Math.h>

List of all members.

Public Member Functions

 VM_DECL_vIvIvI (bor, d[n]=a[n]|b[n]) VM_DECL_vIvIuI(bor
 Bitwise operations.
 VM_DECL_WP (uint8, wpoint,::wpoint< uint8 >(d[n], a[n], b, c, e+0.5F))
 VM_DECL_WP (uint16, wpoint,::wpoint< uint16 >(d[n], a[n], b, c, e+0.5F))
 VM_DECL_IWP (fpreal32, iwpoint,::iwpoint< fpreal32 >(d[n], a[n], 1.0F/b, e))
 VM_Math::iwpoint(d,a,b,e) := d[i] = (fpreal32)(a[i]-e)/b;.
 VM_DECL_IWP (uint8, iwpoint,::iwpoint< uint8 >(d[n], a[n], 1.0F/b, e))
 VM_DECL_IWP (uint16, iwpoint,::iwpoint< uint16 >(d[n], a[n], 1.0F/b, e))
 VM_DECL_vFuF (set, d[n]=a) VM_SIV set(fpreal32 *d
 VM_Math::set(d, a) := d[i] = a.
VM_SIV set (int32 *d, const int32 *a, int num)
VM_SIV set (fpreal32 *d, const fpreal32 *a, int num, const uint32 *disabled)
 VM_Math::set(d, a, disabled) := d[i] = disabled[i] ? d[i] : a[i].
VM_SIV set (int32 *d, const int32 *a, int num, const uint32 *disabled)
 VM_SIMDFUNC (static void setSIMD(int32 *d, const int32 *a, int num, const uint32 *disabled)) VM_SIV set(fpreal32 *d

Static Public Member Functions

static bool isSIMD ()
static void mulRowVec34 (fpreal32 *v3, const fpreal32 m1[4][4], int nv, const uint32 *enable_flags=0)
static void mulColVec44 (fpreal32 *v4, const fpreal32 m1[4][4], int nv, const uint32 *enable_flags=0)
static void mulColVec34 (fpreal32 *v3, const fpreal32 m1[4][4], int nv, const uint32 *enable_flags=0)
static void mulRowVec44_3 (fpreal32 *v4, const fpreal32 m1[4][4], int nv, const uint32 *enable_flags=0)
 Multiplication, but treating the matrix as a 3x3 (i.e. no translate).
static void mulRowVec34_3 (fpreal32 *v3, const fpreal32 m1[4][4], int nv, const uint32 *enable_flags=0)
static void mulColVec44_3 (fpreal32 *v4, const fpreal32 m1[4][4], int nv, const uint32 *enable_flags=0)
static void mulColVec34_3 (fpreal32 *v3, const fpreal32 m1[4][4], int nv, const uint32 *enable_flags=0)
static void vadd4u4 (fpreal32 *v4, const fpreal32 a[4], int nv, const uint32 *enable_flags=0)
static void vsub4u4 (fpreal32 *v4, const fpreal32 a[4], int nv, const uint32 *enable_flags=0)
static void vmul4u4 (fpreal32 *v4, const fpreal32 a[4], int nv, const uint32 *enable_flags=0)
static void forceSIMD (bool onoff)
static void setSPUMath (VM_SPUMath *math)
static VM_SPUMathgetSPUMath ()

Public Attributes

 d [n]
const fpreal32a
fpreal32 a
fpreal32 int num


Detailed Description

Definition at line 193 of file VM_Math.h.


Member Function Documentation

static void VM_Math::forceSIMD ( bool  onoff  )  [inline, static]

Definition at line 489 of file VM_Math.h.

static VM_SPUMath* VM_Math::getSPUMath (  )  [inline, static]

Definition at line 491 of file VM_Math.h.

static bool VM_Math::isSIMD (  )  [inline, static]

Definition at line 195 of file VM_Math.h.

static void VM_Math::mulColVec34 ( fpreal32 v3,
const fpreal32  m1[4][4],
int  nv,
const uint32 enable_flags = 0 
) [static]

static void VM_Math::mulColVec34_3 ( fpreal32 v3,
const fpreal32  m1[4][4],
int  nv,
const uint32 enable_flags = 0 
) [static]

static void VM_Math::mulColVec44 ( fpreal32 v4,
const fpreal32  m1[4][4],
int  nv,
const uint32 enable_flags = 0 
) [static]

static void VM_Math::mulColVec44_3 ( fpreal32 v4,
const fpreal32  m1[4][4],
int  nv,
const uint32 enable_flags = 0 
) [static]

static void VM_Math::mulRowVec34 ( fpreal32 v3,
const fpreal32  m1[4][4],
int  nv,
const uint32 enable_flags = 0 
) [static]

Type Constraints

static void VM_Math::mulRowVec34_3 ( fpreal32 v3,
const fpreal32  m1[4][4],
int  nv,
const uint32 enable_flags = 0 
) [static]

static void VM_Math::mulRowVec44_3 ( fpreal32 v4,
const fpreal32  m1[4][4],
int  nv,
const uint32 enable_flags = 0 
) [static]

Multiplication, but treating the matrix as a 3x3 (i.e. no translate).

VM_SIV VM_Math::set ( int32 d,
const int32 a,
int  num,
const uint32 disabled 
) [inline]

Definition at line 368 of file VM_Math.h.

VM_SIV VM_Math::set ( fpreal32 d,
const fpreal32 a,
int  num,
const uint32 disabled 
) [inline]

VM_Math::set(d, a, disabled) := d[i] = disabled[i] ? d[i] : a[i].

Definition at line 365 of file VM_Math.h.

VM_SIV VM_Math::set ( int32 d,
const int32 a,
int  num 
) [inline]

Definition at line 361 of file VM_Math.h.

static void VM_Math::setSPUMath ( VM_SPUMath math  )  [inline, static]

Definition at line 490 of file VM_Math.h.

static void VM_Math::vadd4u4 ( fpreal32 v4,
const fpreal32  a[4],
int  nv,
const uint32 enable_flags = 0 
) [static]

VM_Math::VM_DECL_IWP ( uint16  ,
iwpoint  ,
::iwpoint< uint16 d[n], a[n], 1.0F/b, e 
)

VM_Math::VM_DECL_IWP ( uint8  ,
iwpoint  ,
::iwpoint< uint8 d[n], a[n], 1.0F/b, e 
)

VM_Math::VM_DECL_IWP ( fpreal32  ,
iwpoint  ,
::iwpoint< fpreal32 d[n], a[n], 1.0F/b, e 
)

VM_Math::iwpoint(d,a,b,e) := d[i] = (fpreal32)(a[i]-e)/b;.

VM_Math::VM_DECL_vFuF ( set  ,
d  [n] = a 
)

VM_Math::set(d, a) := d[i] = a.

VM_Math::VM_DECL_vIvIvI ( bor  ,
d  [n] = a[n] | b[n] 
)

Bitwise operations.

The fast operations assume that any non-zero return value is interpreted as true. Standard operations always set the result to either 0 or 1.

VM_Math::lt(d, a, b) := d[i] = a[i] < b[i] VM_Math::lt(d, a, b) := d[i] = a[i] < b VM_Math::fastlt(d, a, b) := d[i] = a[i] < b[i] VM_Math::fastlt(d, a, b) := d[i] = a[i] < b

VM_Math::VM_DECL_WP ( uint16  ,
wpoint  ,
::wpoint< uint16 d[n], a[n], b, c, e+0.5F 
)

VM_Math::VM_DECL_WP ( uint8  ,
wpoint  ,
::wpoint< uint8 d[n], a[n], b, c, e+0.5F 
)

VM_Math::VM_SIMDFUNC ( static void   setSIMDint32 *d, const int32 *a, int num, const uint32 *disabled  ) 

static void VM_Math::vmul4u4 ( fpreal32 v4,
const fpreal32  a[4],
int  nv,
const uint32 enable_flags = 0 
) [static]

static void VM_Math::vsub4u4 ( fpreal32 v4,
const fpreal32  a[4],
int  nv,
const uint32 enable_flags = 0 
) [static]


Member Data Documentation

Definition at line 381 of file VM_Math.h.

Definition at line 357 of file VM_Math.h.

Definition at line 214 of file VM_Math.h.

Definition at line 381 of file VM_Math.h.


The documentation for this class was generated from the following file:

Generated on Fri May 25 00:10:56 2012 for HDK by  doxygen 1.5.9