PPL Logo

libs/ck-libs/datatransfer/test_vol.C File Reference

Go to the source code of this file.

Typedefs

typedef double(* test_vol_fn )(const PointSet3d *ps, const Tet3d &A, const Tet3d &B)

Functions

double test_vol_mgc (const PointSet3d *ps, const Tet3d &A, const Tet3d &B)
double test_vol_planes (const PointSet3d *ps, const Tet3d &A, const Tet3d &B)
double test_vol_nop (const PointSet3d *ps, const Tet3d &A, const Tet3d &B)
double randFloat (void)
 Spit out a random floating point number, uniform on [0,1].
CkVector3d randPoint (void)
 Spit out a random 3-vector, uniform over the unit cube.
CkVector3d randPlane (void)
 Spit out a random 3-vector, uniform over a skew plane.
Tet3d randTet (int tetType, PointSet3d *ps)
void matchTest (int firstTest, int lastTest)
double timePer (test_vol_fn fn, int nTest, int degen)
 Return the time per intersection for nTest iterations of this volume function.
void timeTest (const char *desc, test_vol_fn fn, int nTest, int degen)
int main (int argc, char *argv[])

Variables

const int tetTypes = 6


Typedef Documentation

typedef double(* test_vol_fn)(const PointSet3d *ps, const Tet3d &A, const Tet3d &B)

Definition at line 17 of file test_vol.C.


Function Documentation

double test_vol_mgc ( const PointSet3d ps,
const Tet3d A,
const Tet3d B 
)

Definition at line 11 of file test_vol_mgc.C.

References Mgc::FindIntersection(), cg3d::PointSet3d::getPoint(), cg3d::Shape3d::getPointIndex(), CkVector3dT< real >::x, CkVector3dT< real >::y, and CkVector3dT< real >::z.

Referenced by main(), and matchTest().

Here is the call graph for this function:

Here is the caller graph for this function:

double test_vol_planes ( const PointSet3d ps,
const Tet3d A,
const Tet3d B 
)

Definition at line 13 of file test_vol_planes.C.

References computeVolumePlanes(), CkHalfspace3d::d, cg3d::Shape3d::getHalfspace(), and CkHalfspace3d::n.

Referenced by main(), and matchTest().

Here is the call graph for this function:

Here is the caller graph for this function:

double test_vol_nop ( const PointSet3d ps,
const Tet3d A,
const Tet3d B 
)

Definition at line 13 of file test_vol.C.

Referenced by timeTest().

Here is the caller graph for this function:

double randFloat ( void   ) 

Spit out a random floating point number, uniform on [0,1].

Definition at line 21 of file test_vol.C.

References float.

CkVector3d randPoint ( void   ) 

Spit out a random 3-vector, uniform over the unit cube.

Definition at line 26 of file test_vol.C.

References randFloat().

Here is the call graph for this function:

CkVector3d randPlane ( void   ) 

Spit out a random 3-vector, uniform over a skew plane.

This ensures a large number of degeneracies.

Definition at line 32 of file test_vol.C.

References randFloat().

Here is the call graph for this function:

Tet3d randTet ( int  tetType,
PointSet3d ps 
) [inline]

Definition at line 48 of file test_vol.C.

References C, randPlane(), randPoint(), PUP::t, cg3d::testShape(), and tetVolume().

Here is the call graph for this function:

void matchTest ( int  firstTest,
int  lastTest 
)

Definition at line 75 of file test_vol.C.

References CmiAbort(), int, randFloat(), randTet(), test_vol_mgc(), test_vol_planes(), and tetTypes.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

double timePer ( test_vol_fn  fn,
int  nTest,
int  degen 
)

Return the time per intersection for nTest iterations of this volume function.

Definition at line 107 of file test_vol.C.

References int, randFloat(), and randTet().

Referenced by timeTest().

Here is the call graph for this function:

Here is the caller graph for this function:

void timeTest ( const char *  desc,
test_vol_fn  fn,
int  nTest,
int  degen 
)

Definition at line 124 of file test_vol.C.

References test_vol_nop(), and timePer().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

int main ( int  argc,
char *  argv[] 
)

Definition at line 130 of file test_vol.C.

References matchTest(), test_vol_mgc(), test_vol_planes(), and timeTest().

Here is the call graph for this function:


Variable Documentation

const int tetTypes = 6

Definition at line 45 of file test_vol.C.


Generated on Mon Sep 21 08:07:02 2020 for Charm++ by  doxygen 1.5.5